- Web和HTTP
- HTTP 超文本传输协议 HyperText Transfer Protocol HTTP使用TCP作为支撑传输协议
- 由一个客户程序和一个服务器程序实现
- 一些常见名词
- 。。。
- 无状态协议 stateless protocol
- 不保存关于客户的任何信息
- 非持续/持续链接 non-persistent connection / persistent connection
- 每个请求/相应对是经过一个单独的TCP连接发送 ,还是所有的请求及其响应经相同的TCP连接诶发送对应上述
- HTTp默认持续连接
- 更改HTTP非持续链接
- 此时每个链接只能传一次请求响应
- 往返时间 Round-Trip Time,RTT
- 指一个短分组从客户到服务器再返回客户所需要的时间
- 采用持续性链接的HTTP
- 好
- HTTP默认使用带流水线的持续连接
- HTTP报文格式
- 1.请求报文
-
- 每行由一个回车和换行符构成,最后行结束也有
- 行数从1 到 无穷
- 第一行叫请求行 request line
- 1.方法字段
- GET
- POST
- PUT
- DELETE
- HEAD
- 2.URL字段
- 带有请求对象的标识
- 3.HTTP版本字段
- 自解释
- 1.方法字段
- 后续的行叫 首部行 header line
- HOST 指明对象所在的主机
- Connection:colse 告诉服务器不希望使用持续性链接,在每一个链接后都关闭
- User-agent: Mozilla/5.0 指明用户代理,即告诉服务器使用的浏览器类型 图示中是 filefox 浏览器
- Accept-lanuage: fr 表示用户想得到该对象的法语版本,如果没有则发送默认版本
- 2.响应报文
-
- 1.一个初始状态行 status line
-
协议版本字段
状态码
响应状态信息
-
- 2.六个首部行 header line
- Connection:close 发送完报文后会关闭该链接
- Date 报文发送的时间
- Server 指示发送的服务器
- Last-Modified 对象创建或最后修改的日期和时间
- Content-Length 对象中字节数
- Content-Type 对象类型
- 3.实体体 entity body
- 1.一个初始状态行 status line
-
- COOKIE
- 有四个组件
- 在HTTP相应报文的一个cookie首部行
- 在HTTP请求报文的一个cookie首部行
- 在用户端系统中保留有一个cookie文件,并由用户的浏览器进行管理
- 位于Web站点的一个后端管理器
- 有四个组件
- Web缓存 Web cache (代理服务器 proxy server)
- 优点
- 减少对客户请求的响应时间
- 减少一个机构的接入链路到因特网的通信量
- CDN 内容分发网络,Content Distribution Network
- CDN的基本原理是将内容存储在离用户最近的服务器节点上,当用户请求访问某个内容时,CDN会自动选择最近的服务器节点来提供服务。这样可以减少用户请求的延迟和带宽消耗,同时也可以减轻源服务器的负载压力,提高其可用性和可靠性。
- 优点
-
- 1.请求报文
- HTTP 超文本传输协议 HyperText Transfer Protocol HTTP使用TCP作为支撑传输协议