标签:原因 hat head section form org 路由 with com
10-URI的基本格式以及与URL的区别
HTTP连接的常见流程
从TCP编程上看HTTP请求处理
长连接与短连接
Connection仅针对当前连接有效
代理服务器对长连接的支持
为什么引入host头部?ip地址相对较少,域名相对较多。一个ip地址可能对应着多个域名。
Host
是 HTTP 1.1 协议中新增的一个请求头,主要用来实现虚拟主机技术,不传递Host头部则返回400错误响应码。
有一台 ip 地址为 xxx.xxx.xxx.xxx 的服务器,在这台服务器上部署着谷歌、百度、淘宝的网站。为什么我们访问 https://www.google.com 时,看到的是 Google 的首页而不是百度或者淘宝的首页?
原因就是 Host 请求头决定着访问哪个虚拟主机。
虚拟主机(virtual hosting)即共享主机(shared web hosting),可以利用虚拟技术把一台完整的服务器分成若干个主机,因此可以在单一主机上运行多个网站或服务。
为防止陈旧的代理服务器,发向正向代理的请求 request-target 必须以absolute-form形式出现
规范与实现间是有差距的
https://tools.ietf.org/html/rfc7230#section-5.4
A client MUST send a Host header field in all HTTP/1.1 request messages
A server MUST respond with a 400 (Bad Request) status code to any
HTTP/1.1 request message
Host 头部与消息的路由(nginx为例)
1.建立TCP连接 ·确定服务器的IP地址 2.接收请求 3.寻找虚拟主机 ·匹配Host头部与域名 4.寻找URI的处理代码 ·匹配 URI 5.执行处理请求的代码 ·访问资源 6.生成HTTP响应 ·各中间件基于PF架构串行修改响应 7.发送HTTP响应 8.记录访问日志
客户端与源服务器间存在多个代理
标签:原因 hat head section form org 路由 with com
原文地址:https://www.cnblogs.com/wqbin/p/12038861.html