php抓取网页域名( Host字段不同如何配置如果服务器使用Apache字段的网站域名)

优采云 发布时间: 2021-11-10 20:05

  php抓取网页域名(

Host字段不同如何配置如果服务器使用Apache字段的网站域名)

  GET / HTTP/1.1

Host: www.google.com

  整个请求将被发送到服务器。有一个 Host 字段,用于标识您要请求的 网站 域名。即使访问的是同一个IP地址,由于Host字段不同,服务器软件也有区分的方法。其中网站是具体访问。

  Host字段的具体定义请阅读RFC-2616第14.23节:/rfc/rfc2616.txt

  以下是摘录(注意黑体部分):

  14.23 主机

  Host 请求头字段指定 Internet 主机和端口

  被请求的资源的数量,从原创获取的

  由用户或引用资源提供的 URI(通常是 HTTP URL,

  如3.2.2)部分所述。 Host 字段值必须代表

  源服务器或网关的命名权限

  原创网址。这允许源服务器或网关

  区分内部不明确的 URL,例如根“/”

  单个 IP 地址上多个主机名的服务器 URL。此外,RFC-2616 并不是 HTTP 协议的最新规范。具体规范请参考RFC-2616的描述链接:RFC 2616信息

  2、服务器端如何配置

  如果服务器使用Apache,在Apache配置文件中添加VirtualHost即可添加新的虚拟主机:

  服务器管理员 admin@admin

  DocumentRoot "D:/website1"

  服务器名称

  DirectoryIndex index.php

  服务器管理员 admin@admin

  DocumentRoot "D:/website2"

  服务器名称

  DirectoryIndex index.php

  上面定义了两个域名并且在不同的根目录下。通过这个配置,如果Apache收到一个请求,那么它会去d:/website1寻找对应的页面。如果是请求,那么去d:/website2 找到对应的页面。

  通常Apache也有一个默认的网站,这个网站可以使用IP地址访问。如果这个网站设置为无效,那么主机就不能直接通过IP地址访问HTTP资源。

  对于IIS,IIS可以使用同一个IP绑定多个站点。详情请参考下图:

  

  在默认的网站->Properties->网站->Advanced中,添加不同的域名即可。由于我的IIS版本较低,无法支持绑定多个网站。在更高版本的IIS中,可以配置多个网站,每个网站绑定不同的域名,可以实现访问时的区分。

  如果服务器没有设置默认的网站,那么IP地址不能直接访问主机。

  所以,如果直接通过IP地址访问网站,会遇到两种情况:

<p>1、服务器已经设置了默认的网站,或者使用IP作为主机名来匹配请求的Host字段,那么这就是你通过IP访问的网站;

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线