这是我参与「第四届青训营 」笔记创作活动的最后一天,回顾总结HTTP实用指南
一.什么是HTTP
HTTP全称Hyper Text Transfer Protocol,即超文本传输协议,是一种用于分布式、协作式和超媒体信息系统的应用层协议,是因特网上应用最为广泛的一种网络传输协议,所有的 WWW 文件都必须遵守这个标准。其具以下特点:
- 应用层协议,基于TCP协议
- 简单可扩展
- 无状态
二.协议分析
协议分析-发展
- HTTP/0.9单行协议
-请求GET/mtpage.html
-响应只有HTML文档 - HTTP/1.0构建可扩展性
-增加了Header
-有了状态码
-支持多种文档类型 - HTTP/1.1标准化协议
-链接复用
-缓存
-内容协商 - HTTP/2更有意的表现
-二进制协议
-压缩header
-服务器推送 - HTTP/3草案
协议发展-报文
Method
GET:请求一个指定资源的表现形式,使用GET的请求应该只被用于获取数据
POST:用于将实体提交到指定资源,通常导致在服务器上的状态变化或副作用
PUT:用请求有效载荷替换目标资源的所以当前表现
DELETE:删除指定资源
HEAD:请求一个与GET请求的响应相同的响应,但没有响应体
CONNECT:建立一个由目标资源标识的服务器的隧道
OPTIONS:用于描述目标资源的通信选项
TRACE:沿着目标资源的路径执行一个消息环回测试
PATCH:用于对资源应用部分修改
三.场景应用
- 打开chrome
- 输入www.toutiao.com
- 打开控制台
-右键->检测
-F12 - 切换到network
四.扩展
扩展-通信方式
WebSocket
- 游览器与服务器进行全双工通讯的网络技术
- 典型场景:实时性要求高,如讨论室
- URL使用ws://或wss://等开头
QUIC
- O-RTT建联(首次建联除外)
- 类似TCP的可靠传输
- 类似TLS的加密传输,支持完美前向安全
- 用户空间的拥塞控制,最新的BBR算法
- 支持h2的基于流的多路复用,但没有TCP的HOL问题
- 前向纠错FEC
- 类似MPTCP的Connection migration