Ada banyak lapisan untuk ini. Dan yang terpenting, banyak dari mereka dapat dipertukarkan.
Misalnya, Anda dapat memiliki jaringan kabel coax, ethernet, atau Wi-Fi di tingkat fisik. HTTP berfungsi di atas semua itu, tetapi masing-masing memiliki penanganan muatan yang sedikit berbeda.
HTTP berfungsi di atas protokol lain, yang disebut TCP, yang pada gilirannya lebih atau kurang berjalan di atas protokol lain, yang disebut IP (saat ini sebagian besar dalam dua varian - IPv4 dan IPv6).
Jadi server HTTP mendaftarkan alamat IP (seperti 184.38.45.1
, atau paling sering "apa saja"), bersama dengan port TCP ( 80
menjadi default untuk HTTP, tetapi secara umum apa saja dari 1
ke 65535
), dengan sistem operasi. Sekarang, server HTTP memberi tahu OS untuk melakukan ping ketika data (atau pesan lain) datang. OS tahu kapan itu terjadi, karena driver kartu antarmuka jaringan mengatakan itu. Dan driver NIC diceritakan oleh NIC sendiri, yang sebenarnya memiliki perangkat lunak sendiri untuk menginterpretasikan sinyal listrik pada kabel jaringan (atau sinyal nirkabel di udara dll., Anda mendapatkan ide).
Catatan :
Jika Anda ingin tahu lebih banyak tentang bagaimana NIC dapat memulai komunikasi dengan driver / OS, Anda mungkin ingin mencari info dasar tentang gangguan perangkat keras - pada dasarnya, apa pun yang sedang dilakukan CPU dihentikan, dan aliran program beralih ke interupsi handler routine - sepotong kode yang sangat sederhana yang menangani memberitahukan sistem, dan kemudian segera mengembalikan kontrol kembali ke hal asli yang dilakukan CPU. Bahkan, mungkin menjawab banyak pertanyaan tentang cara kerja bagian dalam OS dan komputer itu sendiri - seperti bagaimana sistem operasi dapat "mencuri" CPU dari menjalankan aplikasi dan mengocok sumber daya CPU antara berbagai aplikasi yang berjalan pada saat yang sama, bahkan jika mereka tidak bekerja.
Kembali ke bisnis:
Dalam analogi telepon manual Anda, bayangkan ponsel Anda tidak benar-benar berdering. Untuk mengetahui jika Anda melakukan upaya panggilan telepon, Anda harus melihat layar secara berkala dan memeriksa. Untuk membuatnya lebih mudah dikelola untuk server HTTP (karena sudah ada beberapa lapisan yang melakukan pemeriksaan berkala), Anda dapat benar-benar memblokir upaya pemeriksaan.
Jadi, alih-alih memeriksa, melihat tidak ada di sana dan memeriksa lagi, Anda pada dasarnya terus melihat layar sepanjang waktu. Namun, pada dasarnya Anda memiliki seluruh sistem terpisah untuk menangani ini (dalam kasus Anda, pusat pendengaran, yang memeriksa getaran udara untuk informasi yang berguna, cincin), sehingga sebenarnya tidak memerlukan perhatian Anda (waktu CPU).
Ini lebih ditingkatkan dengan teknik yang memungkinkan Anda untuk memonitor banyak koneksi sekaligus (IOCP). Ini semakin dekat dan dekat dengan sistem dering telepon - Anda memiliki ruangan dengan sepuluh ribu telepon, tetapi Anda hanya peduli dengan yang berdering saat ini, yang lain tidak memperhatikan Anda.