Jika saya memasukkan IP untuk situs web daripada bentuk string, apakah server DNS lokal saya memahami hal ini dan apakah saya akan mem-bypass proses DNS? [duplikat]


12

Ini murni karena penasaran. Tetapi jika saya mengetikkan IP suatu situs web, apakah permintaan masih akan melalui proses pencarian ke depan? Jika tidak, pada titik apa dan pada langkah apa disadari bahwa ini adalah lokasi oleh IP dan bukan nama host sebagai string?

Juga, bagaimana ini akan direkam di hostfile saya? Jika melewati seluruh proses pencarian, akankah hostfile berisi string hostname serta IP dan mengisi secara lokal?


1
Domain Name System, inilah yang menerjemahkan url (google.com) ke dalam alamat ip, jadi jika Anda menggunakan alamat ip itu tidak harus melakukan pencarian nama, melewati sistem DNS. en.wikipedia.org/wiki/Domain_Name_System
Moab

Jawaban di bawah ini benar, browser cukup pintar untuk tidak melakukan pencarian alamat IP ke depan. Melakukan pencarian maju alamat IP tidak pernah merupakan ide yang baik, ada 3 cara server DNS dapat bereaksi terhadapnya: 1) Sebagian besar server DNS hanya akan mengembalikan alamat IP yang sama. 2) Server DNS lain tidak dapat menyelesaikan "nama dns" ke IP dan akan memberitahukannya kepada Anda. 3) Beberapa server DNS (gratis) tidak dapat menyelesaikan "nama dns" dan memberi Anda IP yang mengarahkan Anda ke halaman pencarian mereka sendiri (biasanya penuh dengan iklan).
user1793963

1
Nama domain diperlukan jika server web host beberapa situs. Ini memiliki IP tunggal dan tanpa nama domain tidak dapat memahami situs yang Anda inginkan. Jika hanya ada satu situs web, maka itu akan berfungsi dengan IP dengan cara yang sama.
i486

1
Perhatikan bahwa nama host tidak hanya dikirim ke DNS untuk diterjemahkan, tetapi juga ke server web itu sendiri. Ini berarti bahwa server web yang melayani beberapa situs web tidak dapat mengetahui situs mana yang Anda inginkan. Ini tentu saja merupakan masalah IPv4; dengan IPv6 setiap situs web dapat memiliki alamat IP sendiri.
MSalters

1
Sekarang pertanyaan berikutnya adalah: Bagaimana browser Anda tahu itu 2001:feed:face:dead::beef:8080adalah alamat IPv6 dengan port yang ditentukan dan bukan hanya URL yang diformat dengan sangat buruk ...;)
Mark Henderson

Jawaban:


15

Jika Anda menggunakan alamat IP, OS akan segera tahu bahwa itu adalah alamat IP, dan tidak akan melakukan pencarian ke depan.

Saat Anda melakukan permintaan HTTP, langkah pertama adalah mendapatkan alamat IP tujuan, sehingga browser dapat berkomunikasi dengan server. Untuk komunikasi dengan server, semuanya terjadi melalui IP, dari alamat IP ke alamat IP, sehingga nama server tidak diperlukan untuk komunikasi ini. Namun, diteruskan dalam header HTTP sebagai Host:header untuk memberi tahu server web situs web mana yang Anda cari, jika hosting beberapa situs.

Dalam hal mengakses berdasarkan alamat IP, ini tidak terjadi, dan situs default disajikan.

hostsFile Anda adalah file statis, tidak berubah dengan tindakan apa pun yang Anda lakukan, kecuali jika Anda langsung mengeditnya (atau memiliki skrip atau aplikasi yang memodifikasinya).


2
Juga, perlu dicatat terkait bahwa jika Anda memasukkan Alamat IP di browser seperti Chrome, mungkin melakukan pencarian Google sebelum hanya memuat situs.
sventechie

1
Perhatikan bahwa penautan internal objek individu yang membentuk halaman, kemungkinan dilakukan oleh FQDN, jadi sementara permintaan root akan berjalan tanpa pencarian DNS, tetapi setiap gambar, stylesheet, file skrip, dll hampir pasti akan diselesaikan oleh DNS minta ketika browser Anda mencoba untuk merender halaman root dan mengunduh semua sumber daya anak ..
Frank Thomas

2
@FrankThomas Dalam kebanyakan kasus, di mana aset berada di server yang sama, aset direferensikan oleh URL relatif sehingga akan diakses melalui metode yang sama dengan permintaan awal - melalui IP. Pengecualian untuk ini adalah di mana base_href digunakan dalam header, dan mendikte host yang seharusnya digunakan URL relatif. Jika FQDN digunakan maka ya, game over.
Paul

In the case of accessing by IP address, this does not happen, and the default site is presented.Anda akan lebih cenderung diberikan halaman kesalahan.
Pengguna112638726

@ sventechie Benarkah? Adakah yang tahu mengapa itu akan melakukan itu? Seperti, apa nilai dari itu?
Athoxx

3

Seperti yang ditulis orang lain, dengan menggunakan alamat IP Anda memang melewatkan DNS yang memungkinkan mengakses situs pengembangan misalnya tanpa nama host.

Menambahkan IP - nama host tiruan ke / etc / hosts sangat umum lagi untuk situs pengembangan. Tidak seperti menggunakan alamat IP secara langsung, ini akan a) masih melewatkan DNS b) membuat browser menambahkan Hostheader permintaan ke permintaan HTTP yang memungkinkan host virtual di server lokal misalnya.


Perlu dicatat, bahwa jika karena alasan apa pun alamat IP diperbarui, file HOSTS tidak diperbarui bersamanya, yang dapat mengakibatkan perilaku tak terduga dan situs yang tampaknya tidak berfungsi lagi. Melihat file host adalah salah satu hal terakhir yang dilakukan orang dalam memecahkan masalah dan mungkin diabaikan seluruhnya.
LPChip

@ LPChip adil tetapi tolong perhatikan saya telah menekankan beberapa kali bagaimana ini lebih dari pengembang - praktik lokal daripada yang lain.
chx
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.