《HTTP权威指南》– 10.安全HTTP
HTTPS的概念
HTTPS 是最流行的HTTP安全模式,由网景公司首创,所有主流浏览器和服务器都支持此协议。HTTPS方案 的URL以 https://
开头,使用 HTTPS 时,所有的HTTP请求和响应数据在发送到网络之前,都要进行加密。HTTPS 在HTTP下面提供了一个传输级的密码安全层。
数字加密:
密码:一种特殊的报文编码方式和一种稍后使用的相应解码方式的结合本。加密之前的原始报文通常称为明文,加密之后为密文。
数字签名:
数字签名 是附加在报文上的特殊加密校验码。使用数字签名有以下两个好处:
- 签名可以证明是作者编写了这条报文;
- 签名可以防止报文被篡改;
使用数字证书对服务器进行认证:
通过HTTPS建立了一个安全的Web事物之后,现代的浏览器都会自动获取连接 服务器的数字证书。如果服务器没有证书,安全连接就会失败,服务器证书 包含很多字段,其中包括:
- Web站点的名称和主机名;
- Web站点的公开密钥;
- 签名颁发机构的名称;
- 来自签名颁发机构的签名;
实体和编码:
如果把HTTP报文想象成因特网货运系统的箱子,那么HTTP实体就是报文中实际的货物。
- HTTP / 1.0 200OK
- Server : Netscape - Enterprice / 3.6
- Date: Sun, 17 set 2000 00:01:05 GMT
- Content-type: text/plain
- Content-length : 19
- Hi : I'm a message!
HTTP实体首部描述了HTTP报文的内容,HTTP / 1.1版定义了以下10个基本字体首部字段:
- Content - Type: 实体中所承载的对象类型;
- Content - Length: 所传送实体主体的长度或大小
- Content - Language: 与所传送对象最相配的人类语言
- Content - Encoding: 对象数据所做的任意变换;
- Content - Location: 一个备用位置,请求时可通过它获得对象;
- Content - Range: 如果这是部分实体,这个首部说明它是整体的哪个部分;
- Content - MD5: 实体主体内容的校验和;
- Content - Modified: 所传输内容在服务器上创建或最后的日期时间;
- Expires: 实体数据将要失效的日期时间;
- Allow: 该资源所允许的各种请求方法;
- ETag: 这份文档特定实例的唯一验证码;
- Cache - Control: 找出如何缓存该文档;
媒体类型和字符集:
Content-Type首部 字段说明了实体主体的 MIME类型。MIME 类型由一个主媒体类型 (如text image audio等)后面跟一条斜线以及一个子类型组成,子类型进一步描述媒体类型。
常见的媒体类型:
- text / html HTML文档
- text / plain 纯文本文档
- image / gif GIF图像
- image / jpeg JPEG图像
- audio / x-wav WAV格式声音数据
- audio / vrm 三维的VRM模型
内容编码的过程:
- 网站服务器生成原始响应报文,其中有原始的 Content-Type 和 Content-Length 首部;
- 内容编码服务器(也可能就是原始的服务器或下行的代理)创建编码后的报文。编码后的报文有同样的 Content-Type 但 Content - Length 可能不同(比如主体被压缩了)。内容编码服务器在编码后的报文中增加 Content - Encoding 首部,接收到的应用程序就可以进行解压了;
- 接收程序得到编码后的报文,进行解压,得到原始报文;
常用的内容编码代号:
- gzip: 表明实体采用
GNU Zip
编码- compress: 表明实体采用
Unix
的文件压缩程序- deflate: 表明实体采用
Zlib
格式压缩- identity: 表明没有对主体进行编码
### 图灵图书 -- HTTP权威指南
豆瓣读书 -- HTTP权威指南
博客搬家了:http://dbwu.tech/