《HTTP权威指南》– 10.安全HTTP

HTTPS的概念

HTTPS 是最流行的HTTP安全模式,由网景公司首创,所有主流浏览器和服务器都支持此协议。HTTPS方案 的URL以 https:// 开头,使用 HTTPS 时,所有的HTTP请求和响应数据在发送到网络之前,都要进行加密。HTTPS 在HTTP下面提供了一个传输级的密码安全层。

数字加密:

密码:一种特殊的报文编码方式和一种稍后使用的相应解码方式的结合本。加密之前的原始报文通常称为明文,加密之后为密文。

数字签名:

数字签名 是附加在报文上的特殊加密校验码。使用数字签名有以下两个好处:

  1. 签名可以证明是作者编写了这条报文;
  2. 签名可以防止报文被篡改;

使用数字证书对服务器进行认证:

通过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模型

内容编码的过程:

  1. 网站服务器生成原始响应报文,其中有原始的 Content-TypeContent-Length 首部;
  2. 内容编码服务器(也可能就是原始的服务器或下行的代理)创建编码后的报文。编码后的报文有同样的 Content-TypeContent - Length 可能不同(比如主体被压缩了)。内容编码服务器在编码后的报文中增加 Content - Encoding 首部,接收到的应用程序就可以进行解压了;
  3. 接收程序得到编码后的报文,进行解压,得到原始报文;

常用的内容编码代号:

  • gzip: 表明实体采用 GNU Zip 编码
  • compress: 表明实体采用 Unix 的文件压缩程序
  • deflate: 表明实体采用 Zlib 格式压缩
  • identity: 表明没有对主体进行编码

### 图灵图书 -- HTTP权威指南

豆瓣读书 -- HTTP权威指南

posted @ 2015-12-10 17:35  洋芋土豆  阅读(306)  评论(0编辑  收藏  举报