D6.HTTP实用指南 | 青训营笔记

187 阅读3分钟

这是我参与「第四届青训营」笔记创作活动的的第6天

HTTP

HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。

屏幕截图 2022-08-04 200809.png

• 应用层协议,基于TCP协议
• 请求 响应
• 简单可扩展
• 无状态

屏幕截图 2022-08-04 200822.png

协议分析

协议分析(Protocol analysis)是使用解码网络协议头部和尾部的方法,以获取协议数据所表示的信息的过程

报文

请求方法

屏幕截图 2022-08-04 203439.png
Safe (安全的):不会修改服务器的数据的方法。 GET HEAD OPTIONS
Idempotent (幂等):同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的,所有safe的方法都是Idempotent的。 GET HEAD OPTIONS PUT DELETE

状态码

屏幕截图 2022-08-04 204050.png

RESTful API

RESTful API :一种API设计风格;
REST-Representational State Transfer
(1)每一个URI代表一种资源; (2)客户端和服务端之间,传递这种资源的某种表现层; (3)客户端通过HTTP method,对服务器端资源进行操作,实现“表现层状态转化”。

屏幕截图 2022-08-04 204629.png

常用请求头

屏幕截图 2022-08-04 204658.png

常用响应头

屏幕截图 2022-08-04 204713.png

缓存

屏幕截图 2022-08-04 205011.png

屏幕截图 2022-08-04 205032.png

屏幕截图 2022-08-04 204953.png

cookie

Cookie(储存在用户本地终端上的数据),有时也用其复数形式Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。

屏幕截图 2022-08-04 205407.png

发展

屏幕截图 2022-08-04 201747.png

HTTP/2

HTTP/2 (原名HTTP/2.0)即 超文本传输协议 2.0,是下一代 HTTP协议 。 是由 互联网工程任务组 ( IETF )的Hypertext Transfer Protocol Bis (httpbis)工作小组进行开发。 是自1999年 http 1.1发布后的首个更新。

特点:更快、更稳定、更简单

屏幕截图 2022-08-04 205638.png

(frame):HTTP/2通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流。
• 二进制。

屏幕截图 2022-08-04 210030.png 消息 :与逻辑请求或响应消息对于的完整的一系列帧。
数据流 :已建立的连接内的双字节流,可以承载一条或多条消息。
• 交错发送,接收方重组织。

屏幕截图 2022-08-04 210107.png • HTTP/2连接都是永久的,而且仅需要每个来源一个连接。
• 流控制 :阻止发送方向接收方发送大量数据的机制。
• 服务器推送。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。
HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。

屏幕截图 2022-08-04 210526.png
• 对称加密 :加密和解密都是使用同一个密匙。
• 非对称加密 :加密和解密需要使用两个不同的密匙:公匙(public key)和私匙(private key)。

屏幕截图 2022-08-04 210808.png

如有错误,欢迎指正🥰