这是我参与「第五届青训营 」伴学笔记创作活动的第5天
一、本堂课重点内容:
- HTTP 协议的基本定义
- HTTP 协议主要特征
- HTTP 协议发展历程
- HTTP 协议的报文结构
- 场景分析 - 静态资源
- 场景分析 - 登录
- HTTP 协议实战 - 浏览器
- HTTP 协议实战 - Node篇
- 网络优化手段
- HTTP 协议拓展 - 通信方式
二、详细知识点介绍:
HTTP 协议
- HTTP 全称 Hyper Text Transfer Protocol 超文本传输协议
- 应用层协议、基于TCP协议
- 支持客户/服务器模式,请求+响应
- 简单可扩展
- 无状态
HTTP 协议发展历程
HTTP 协议的报文结构
HTTP报文可以分为四个部分:
- 起始行:请求(Method Path Version)、响应(Version StatusCode StatusMessage)
- HTTP Headers:请求头、响应头
- 空行
- body:请求体、响应体
Method
- 安全Safe:不会修改服务器的数据的方法:
GETHEADOPTIONS - 幂等Idempontent:同样的请求被执行一次与连续执行多次的效果时一样的,服务器的状态也是一样的,所有safe的方法都是idempotent的:
GETHEADOPTIONSPUTDELETE
状态码
RESTfui API
一种API设计风格;REST - Representational State Transfer
- 每一个URI代表一种资源;
- 客户端和服务器之间,传递这种资源的某种表现层;
- 客户端通过HTTP method,对服务器端资源进行操作,实现"表现层状态转化"
常用请求头
常用响应头
缓存
Cookie
HTTP/2
更快、更稳定、更简单
- 帧(frame): HTTP/2 通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流
- 消息(Message): 与逻辑请求或响应消息对应的完整的一系列帧。特定消息的帧在同一个流上发送,这意味着一个HTTP请求或响应只能在一个流上发送。
- 数据流(Frame): 已建立的TCP连接内的双向字节流,可以承载一条或多条消息
HTTPS概述
HTTPS:Hypertext Transfer Protocol Secure
- 对称加密:加密和解密都是使用同一个密钥
- 非对称加密:加密和解密需要使用两个不同的密钥:公钥(public key)和私钥(private key)