ダイレクトIPアドレスアクセスを使用しているかどうかWebサーバーがどのように知っていますか?

目次:

ダイレクトIPアドレスアクセスを使用しているかどうかWebサーバーがどのように知っていますか? - ブログ 2023
ダイレクトIPアドレスアクセスを使用しているかどうかWebサーバーがどのように知っていますか? - ブログ 2023
Anonim
通常は、表示したいウェブサイトのアドレスを入力するだけですが、代わりに直接IPアドレスを使用した場合、ウェブサーバーは実際に「知っていますか」?今日のスーパーユーザQ&Aの投稿には、混乱した読者の質問に対する答えがあります。
通常は、表示したいウェブサイトのアドレスを入力するだけですが、代わりに直接IPアドレスを使用した場合、ウェブサーバーは実際に「知っていますか」?今日のスーパーユーザQ&Aの投稿には、混乱した読者の質問に対する答えがあります。

今日の質疑応答セッションは、Q&Aウェブサイトのコミュニティ主導型のグループであるStack Exchangeの下位部門であるSuperUserの協力のもとに行われています。

写真提供:Cory M. Grenier(Flickr)。

質問

スーパーユーザの読者Joseph A.は、あなたが直接IPアドレスアクセスを使用しているかどうかをウェブサーバがどのように知ることができるかを知りたがっています:

Some web servers, when accessed using their IP address, return an error that direct IP address access is not allowed. I have been wondering for some time how this works.

Does a browser always resolve the IP address and connect to it? Direct IP address access is just skipping DNS altogether, right? How does a remote server even know that you skipped DNS?

直接IPアドレスアクセスを使用しているかどうかWebサーバーはどのように知っていますか?

答え

スーパーユーザ投稿者iAdjunctが私たちの答えを持っています:

To answer your question of how it knows, it has to do with what your browser sends the web server. You are right that the system always resolves it to an IP address, but the browser sends the URL you attempted to access in the HTTP header.

Here is a sample header that I found online, modified to look as though you used Firefox on Windows and typed apple.com into the address bar:

Here is what the header would look like if you used its IP address:
Here is what the header would look like if you used its IP address:
Both of these would be sent to the same IP address over a socket, but the browser tells the web server what it accessed. Why? Because web servers with the same IP address may host multiple websites and give different pages for each. It cannot distinguish who wants which page by IP address because they all have the same one, but it can distinguish them by the HTTP header.
Both of these would be sent to the same IP address over a socket, but the browser tells the web server what it accessed. Why? Because web servers with the same IP address may host multiple websites and give different pages for each. It cannot distinguish who wants which page by IP address because they all have the same one, but it can distinguish them by the HTTP header.

説明に追加するものがありますか?コメントで鳴り響く。他の技術に精通したStack Exchangeユーザーからの回答をもっとたくさん読んでみたいですか?ディスカッションスレッド全体をチェックしてください。

人気のあるトピック

専門家の助言