Biasanya, kita hanya mengetikkan alamat situs web yang ingin kita lihat, tetapi apakah server web benar-benar “tahu” jika kita menggunakan alamat IP langsung? Pos T&J SuperUser hari ini memiliki jawaban untuk pertanyaan pembaca yang bingung.
Sesi Tanya & Jawab hari ini hadir atas kebaikan SuperUser — subdivisi Stack Exchange, pengelompokan situs web Tanya Jawab berbasis komunitas.
Foto milik Cory M. Grenier (Flickr) .
Pertanyaan
Pembaca SuperUser Joseph A. ingin tahu bagaimana server web dapat mengetahui apakah Anda menggunakan akses alamat IP langsung atau tidak:
Beberapa server web, saat diakses menggunakan alamat IP mereka, mengembalikan kesalahan bahwa akses alamat IP langsung tidak diperbolehkan. Saya telah bertanya-tanya selama beberapa waktu bagaimana ini bekerja.
Apakah browser selalu menyelesaikan alamat IP dan menyambungkannya? Akses alamat IP langsung hanya melewatkan DNS sama sekali, bukan? Bagaimana server jarak jauh tahu bahwa Anda melewatkan DNS?
Bagaimana server web mengetahui apakah Anda menggunakan akses alamat IP langsung atau tidak?
Jawabannya
Kontributor SuperUser iAdjunct memiliki jawabannya untuk kami:
Untuk menjawab pertanyaan Anda tentang bagaimana ia tahu, itu ada hubungannya dengan apa yang dikirimkan browser Anda ke server web. Anda benar bahwa sistem selalu menyelesaikannya ke alamat IP, tetapi browser mengirimkan URL yang Anda coba akses di header HTTP.
Berikut ini contoh tajuk yang saya temukan online, dimodifikasi agar terlihat seperti Anda menggunakan Firefox di Windows dan mengetikkan apple.com di bilah alamat:
![]()
Berikut tampilan header jika Anda menggunakan alamat IP-nya:
![]()
Keduanya akan dikirim ke alamat IP yang sama melalui soket, tetapi browser memberi tahu server web apa yang diaksesnya. Mengapa? Karena server web dengan alamat IP yang sama dapat meng-host beberapa situs web dan memberikan halaman yang berbeda untuk masing-masing situs. Itu tidak dapat membedakan siapa yang menginginkan halaman mana berdasarkan alamat IP karena semuanya memiliki halaman yang sama, tetapi dapat membedakannya dengan header HTTP.
Punya sesuatu untuk ditambahkan ke penjelasannya? Suarakan di komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang paham teknologi? Lihat utas diskusi lengkap di sini .