目录
6.3HTTP/1.1 通用首部字段6.3.2 Connection
第一章 了解web以及网络基础 |
1.1使用HTTP协议访问Web借助多文档之间相互关联形成的超文本(HyperText),连成可相互参阅的 WWW(World Wide Web,万维网) |
1.3网络基础TCP-IP协议protocol
封装encapsulate1.4.1负责传输的IP协议
路由选择 routing |
![]() |
1.4.2确保可靠性的TCP协议 |
1.5负责域名解析的DNS服务 |
1.6各种协议与HTTP协议的关系
1.7 URI 和 URLhttp://www.iana.org/assignments/uri-schemes
1.7.2 URI的格式有一些用来制定 HTTP 协议技术标准的文档,它们被称为RFC(Request for Comments,征求修正意见书)。 |
第二章 简单的HTTP协议2.1 HTTP协议用于客户端和服务端之间的通信2.2通过请求和响应的交换达成通信
|
2.3HTTP是不保存状态的协议使用 HTTP 协议,每当有新的请求发送时,就会有对应的新响应产生。协议本身并不保留之前一切的请求或响应报文的信息。这是为了 更快地处理大量事务,确保协议的可伸缩性,而特意把 HTTP 协议设计成如此简单的。
2.4请求URI定位资源
2.5告知服务器意图的HTTP方法
|
2.6使用方法下达命令向请求 URI 指定的资源发送请求报文时,采用称为方法的命令。
2.7持久连接节省通信量2.7.1持久连接
|
2.7.2管线化pipelining
2.8使用cookie的状态管理
|
第三章 HTTP报文内的HTTP信息3.1HTTP报文
3.2请求报文及响应报文的结构
|
3.3编码提升传输速率
3.3.1报文主体和实体主体的差异
报文message 实体entity
3.3.2压缩传输的内容编码内容编码指明应用在实体内容上的编码格式,并保持实体信息原样压缩。内容编码后的实体由客户端接收并负责解码。
3.3.3分割发送分块传输编码Chunked Transfer Coding 分块传输编码 这种把实体主体分块的功能称为分块传输编码(Chunked Transfer Coding) 使用分块传输编码的实体主体会由接收的客户端负责解码,恢复到编码前的实体主体。 HTTP/1.1 中存在一种称为传输编码(Transfer Coding)的机制,它可以在通信时按某种编码方式传输,但只定义作用于分块传输编码中。 |
3.4发送多种数据的多部分对象集合
|
3.5获取部分内容的范围请求范围请求Range Request
3.6内容协商返回最合适的内容 |
第四章:返回结果的HTTP状态码4.1状态码告知从服务器端返回的请求结 |
![]() ![]() ![]() |
4.4客户端错误 |
4.5服务器错误
|
|
第五章 与HTTP协作的WEB服务器 |
5.1用单台虚拟主机实现多个域名 在相同的 IP 地址下,由于虚拟主机可以寄存多个不同主机名和域名的 Web 网站,因此在发送 HTTP 请求时,必须在 Host 首部内完整指定主机名或域名的 URI。
5.2通信数据转发程序:代理 网关 隧道代理:代理是一种有转发功能的应用程序,它扮演了位于服务器和客户端“中间人”的角色,接收由客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给客户端。 在 HTTP 通信过程中,可级联多台代理服务器。请求和响应的转发会经过数台类似锁链一样连接起来的代理服务器。转发时,需要附加Via 首部字段以标记出经过的主机信息。 |
![]() ![]() ![]() |
5.3保存资源的缓存缓存是指代理服务器或客户端本地磁盘内保存的资源副本。利用缓存可减少对源服务器的访问,因此也就节省了通信流量和通信时间。 缓存服务器是代理服务器的一种,并归类在缓存代理类型中。换句话说,当代理转发从服务器返回的响应时,代理服务器将会保存一份资源的副本。
5.3.1 缓存的有效期5.3.2 客户端的缓存还有一些协议 |
第六章 HTTP的首部6.1HTTP报文首部HTTP 请求报文 HTTP 响应报文
|
6.2HTTP首部字段
6.2.3 4种HTTP首部字段类型
|
通用首部字段 |
请求首部字段
|
![]() ![]() |
6.2.5非 HTTP/1.1 首部字段HTTP 首部字段将定义成缓存代理和非缓存代理的行为,分成 2 种类型。 |
6.3HTTP/1.1 通用首部字段
|
![]() ![]() ![]() ![]() ![]() |
|
![]() |
![]() |
![]() |
![]() ![]() |
![]() |
![]() |
![]() |
6.3.2 Connection
|
6.3.3 data |
6.3.4Pragma |
6.3.5Trailer |
|
![]() ![]() |
![]() ![]() |
|
6.4请求首部字段 |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
第七章 确保WEB安全的Https |
HTTP的缺点: |
|
|
|
|
|
|
|
|
|
![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
|
![]() ![]() ![]() ![]() |
第 8 章 确认访问用户身份的认证8.1 何为认证计算机本身无法判断坐在显示器前的使用者的身份。 8.2 BASIC 认证BASIC 认证(基本认证)是从 HTTP/1.0 就定义的认证方式。 8.3 DIGEST 认证从 HTTP/1.1 起就有了 DIGEST 认证。 DIGEST 认证同样使用质询 / 响应的方式(challenge/response),但不会像 BASIC 认证那样直接发送明文密码。 8.4 SSL 客户端认证 8.4.1 SSL 客户端认证的认证步骤 为达到 SSL客户端认证的目的,需要事先将客户端证书分发给客户端,且客户端必须安装此证书。 步骤 1: 接收到需要认证资源的请求,服务器会发送 CertificateRequest 报文,要求客户端提供客户端证书。 步骤 2: 用户选择将发送的客户端证书后,客户端会把客户端证书信息以 Client Certificate 报文方式发送给服务器。 步骤 3: 服务器验证客户端证书验证通过后方可领取证书内客户端的公开密钥,然后开始 HTTPS 加密通信。 为减轻跨站脚本攻击(XSS)造成的损失,建议事先在 Cookie 内加上 httponly 属性。 |
第九章 基于HTTP的功能追加协议
|
9.2.2 SPDY的设计与功能
9.3 使用浏览器进行全双工通信的 WebSocket
HTTP2.0
|
|
第 10 章 构建 Web 内容的技术HTML |
第 11 章 Web 的攻击技术 |