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-Type 和 Content-Length 首部;
  2. 内容编码服务器(也可能就是原始的服务器或下行的代理)创建编码后的报文。编码后的报文有同样的 Content-Type 但 Content - Length 可能不同(比如主体被压缩了)。内容编码服务器在编码后的报文中增加 Content - Encoding 首部,接收到的应用程序就可以进行解压了;
  3. 接收程序得到编码后的报文,进行解压,得到原始报文;

常用的内容编码代号:

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

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

豆瓣读书 -- HTTP权威指南

《HTTP权威指南》– 10.安全HTTP的更多相关文章

  1. Node.js权威指南 (10) - Node.js中的错误处理与断言处理

    10.1 使用domain模块处理错误 / 272 10.1.1 domain模块概述 / 272 10.1.2 创建并使用Domain对象 / 274 10.1.3 隐式绑定与显式绑定 / 276 ...

  2. 《http权威指南》读书笔记10

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

  3. css权威指南读书笔记-第10章浮动和定位

    这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍. 以下都是从<css权威指南>中摘抄的我认为很有用的说明. 浮动元素 一个元素浮 ...

  4. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  5. JavaScript权威指南 - 数组

    JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...

  6. 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块

    五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options]    -v,--verbose  ...

  7. 《javascript权威指南》读书笔记——第一篇

    <javascript权威指南>读书笔记——第一篇 金刚 javascript js javascript权威指南 由于最近想系统学习下javascript,所以开始在kindle上看这本 ...

  8. ARM Cortex-M0权威指南高清中文版pdf免费分享下载

    版 次:1 页 数:433 字 数:655000 印刷时间:2013-8-1 开 本:16开 纸 张:胶版纸 印 次:1 包 装:平装 丛书名:清华开发者书库 国际标准书号ISBN:978730233 ...

  9. Netty权威指南

    Netty权威指南(异步非阻塞通信领域的经典之作,国内首本深入剖析Netty的著作,全面系统讲解原理.实战和源码,带你完美进阶Netty工程师.) 李林锋 著   ISBN 978-7-121-233 ...

  10. Javascript权威指南

    一.数字写法 3.14 2345.789 .333333333333333333 6.02e23 // 6.02 × 10 23 1.4738223E-32 // 1.4738223 × 10 −32 ...

随机推荐

  1. SecureCRT使用之自动记录日志功能

    自动记录日志功能: 选择"选项"--"全局选项",打开全局选项,在常规设置中找到"默认会话"设置项,点击右侧的"编辑默认设置&qu ...

  2. PR中导入的照片在画面上只显示一部分的解决办法

    这是因为图片的分辨率太大导致的. 1.图片的分辨率大于PR工程的设置的时候,就会只显示局部. 2.可以用PS把图片先缩小为工程大小即可. 3.也可以把图片拖到时间线上,右键点击,缩放为帧大小即可. 这 ...

  3. Django 之ModelAdmin对象

    一.后台管理系统配置 1 在该表对应的models类里面添加一个Meta类 class Meta: verbose_name_plural = '用户表' #指定该表在admin后台的名字为:用户表  ...

  4. 220722 T4 求和 /P4587 [FJOI2016]神秘数 (主席树)

    好久没打主席树了,都忘了怎么用了...... 假设我们选了一些数能构成[0,x]范围内的所有值,下一个要加的数是k(k<=x+1),那么可以取到[0,x+k]内的所有取值,所以有一种做法: 对于 ...

  5. python锦鲤

    今日内容目录 垃圾回收机制 流程控制理论& 流程控制之分支结构& 流程控制之循环结果& 详情 Python垃圾回收机制 """ 有一些语言,内存空 ...

  6. 关于javascript:void(0) 在不用的浏览器当中的表现

    原因在于三款浏览器,对三个属性的处理顺序不同. Chrome顺序:onclick -> href -> target IE和Firefox顺序:onclick -> target - ...

  7. IOC常用的创建对象方式

    通过无参构造方法来创建 1.User.java public class User { private String name; public User() { System.out.println( ...

  8. servlet技术--使用注解模拟用户登录实现页面跳转

    文章目录 1.servlet体系结构 2.servlet技术特点 3.servlet和jsp的区别 4.servlet开发 1.servlet体系结构 servlet实质就是按servlet规范编写的 ...

  9. 微服务开发框架-----Apache Dubbo

    文章目录 一.简介 二.概念与架构 一.简介 Apache Dubbo 是一款微服务开发框架,提供了RPC通信与微服务治理两大关键能力.使用Dubbo开发的微服务,将具备相互之间的远程发现与通信能力, ...

  10. HashMap基本使用方法

    HashMap Map集合基于 键(key)/值(value)映射.每个键最多只能映射一个值.键可以是任何引用数据类型的值,不可重复:值可以是任何引用数据类型的值,可以重复:键值对存放无序. Hash ...