文字列形式ではなくウェブサイトのIPを入力した場合、ローカルDNSサーバーはこれを理解し、DNSプロセスをバイパスしますか?[複製]


12

これは純粋に好奇心からです。しかし、WebサイトのIPを入力した場合、リクエストは引き続き前方参照プロセスを通過しますか?そうでない場合、これは文字列としてのホスト名ではなく、IPによる場所であることがどの時点でどのステップで認識されますか?

また、これはホストファイルにどのように記録されますか?ルックアッププロセス全体を実行する場合、hostfileには文字列hostnameとIPが含まれ、ローカルに入力されますか?


1
ドメインネームシステムでは、これがURL(google.com)をIPアドレスに変換するため、IPアドレスを使用する場合は、DNSシステムをバイパスして名前の検索を行う必要はありません。 en.wikipedia.org/wiki/Domain_Name_System
モアブ

以下の答えは正解です。ブラウザはIPアドレスの前方参照を行わないほどスマートです。IPアドレスの前方参照を行うことは決して良い考えではありません。DNSサーバーがそれに反応する方法は3つあります。1)ほとんどのDNSサーバーは同じIPアドレスを返すだけです。2)他のDNSサーバーは「dns名」をIPに解決できないため、その旨を通知します。3)一部の(無料の)DNSサーバーは「dns名」を解決できず、独自の検索ページ(通常は広告でいっぱい)にリダイレクトするIPを提供できません。
user1793963

1
Webサーバーが複数のサイトをホストしている場合、ドメイン名が必要です。単一のIPがあり、ドメイン名がないと、どのサイトが必要かを理解できません。Webサイトが1つしかない場合は、IPでも同じように機能します。
i486

1
ホスト名は、変換のためにDNSに送信されるだけでなく、ウェブサーバー自体にも送信されることに注意してください。これは、複数のWebサイトにサービスを提供するWebサーバーが、それらのサイトのどれが欲しいかを知ることができないことを意味します。これはもちろんIPv4の問題です。IPv6では、すべてのWebサイトが独自のIPアドレスを持つことができます。
-MSalters

1
次の質問は次のとおりです。ブラウザ2001:feed:face:dead::beef:8080は、形式が正しくないURLだけでなく、指定されたポートを持つIPv6アドレスであることをどのようにして知るのか...;)
Mark Henderson

回答:


15

IPアドレスを使用すると、OSはそれがすぐにIPアドレスであることを認識し、前方参照を行いません。

HTTP要求を行う場合、最初のステップは宛先のIPアドレスを取得することです。これにより、ブラウザーはサーバーと通信できます。サーバーとの通信では、IPアドレスからIPアドレスまですべてがIPを介して行われるため、この通信にはサーバーの名前は必要ありません。ただし、Host:Webサーバーが複数のサイトをホストしている場合、Webサーバーに自分がフォローしているWebサイトを知らせるためのヘッダーとしてHTTPヘッダーで渡されます。

IPアドレスでアクセスする場合、これは発生せず、デフォルトのサイトが表示されます。

あなたのhostsファイルの静的ファイルで、それはあなたを直接編集すること(あるいは、それを修正するスクリプトまたはアプリケーションを持っている)場合を除き、あなたが取るすべてのアクションによって変更されません。


2
また、ChromeなどのブラウザーにIPアドレスを入力すると、単にサイトをロードする前にGoogle検索を実行する可能性があることに注意してください。
sventechie

1
ページを構成する個々のオブジェクトの内部リンクはFQDNによって行われる可能性が高いため、ルートリクエストはDNSルックアップなしで実行されますが、すべての画像、スタイルシート、スクリプトファイルなどはほぼ確実にDNSによって解決されることに注意してください要求時にブラウザのルートページをレンダリングするための試みとダウンロードすべての子リソースが...
フランク・トーマス

2
@FrankThomasほとんどの場合、アセットが同じサーバー上にある場合、アセットは相対URLによって参照されるため、元のリクエストと同じ方法(IP経由)でアクセスされます。これの例外は、base_hrefがヘッダーで使用される場所であるため、相対URLが使用するホストを指定します。FQDNが使用されている場合、はい、ゲームオーバーです。
ポール

In the case of accessing by IP address, this does not happen, and the default site is presented.エラーページが表示される可能性がはるかに高くなります。
ユーザー112638726

@sventechie本当に?それがなぜそうなるのか、何か考えはありますか?のような、その価値は何ですか?
Athoxx

3

他の人が書いたように、IPアドレスを使用することにより、実際にはDNSをスキップして、ホスト名なしでたとえば開発サイトにアクセスできるようにします。

開発サイトでは、IP-モックホスト名を/ etc / hostsに追加することは非常に一般的です。IPアドレスを直接使用する場合とは異なり、これはa)DNSをスキップしますb)ブラウザにHostHTTPリクエストにリクエストヘッダーを追加させ、たとえばローカルサーバー上の仮想ホストを許可します。


何らかの理由でIPアドレスが更新された場合、HOSTSファイルは更新されず、予期しない動作やサイトが機能しなくなったように見えることに注意してください。ホストファイルを確認することは、問題のトラブルシューティングで最後に行うことの1つであり、完全に見落とされる可能性があります。
LPChip

@LPChipフェアですが、これが何よりも開発者であるということを何度も強調していることに注意してください。
chx
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.