joh*_*nny 29 hosting subdomain ip-address
如果我有一个位于 Internet 上的 IP 地址但有许多 Web 名称,我该如何拥有它?例如,当托管公司拥有共享 IP 但我获得无限域名时(以及该框中的其他所有人)。
我在互联网上有一个盒子,但是当有人输入不同的 www 时,我想指向另一台拥有不同网站的机器......(它就在它旁边的另一个盒子中)。这是所有的子域吗?谢谢你。
我是托管公司
chr*_*ris 39
它是 HTTP 1.1 协议的一部分。
具体来说,HTTP 1.1 协议包括一个名为“host:”的标头,它指定客户端试图访问特定服务器上的哪个网站。
因此,如果 snoopy.net 和 woodstock.org 都共享 192.0.32.10 并且您的浏览器试图从http://snoopy.net/doghouse
特定的 http 请求中获取内容,则如下所示:
GET /doghouse HTTP/1.1
Host: snoopy.net
Run Code Online (Sandbox Code Playgroud)
如果所需的 url 是http://woodstock.org/seeds
请求看起来像
GET /seeds HTTP/1.1
Host: woodstock.org
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,您的计算机和服务器的端口 80 之间都会有一个 tcp 套接字。服务器会根据 Host 标头知道从 /var/www/snoopy.net 或 /var/www/woodstock.org/ 获取内容。
cookie 和其他内容(如浏览器类型和允许的内容)会有其他标头,但“主机”标头专门允许 Web 服务器知道需要哪个虚拟网站。
RFC2616 中有更多内容。
这也是 https 站点必须**拥有自己的 IP 地址的原因——ssl 密钥交换和证书验证发生在 http 事务之前,因此 http 服务器不会知道为“woodstock.org”颁发证书或“snoopy.net”,当它在 192.0.32.10 的端口 443 上收到 https 连接时。
编辑
** 在评论中Grawity指出 TLS 规范中有 SSL 扩展,允许服务器知道用户试图访问的网站,并且大多数现代网络浏览器都有这些扩展,所以必须有点太强的。
Joh*_*zen 13
所有现代浏览器都会随请求一起发送一些东西,称为“主机:”标头。
Firefox 为此页面发送的实际请求是:
主机:superuser.com 用户代理:Mozilla/5.0(Windows;U;Windows NT 6.0;en-US;rv:1.9.1.7)Gecko/20091221 Firefox/3.5.7(.NET CLR 3.5.30729) 接受:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 接受语言:en-us,en;q=0.5 接受编码:gzip,deflate 接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.7 保持活力:300 连接:保持连接
如您所见,
主机:superuser.com位标识有问题的网站。
至于您的特定问题,您必须仔细阅读您的特定托管公司希望您如何请求配置。
归档时间: |
|
查看次数: |
120170 次 |
最近记录: |