Bagaimana Pelayan Web Tahu jika Anda Menggunakan Akses Alamat IP Langsung Atau Tidak?
Biasanya, kami hanya menaip alamat laman web yang ingin kami lihat, tetapi adakah pelayan web sebenarnya "tahu" jika kami menggunakan alamat IP langsung? Siaran Q & A SuperUser hari ini mempunyai jawapan kepada soalan pembaca yang keliru.
Sesi Soalan & Jawapan hari ini datang kepada kami dengan ihsan SuperUser-bahagian pembahagian Stack Exchange, kumpulan yang diketuai oleh komuniti laman web Q & A.
Foto oleh Cory M. Grenier (Flickr).
Soalan
Pembaca SuperUser Joseph A. ingin mengetahui bagaimana pelayan web dapat mengetahui jika anda menggunakan akses alamat IP langsung atau tidak:
Sesetengah pelayan web, apabila diakses menggunakan alamat IP mereka, mengembalikan ralat yang mengarahkan akses alamat IP tidak dibenarkan. Saya telah tertanya-tanya beberapa masa bagaimana ini berfungsi.
Adakah penyemak imbas sentiasa menyelesaikan alamat IP dan menyambung kepadanya? Akses alamat IP langsung hanya melangkau DNS sama sekali, bukan? Bagaimana pelayan jauh tahu bahawa anda melangkau DNS?
Bagaimana pelayan web tahu jika anda menggunakan akses alamat IP langsung atau tidak?
Jawapan
Penyumbang SuperUser iAdjunct mempunyai jawapan untuk kami:
Untuk menjawab soalan anda tentang bagaimana ia tahu, ia mempunyai kaitan dengan apa yang pelayar anda menghantar pelayan web. Anda betul bahawa sistem itu selalu menyelesaikannya ke alamat IP, tetapi penyemak imbas menghantar URL yang anda cuba akses dalam pengepala HTTP..
Berikut ialah contoh header yang saya dapati dalam talian, diubah suai untuk kelihatan seolah-olah anda menggunakan Firefox pada Windows dan menaip apple.com ke dalam bar alamat:
Inilah yang akan kelihatan seperti pengepala jika anda menggunakan alamat IPnya:
Kedua-dua ini akan dihantar ke alamat IP yang sama melalui soket, tetapi pelayar memberitahu pelayan web apa yang diaksesnya. Mengapa? Oleh kerana pelayan web dengan alamat IP yang sama boleh menjadi tuan rumah beberapa laman web dan memberikan halaman yang berbeza untuk setiap satunya. Ia tidak dapat membedakan siapa yang mahu laman mana dengan alamat IP kerana mereka semua mempunyai yang sama, tetapi ia dapat membezakannya dengan pengepala HTTP.
Mempunyai sesuatu untuk menambah penjelasannya? Bunyi dalam komen. Ingin membaca lebih banyak jawapan dari pengguna Stack Exchange yang berteknologi tinggi? Lihat thread perbincangan penuh di sini.