这是我参与「第六届青训营」伴学笔记创作活动的第7节课
前言:
本节课前置介绍HTTP协议的基本定义和特定,在此基础上,对于HTTP协议的发展历程及报文结构展开进一步分析。根据不同的环境,介绍在日常的开发中,如何实现去发起一个协议,将重点带来浏览器环境的应用实战,进一步基于不同环境下,如何做到网络优化,提升用户体验。
课程重点:
- HTTP协议的基本定义
- HTTP协议主要特征
- HTTP协议发展历程
- HTTP协议的报文结构
什么是HTTP?
- Hyper Text Transfer Protocol超文本传输协议
- 应用层协议,基于TCP协议
- 请求 相应
- 简单可扩展
- 无状态
协议分析—发展
HTTP/0.9单行协议
- 请求GET/mypage.html
- 响应只有HTML文档
HTTP/1.0构建可扩展性
- 增加了Header
- 有了状态码
- 支持多种文档类型
- ……
HTTP/1.1标准化协议
- 连接复用
- 缓存
- 内容协商
- ……
HTTP/2更优异的表现
- 二进制协议
- 压缩header
- 服务器推送
- ……
HTTP/3草案
HTTP/2概述:更快、更稳定、更简单
帧(frame):HTTP/2通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流。
- 二进制
消息:与逻辑请求或响应消息对应的完整的一系列帧。
数据流:已建立的连接内的双向字节流,可以承载一条或多条消息。
-
交错发送,接收方重组织
-
HTTP/2链接都是永久的,而且仅需要每个来源一个连接
-
流控制:阻止发送方向接收方发送大量数据的机制
HTTPS概述:
- Hypertext Transfer Protocol Secure
- 经过TSL/SSL加密
- 对称加密:加密和解密都是使用同一个密钥
- 非对称加密,加密和解密需要使用两个不同的密钥:公钥(public key)和私钥(private key)
课程总结:
HTTP协议是一种详细规定了浏览器和万维网服务器之间相互通信的规则,通过因特网传输文档的数据传送协议。HTTP协议一般承载于TCP协议之上,HTTP协议是应用层协议,默认端口为80,HTTP协议一般应用于网页的浏览器,但是并不代表只能用于网页的浏览,HTTP是一种协议,只要通信的双方都遵守这个协议,HTTP就能有用武之地