IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> HTTP、HTTPS总结 -> 正文阅读

[网络协议]HTTP、HTTPS总结

HTTP(Hyper Text Transfer Protocol)名叫超文本传输协议。

早期HTTP只有GET请求,用来简单的拿文件,拿完就断开了连接。

HTTP1.0时期,在单一GET方式中增加了POST、HEAD命令、引入了请求头和响应头、增加了HTTP版本号、增加了响应状态码、引入Content-Type使传输不限于文本。但是该版本还是存在一些问题:

  • 连接无法复用,HTTP1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接。
  • 发送一次请求时,需要等待服务端响应了才可以继续发送请求。

HTTP1.1中增加了keepalive,允许长连接;支持pipeline,无需等待前面的响应也可以发送第二次请求;增加缓存管理;允许响应数据分块,响应的时候不标明Content-Length,客户端就无法断开连接,直到收到服务端的EOF,利于传输大文件。HTTP1.1也是目前使用最广泛的。

消息结构

HTTP是一个基于TCP/IP协议来传递数据的协议。发送一个HTTP请求的消息包括:请求行、请求头部、空行、请求数据四部分。

未命名文件 (5)

接收HTTP请求的服务器响应消息包括:状态行、消息报文、空行、响应正文四部分。

未命名文件 (6)

HTTPS

对于使用HTTP发送的数据,很容易被拦截、篡改、以及发起攻击。为了解决这些问题,于是引入了HTTPS,HTTPS由HTTP+SSL/TLS组成,通过SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密。

一个网站在使用HTTPS之前,需要选择一家公认的CA机构,对网站地址及企业信息进行签字认证,CA机构使用自己的私钥对这些摘要信息进行加密,生成一个CA证书。

然后就是我们使用的浏览器,在浏览器中都已经内置了这些公认的CA机构的公钥,所以当访问HTTPS网站时,浏览器得到数字证书后,就会使用内置的CA机构公钥对证书进行验证。

一个完整的HTTPS请求包含三部分内容:

  1. 证书校验

    浏览器内置的CA公钥对证书进行验证

  2. 非对称加密

    非对称加密的意思就是:加密与解密是使用的不同的钥匙。

    这一步浏览器先提取公钥信息,利用公钥生成一个随机key,然后使用公钥将随机key进行加密,发送给服务器。服务器使用私钥将接收到的信息进行解密,得到随机key。

  3. 对称加密

    在第二步中,客户端与服务端都知道了这个随机key,在后面的数据交互过程中,都是使用这个随机key来对数据进行加解密,也就是所谓的对称加密。

未命名文件

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-18 13:03:32  更:2021-08-18 13:04:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 17:01:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码