初识HTTP协议,掌握基本概念含义| 青训营

72 阅读2分钟

一.初识HTTP协议

1.初识HTTP

  • HTTP是指Hyper Text Transfer Protocol(超文本传输协议)
  • 应用层协议,基于TCP协议
  • 请求 响应
  • 简单可扩展
  • 无状态 (具体情况可以查看下图:)

屏幕截图 2023-08-26 210004.png

屏幕截图 2023-08-26 210146.png

2.协议分析

协议分析——发展

如下图所示:

屏幕截图 2023-08-26 210709.png

(1)HTTP/0.9 单行协议
  • 请求GET/mypage.html
  • 响应只有HTML文档
(2)HTTP/1.0 构建可扩展性
  • 增加了Header
  • 有了状态码
  • 支持多种文档类型
...
(3)HTTP/1.1 标准化协议
  • 链接复用
  • 缓存
  • 内容协商
...

屏幕截图 2023-08-26 211851.png

(4)HTTP/2 更优异的表现
  • 二进制协议
  • 压缩header
  • 服务器推送
...
(5)HTTP/3 草案

协议分析——报文

如下图所示: 屏幕截图 2023-08-26 211944.png

  • Safe(安全的):不会修改服务器的数据的方法
  • Idempotent(幂等):同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的。
状态码

如下图所示: 屏幕截图 2023-08-26 213046.png

RESTful API

*一种API设计风格

*REST——Representational State Transfer

(1)每一个URI代表一种资源

(2)客户端与服务器之间,传递这种资源的某种表现层

(3)客户端通过HTTP method,对服务器端资源进行操作,实现“表现层状态转化” 屏幕截图 2023-08-26 213636.png

常用请求头

具体情况如下图所示:

屏幕截图 2023-08-26 213745.png

常用响应头

具体情况如下图所示:

屏幕截图 2023-08-26 213844.png

缓存

强缓存协商缓存

缓存的流程图为:

屏幕截图 2023-08-26 214025.png

cookie

在协议分析——发展中,HTTP/2概述:更快 、 更稳定 、 更简单

  • (frame):HTTP/2通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流
  • 二进制
  • 消息:与逻辑请求或响应消息对应的完整的一系列帧
  • 数据流:已建立的连接内的双向字节流,可以承载一条或多条消息
  • 交错发送,接收方重组织
  • HTTP/2连接都是永久的,而且仅需要每个来源一个连接
  • 流控制:组织发送方向接收方发送大量数据的机制

HTTPS概述

  • HTTPS: Hypertext Transfer Protocol Secure
  • 经过TSL/SSL加密
  • 对称加密:加密和解密都是使用同一个密钥
  • 非对称加密,加密和解密需要使用两个不同的密钥:公钥和私钥