Apa yang terjadi di balik layar ketika kita mengetik www.cnn.com di browser dan bagaimana informasi ditampilkan di layar?
Penjelasan teknis akan sangat dihargai.
Apa yang terjadi di balik layar ketika kita mengetik www.cnn.com di browser dan bagaimana informasi ditampilkan di layar?
Penjelasan teknis akan sangat dihargai.
Jawaban:
Browser: "Oke, jadi, saya punya pengguna yang meminta alamat ini: www.cnn.com. Saya pikir karena tidak ada garis miring atau apa pun, ini adalah permintaan langsung dari halaman utama. Juga tidak ada protokol atau port yang ditentukan, jadi saya akan menganggap itu HTTP dan pergi ke port 80 ... oh well, hal pertama yang pertama. Hei DNS, sobat, bangun! Di mana www.cnn.com ini bersembunyi? "
DNS: "Benar ... tunggu sebentar, aku akan bertanya ke server ISP. Ok, sepertinya 157.166.226.25."
Browser: "Ok. Internet Protocol Suite, giliran Anda! Panggil 157.166.226.25, tolong. Kirimkan header HTTP ini. Mereka meminta struktur dasar dan konten halaman utama mereka jadi saya tahu apa lagi yang harus diambil ... oh well, bukan karena kamu akan peduli tentang ini kurasa. "
TCP / IP: "Apa maksudmu giliranku ? Seolah-olah aku tidak hanya mengerjakan punggungku di sana untuk DNS? Ya Tuhan, apa yang diperlukan untuk mendapat sedikit apresiasi di sini ..."
Browser: ...
TCP / IP: "Ya, ya ... Menghubungkan ... Saya hanya akan meminta gateway untuk meneruskannya. Anda tahu, itu tidak mudah, saya harus membagi permintaan cantik Anda di sana menjadi beberapa bagian jadi itu mencapai akhir, dan mengumpulkan semua barang yang mereka kirim kembali dari ribuan paket yang saya dapatkan ... ah, benar, Anda tidak peduli. Angka. "
Sementara itu, di kantor pusat CNN, sebuah pesan akhirnya berakhir di pintu Server Web.
CNN Web Server: "Nzhôô! Pelanggan! Dia ingin berita! Halaman Depan! Bagaimana?"
CNN Server Side Script Engine: "Benar, akan lakukan! Halaman depan, kan?"
Server Database CNN: "Ya! Bekerja untuk saya! Konten apa yang Anda butuhkan?"
CNN Server Side Script Engine: "... um, maaf DB, saya punya salinan halaman depan di sini di cache saya, tidak perlu mengkompilasi apa pun. Tapi hei, ambil ID pengguna ini dan simpan, saya akan mengirimkannya kepada pelanggan juga, jadi kami tahu kepada siapa kami bicara nanti. "
Server Database CNN: "Yey!"
Kembali ke komputer pengguna ...
TCP / IP: "Ooookay, inilah jawabannya. Oh nak, mengapa aku punya perasaan ini akan menjadi besar ..."
Browser: "Eh, wow ... ini memiliki semua jenis kode javascript ... banyak gambar, beberapa bentuk ... Benar, ini akan memakan waktu cukup lama untuk diterjemahkan. Lebih baik sampai di sana. Hei, sistem IP, ada banyak hal lagi yang perlu Anda dapatkan. Mari kita lihat saya perlu beberapa stylesheet dari i.cdn.turner.com - via HTTP dan minta file /cnn/.element/css/2.0/common.css. Dan lalu dapatkan beberapa skrip itu di i.cdn.turner.com juga, saya menghitung enam sejauh ini ... "
TCP / IP: "Saya mendapatkan gambarnya. Beri saya alamat server dan semua itu. Dan bungkus barang-barang itu di dalam permintaan HTTP, saya tidak mau berurusan dengan itu."
DNS: "Memeriksa i.cdn.turner.com ... hei, sedikit hal sepele, sebenarnya disebut cdn.cnn.com.c.footprint.net. IP adalah 4.23.41.126"
Browser: "Tentu, tentu ... tunggu sebentar, ini akan membutuhkan beberapa nsec untuk diproses, saya mencoba memahami semua skrip ini ..."
TCP / IP: "Hei, ini CSS yang Anda minta. Oh, dan ... ya, skrip tambahan itu juga baru saja kembali."
Browser: "Wah, masih ada lagi ... semacam iklan video!"
TCP / IP: "Ya ampun, menyenangkan sekali kedengarannya seperti ..."
Browser: "Ada segala macam gambar juga! Dan CSS ini terlihat agak jahat ... benar, jadi jika bagian itu ada di sana, dan memiliki baris ini di bagian atas ... bagaimana bisa cocok lagi ... tidak , Saya harus merentangkan ini sedikit untuk membuatnya ... Oh, tapi file CSS lain menimpa aturan itu ... Yah, ini tidak akan mudah untuk dirender, itu pasti! "
TCP / IP: "Ok, ok, berhenti mengganggu saya sebentar, masih banyak yang harus dilakukan di sini."
Browser: "Pengguna, ini laporan perkembangan kecil untuk Anda. Maaf, ini mungkin perlu beberapa detik, ada 140 elemen yang berbeda untuk dimuat, dan mencapai 16 sejauh ini."
Satu atau dua detik kemudian ...
TCP / IP: "Baiklah, itu saja. Hei, dengarkan ... maaf saya membentak Anda sebelumnya, Anda mengelola di sana? Ini sepertinya cukup berat untuk Anda juga."
Browser: "Fiuh, ya, ini semua situs web ini sekarang, mereka tentu tidak membuatnya mudah bagi Anda. Yah, saya akan mengaturnya. Untuk itulah saya di sini."
TCP / IP: "Saya kira ini cukup berat bagi kita semua hari ini ... oh, berhentilah bersenang-senang di sana!"
Browser: "Hai pengguna! Situs web siap - dapatkan berita Anda!"
Cara kerja web: HTTP dan CGI dijelaskan
Juga penjelasan yang bagus dari CERN - almamater Web: Bagaimana web bekerja
Langkah pertama adalah pencarian DNS (Domain Name Server). Ia menggunakan server DNS yang ditentukan dalam pengaturan jaringan Anda (atau diberikan kepada Anda oleh DHCP) untuk mencari domain teratas (cnn.com) dan kemudian meminta server nama domain itu untuk alamat IP dari subdomain yang ditentukan (www.cnn.com).
Setelah memiliki alamat IP, browser Anda memulai komunikasi dengan server web. Ini dilakukan dengan menggunakan protokol yang ditentukan (yang biasanya default ke HTTP 1.1). Permintaan 'GET' untuk '/' dibuat ke server, yang merespons dengan isi dokumen HTML dan tajuk yang sesuai (yang memberi tahu peramban tentang jenis konten, HTML, dan informasi lainnya dari dokumen). Kemudian browser mem-parsing dokumen dan menemukan URL apa pun yang perlu disematkan di halaman (seperti gambar atau stylesheet yang ditautkan) dan melakukan GET permintaan pada masing-masing.
Browser juga biasanya secara otomatis membuat permintaan GET untuk '/favicon.ico' (untuk menampilkan ikon CNN kecil di sebelah judul situs).
Peramban Anda juga kemungkinan akan menentukan dalam tajuk permintaannya bahwa ia ingin konten respons dikompres, menggunakan algoritma gzip. Ini membuat pengunduhan file jauh lebih kecil, jika server mendukungnya. Ini semua transparan bagi Anda, meskipun itu seperti mengunduh file ZIP dan membuka ritsletingnya.
Ketika Anda memuat ulang halaman, browser Anda memeriksa apakah halaman itu sudah di-cache di sistem Anda, dan jika demikian, ia melakukan permintaan HTTP hanya untuk header dokumen, dan memeriksa tanggal yang dimodifikasi. Jika tanggal ini lebih lambat dari salinan yang di-cache, ia meminta isi dokumen lengkap lagi dan menyegarkan halaman. Kalau tidak, itu hanya menggunakan salinan lokal Anda.
Hilang sejauh ini dari jawaban lain adalah apa yang terjadi di sisi CNN:
Ini jelas bukan penjelasan teknis, tetapi ini adalah bantuan visual yang lucu (dari Vladstudio.com yang sangat baik ) yang mungkin bermanfaat bagi beberapa orang:
Info yang baru saja Anda tanyakan dapat mengisi beberapa lusin buku. Tetapi ini adalah usaha saya untuk menjelaskannya: Browser Anda memberi tahu OS Anda untuk menemukan alamat IP cnn.com. Kemudian OS Anda meminta server DNS untuk alamat IP untuk cnn.com. IP dikirim ke broswer yang menghubungi alamat IP dan meminta halaman. cnn.com kemudian mengirimkan Anda dan halaman html. Browser mem-parsing html dan mengirimkan informasi ke renderer HTML. Browser kemudian memberi tahu OS apa yang harus ditampilkan di layar.
Jeff Moser memiliki analisis teknis yang sangat baik tentang permintaan HTTPS di blog-nya: Beberapa Milidetik Pertama dari Koneksi HTTPS .
Ada video yang sangat keren oleh "Sendung mit der Maus" (acara TV anak-anak Jerman yang sangat populer yang menjelaskan teknologi untuk anak-anak):
Die Sendung mit der Maus - Wie funktioniert das Internet (Bagaimana Internet bekerja).
Hanya dalam bahasa Jerman, sayangnya, tetapi lucu bahkan tanpa teks. Pria dengan helm lucu memainkan paket IP, dan datanya tertulis di kartu kertas. Klasik :-).
BTW, penjelasannya sebenarnya cukup bagus.