《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权威指南》– 10.安全HTTP的更多相关文章
- Node.js权威指南 (10) - Node.js中的错误处理与断言处理
10.1 使用domain模块处理错误 / 272 10.1.1 domain模块概述 / 272 10.1.2 创建并使用Domain对象 / 274 10.1.3 隐式绑定与显式绑定 / 276 ...
- 《http权威指南》读书笔记10
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...
- css权威指南读书笔记-第10章浮动和定位
这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍. 以下都是从<css权威指南>中摘抄的我认为很有用的说明. 浮动元素 一个元素浮 ...
- JavaScript权威指南 - 函数
函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...
- JavaScript权威指南 - 数组
JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...
- 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块
五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options] -v,--verbose ...
- 《javascript权威指南》读书笔记——第一篇
<javascript权威指南>读书笔记——第一篇 金刚 javascript js javascript权威指南 由于最近想系统学习下javascript,所以开始在kindle上看这本 ...
- ARM Cortex-M0权威指南高清中文版pdf免费分享下载
版 次:1 页 数:433 字 数:655000 印刷时间:2013-8-1 开 本:16开 纸 张:胶版纸 印 次:1 包 装:平装 丛书名:清华开发者书库 国际标准书号ISBN:978730233 ...
- Netty权威指南
Netty权威指南(异步非阻塞通信领域的经典之作,国内首本深入剖析Netty的著作,全面系统讲解原理.实战和源码,带你完美进阶Netty工程师.) 李林锋 著 ISBN 978-7-121-233 ...
- Javascript权威指南
一.数字写法 3.14 2345.789 .333333333333333333 6.02e23 // 6.02 × 10 23 1.4738223E-32 // 1.4738223 × 10 −32 ...
随机推荐
- Ceph 存储集群 - 搭建存储集群---教程走到osd激活这一步执行不下去了,报错
目录 一.准备机器 [1. 修改主机名](所有节点)(https://www.cnblogs.com/zengzhihua/p/9829472.html#1-修改主机名) [2. 修改hosts文件] ...
- CSS基础-关于CSS注释的添加
在 CSS 中增加注释很简单,所有被放在/*和*/分隔符之间的文本信息都被称为注释. CSS 只有一种注释,不管是多行注释还是单行注释,都必须以/*开始.以*/结束,中间加入注释内容. 1.注释放在样 ...
- gradle项目对比maven项目的目录架构以及对gradle wrapper的理解
转载请注明出处: 1.使用 idea 搭建 gradle项目 注意 type 选择 gradle 以及 language 选择 grooy 搭建后的项目架构 ...
- Java斗地主(集合综合练习)
学完了集合后我们可以开始做一个简易版的 " 斗地主 " 了,但是呢咱们这个斗地主只能实现制造牌,洗牌.发牌.看牌这几个简单的功能,并不是我们玩的 " 真人版斗地主 & ...
- MRR和Hits@n
使用 MRR/Hits@n 评估链路预测 平均倒数秩(Mean reciprocal rank,MRR) MRR是一种衡量搜索质量的方法.我们取一个未被破坏的节点,找到距离定义为相似性分数的" ...
- 1.httprunner3入门
一.httprunner3 httprunner是一款面向HTTP(S)协议的通用开源测试框架 支持三种格式的用例:YAML/JSON/Pytest,httprunner3以前不支持pytest用例 ...
- 我终于会写 Java 的定时任务了!
前言 学过定时任务,但是我忘了,忘得一干二净,害怕,一直听别人说: 你写一个定时任务就好了. 写个定时任务让他去爬取就行了. 我不会,所以现在得补回来了,欠下的终究要还的,/(ㄒoㄒ)/~~ 定时任务 ...
- Pytorch模型量化
在深度学习中,量化指的是使用更少的bit来存储原本以浮点数存储的tensor,以及使用更少的bit来完成原本以浮点数完成的计算.这么做的好处主要有如下几点: 更少的模型体积,接近4倍的减少: 可以更快 ...
- 题解UVA10948 The primary problem
前言 前置 \(\sf{Solution}\) 既然有了 \(n\) ,那找出 \(a\) 和 \(b\) 就只要枚举 \(a\) 的范围 \(1\sim n\),判断 \(a\) 和 \(n-a\) ...
- KNN算法之集美大学
在本篇文章中,我即将以在集美大学收集到的一些数据集为基础,使用KNN算法进行一系列的操作 一.KNN算法 首先,什么是KNN算法呢,这得用到老祖宗说的一句话"近朱者赤近墨者黑", ...