这是我参与「第五届青训营 」笔记创作活动的第8天。
一、本堂课重点内容:
- 介绍 HTTP基本特点
- HTTP协议分析
二、详细知识点介绍
初识HTTP
当我们搜索域名时候会发生什么。
用户输入域名,浏览器内核发起请求,读取响应之后渲染页面,呈现用户。
什么是HTTP
HTTP是应用层上协议,底层基于TCP协议。http协议分为请求和响应两部分,简单可扩展的协议。是一个无状态的协议,每个协议之间是孤立的,每个协议是不知道之前协议所携带的信息,程序员会想方设法会让无状态协议携带上状态的信息。
协议分析
发展
报文分析
method
状态码
2xx:成功
4xx: 客户端有错误
5xx: 服务端错误
BESTful API
常见请求头
常见响应头
缓存
强缓存:资源本地有了就直接用 协商缓存:与服务端进行通信,验证资源是否可用
缓存读取过程
cookie
很多情况下会借助 cookie 携带一些用户身份的信息
set-cookie server 返回浏览器设置的cookie信息《键值对》
HTTP2
更快、更稳定、更简单
最小传输单位是帧
二进制编码形式
压缩算法优化
特性:
- http 基于 tcp,tcp 需要建立连接过程,每次有相关请求,都要建立连接消耗大,http/2 每个目标地址和来源建立连接后可以永久利用的,当有相同目标地址请求时可以复用。
- 流控制:浏览器可以主动阻止发送方向接收方发送大量数据的机制。
- 有服务器推送这样比较智能的能力,如:客户端向服务端请求page.html,服务端检测到page应用js,css两个文件,也会向客户端推送。
HTTPS 概述
对称加密、非对称加密混用