HTTP 服务器请求处理
HTTPD(HTTP Daemon)在服务器端处理请求/响应。最常见的 HTTPD 有 Linux 上常用的 Apache 和 nginx,以及 Windows 上的 IIS。
-
HTTPD 接收请求
-
服务器把请求拆分为以下几个参数:
-
HTTP 请求方法(
GET,POST,HEAD,PUT,DELETE,CONNECT,OPTIONS, 或者TRACE)。直接在地址栏中输入 URL 这种情况下,使用的是 GET 方法 -
域名:google.com
-
请求路径/页面:/ (我们没有请求google.com下的指定的页面,因此 / 是默认的路径)
-
服务器验证其上已经配置了 google.com 的虚拟主机
-
服务器验证 google.com 接受 GET 方法
-
服务器验证该用户可以使用 GET 方法(根据 IP 地址,身份信息等)
-
如果服务器安装了 URL 重写模块(例如 Apache 的 mod_rewrite 和 IIS 的 URL Rewrite),服务器会尝试匹配重写规则,如果匹配上的话,服务器会按照规则重写这个请求
-
服务器根据请求信息获取相应的响应内容,这种情况下由于访问路径是 "/" ,会访问首页文件(你可以重写这个规则,但是这个是最常用的)。
-
服务器会使用指定的处理程序分析处理这个文件,假如 Google 使用 PHP,服务器会使用 PHP 解析 index 文件,并捕获输出,把 PHP 的输出结果返回给请求者