it-swarm.asia

Apa yang sebenarnya terjadi ketika Anda menjelajahi situs web di browser Anda?

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.

62
Rachel

Browser: "Ok, 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. Ada juga tidak ada protokol atau port yang ditetapkan, jadi saya akan menganggapnya 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, saya akan bertanya ke server ISP. Ok, sepertinya 157.166.226.25."

Peramban: "Oke. Internet Protocol Suite, giliran Anda! Hubungi 157.166.226.25, tolong. Kirimkan mereka tajuk HTTP ini. Ia meminta struktur dasar dan isi halaman utama mereka sehingga saya tahu apa lagi ambil ... oh well, kurasa kau tidak peduli soal ini. "

TCP/IP: "Apa maksudmu giliranku ? Seperti aku tidak hanya mengerjakan punggungku di sana untuk DNS? Ya Tuhan, apa yang diperlukan untuk mendapatkan sedikit apresiasi di sini ... "

Browser: ...

TCP/IP: "Ya, ya ... Menghubungkan ... Saya hanya akan meminta gateway untuk meneruskannya. Anda tahu, itu tidak semua mudah, saya harus membagi permintaan Anda yang cantik di sana menjadi beberapa bagian sehingga mencapai akhir, dan mengumpulkan barang apa pun yang mereka kirim kembali dari ribuan paket yang saya dapatkan ... ah, benar, Anda tidak peduli. Angka. "

Sementara itu, di markas 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?"

CNN Database Server: "Yey! Kerjakan 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 itu, saya akan mengirimkannya ke pelanggan juga, jadi kita tahu kepada siapa kita bicara nanti. "

CNN Database Server: "Yey!"

Kembali ke komputer pengguna ...

TCP/IP: "Ooookay, inilah jawabannya. Oh nak, kenapa aku merasa 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 dirender. Lebih baik sampai ke 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 kemudian 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 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, kedengarannya menyenangkan ..."

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 atas ... bagaimana mungkin bumi yang cocok lagi ... tidak, saya harus meregangkan ini sedikit untuk membuatnya ... Oh, tapi file CSS lain menimpa aturan itu ... Yah, ini tidak akan menjadi bagian yang mudah untuk render, 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 memerlukan beberapa detik, ada 140 elemen yang berbeda untuk dimuat, dan mencapai 16 sejauh ini."

Satu atau dua detik kemudian ...

TCP/IP: "Ok, itu saja. Hei, dengarkan ... maaf saya membentak Anda sebelumnya, Anda mengelola di sana? Ini sepertinya cukup berat untuk Anda juga."

Browser: "Fiuh, yeah, ini semua situs web ini sekarang, mereka pasti tidak membuatnya mudah untuk 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 DNS!"

Browser: "Hai pengguna! Situs web sudah siap - dapatkan berita Anda!"

131
Ilari Kajaste

Bagaimana web bekerja: HTTP dan CGI menjelaskan

Juga penjelasan yang bagus dari CERN - almamater Web: Bagaimana web bekerja

enter image description here

20
user12925
  • Browser membagi apa yang Anda ketikkan (URL) menjadi nama host dan jalur.
  • Browser membentuk permintaan HTTP untuk meminta data di nama host dan jalur yang diberikan.
  • Browser melakukan pencarian DNS untuk menyelesaikan nama host menjadi alamat IP.
  • Browser membentuk koneksi TCP/IP ke komputer yang ditentukan melalui alamat IP. (Koneksi ini sebenarnya terbentuk dari banyak komputer, masing-masing meneruskan data ke yang berikutnya.)
  • Browser mengirimkan permintaan HTTP ke koneksi ke alamat IP yang diberikan.
  • Komputer itu menerima permintaan HTTP dari koneksi TCP/IP dan meneruskannya ke program server web.
  • Server web membaca nama host dan jalur dan menemukan atau menghasilkan data yang Anda minta.
  • Server web menghasilkan respons HTTP yang berisi data itu.
  • Server web mengirimkan respons HTTP itu kembali ke koneksi TCP/IP ke mesin Anda.
  • Browser menerima respons HTTP dan membaginya menjadi header (menggambarkan data) dan tubuh (data itu sendiri).
  • Browser mengartikan data untuk memutuskan bagaimana menampilkannya di browser - biasanya ini adalah data HTML yang menentukan jenis informasi dan bentuk umumnya.
  • Beberapa data akan berupa metadata yang menentukan sumber daya lebih lanjut yang perlu dimuat, seperti style sheet untuk tata letak terperinci, atau gambar sebaris, atau film Flash. Metadata ini ditentukan kembali sebagai URL, dan seluruh proses ini berulang untuk masing-masing sampai semua dimuat.
18
Kylotan

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 konten dokumen HTML dan tajuk yang sesuai (yang memberi tahu peramban tentang jenis konten, HTML, dan informasi lainnya pada 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 tanggapan 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.

12
wahnfrieden

Hilang sejauh ini dari jawaban lain adalah apa yang terjadi di sisi CNN:

  • Mesin di CNN menerima pesan dari komputer Anda yang meminta halaman tersebut.
  • Itu mengalihkan permintaan ini ke salah satu dari banyak komputer yang digunakan CNN untuk situs web-nya (alasannya adalah bahwa, dengan cara ini, Anda dapat menyebarkan pekerjaan menyusun halaman web tanggapan melalui banyak komputer)
  • Komputer CNN menerima permintaan Anda dan merespons dengan laman web yang mungkin hampir seluruhnya dikomputasi, tetapi mungkin itu akan mengubah beberapa hal sebelum mengirimkannya kepada Anda (bisa berupa iklan di bagian atas, mungkin berita utama). Terkadang komputer merakit halaman dari banyak komponen kecil setiap kali mereka menerima permintaan; tidak yakin apa yang CNN lakukan
  • respons berjalan melalui jaringan ke komputer Anda, yang kemudian menampilkannya.
  • respons tidak termasuk gambar: komputer Anda kemudian mengirim permintaan lain untuk gambar, dan cukup banyak skenario yang sama terjadi.
8
redtuna

Ini jelas bukan penjelasan teknis, tetapi ini adalah bantuan visual yang lucu (dari yang sangat bagus Vladstudio.com ) yang mungkin bermanfaat bagi beberapa orang:

How Internet Works

6
grautur

Info yang Anda tanyakan bisa 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 akan ditampilkan di layar.

1
AyexeM

Jeff Moser memiliki analisis teknis yang sangat baik dari permintaan HTTPS di blognya: Beberapa Milidetik Pertama dari Koneksi HTTPS .

1
Igal Tabachnik

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.

1
sleske