Pertanyaan Bagaimana url tahu server mana yang perlu dihubungi?


Saya bertanya-tanya apa yang terjadi ketika kita mengetik url seperti http://www.mydomain.com ? Bagaimana cara mengetahui ke mana harus pergi untuk mendapatkan halaman dari mydomain.com? Bagaimana semua ini bisa terjadi?


4
2018-01-06 05:14


asal


Mengapa downovtes? Itu a sangat pertanyaan dasar tetapi saya tidak melihat ada yang salah dengan itu. - kce
Saya tidak membolak-balikkannya, tetapi tidak jelas berapa banyak detail yang diinginkan OP (dan apakah mereka tahu bahwa ini adalah pertanyaan terbuka yang sangat luas). Apakah hanya ingin penjelasan tentang DNS? Rute? TCP?


Jawaban:


URL hanyalah sebuah alamat, referensi. Jadi di sini adalah bagaimana hal itu terjadi:

  1. pengguna memasukkan URL di browser. Ini ditangani oleh driver keyboard yang akan mengirim peristiwa keyboard ke browser, yang akan merespons dengan memperbarui bilah alamat dengan karakter yang diketik
  2. peramban menguraikan URL di berbagai bagian seperti yang didefinisikan oleh RFC 3986
  3. browser memilih bagian host dan itu akan menggunakan pustaka penyelesai internal untuk menemukan alamat IP. Penyelesai yang paling sering digunakan adalah DNS. Untuk ini pustaka penyelesai yang dipetakan di dalam aplikasi akan membuat permintaan UDP pada port 53 pada server DNS yang dikonfigurasi untuk mesin klien. Server DNS akan mencari permintaan di cache internal dan jika sudah kadaluwarsa atau hilang, akan membuat permintaan rekursif yang mencoba mencari alamat.
  4. browser terhubung ke server HTTP pada port default (TCP / 80).
  5. browser mengirim permintaan GET dan menentukan juga header HOST sesuai dengan tampilan HTTP / 1.1 RFC 2616
  6. server http akan mem-parsing permintaan dan mengirimkan permintaan ke virtual host yang ditentukan dalam permintaan
  7. aplikasi mengembalikan konten yang dihasilkan (biasanya a HTML) ke browser
  8. browser menguraikan hasilnya, menghasilkan beberapa JavaScript/Peristiwa DOM, dan merender laman (mis. Tokek mesin di FireFox).

Ini adalah penjelasan yang sangat sangat kental. Saya tidak berbicara tentang SSL, kompresi, bahasa dan pengkodean karakter negosiasi, otentikasi, CGI, pipa-lapisan dan menjaga-alives.


9
2018-01-06 05:33



Apakah tidak ada peran DNS dan ISP di dalamnya? - OM The Eternity
DNS, biasanya, digunakan oleh perpustakaan resolver untuk gethostbyname () panggilan untuk menerjemahkan dari nama host ke alamat IP. - Mircea Vutcovici
ISP digunakan pada lapisan OSI di bawah TCP. - Mircea Vutcovici
Untuk memahami apa yang terjadi, gunakan sniffer jaringan seperti Wireshark dan proxy debug HTTP seperti Fiddler - Mircea Vutcovici
Saya menurunkan peringkat ini. Ini adalah jawaban yang mendetail, tetapi saya tidak berpikir ini jawaban atas apa yang sebenarnya diminta OP. Sepertinya OP setelah penjelasan tentang DNS dan Anda semacam melewatkan bahwa dalam langkah Anda 3.