这是我参与「第四届青训营」笔记创作活动的的第6天
HTTP
HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。
• 应用层协议,基于TCP协议
• 请求 响应
• 简单可扩展
• 无状态
协议分析
协议分析(Protocol analysis)是使用解码网络协议头部和尾部的方法,以获取协议数据所表示的信息的过程。
报文
请求方法
Safe (安全的):不会修改服务器的数据的方法。
GET HEAD OPTIONS
Idempotent (幂等):同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的,所有safe的方法都是Idempotent的。
GET HEAD OPTIONS PUT DELETE
状态码
RESTful API
RESTful API :一种API设计风格;
REST-Representational State Transfer
(1)每一个URI代表一种资源;
(2)客户端和服务端之间,传递这种资源的某种表现层;
(3)客户端通过HTTP method,对服务器端资源进行操作,实现“表现层状态转化”。
常用请求头
常用响应头
缓存
cookie
Cookie(储存在用户本地终端上的数据),有时也用其复数形式Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。
发展
HTTP/2
HTTP/2 (原名HTTP/2.0)即 超文本传输协议 2.0,是下一代 HTTP协议 。 是由 互联网工程任务组 ( IETF )的Hypertext Transfer Protocol Bis (httpbis)工作小组进行开发。 是自1999年 http 1.1发布后的首个更新。
特点:更快、更稳定、更简单
帧
帧(frame):HTTP/2通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流。
• 二进制。
消息 :与逻辑请求或响应消息对于的完整的一系列帧。
数据流 :已建立的连接内的双字节流,可以承载一条或多条消息。
• 交错发送,接收方重组织。
• HTTP/2连接都是永久的,而且仅需要每个来源一个连接。
• 流控制 :阻止发送方向接收方发送大量数据的机制。
• 服务器推送。
HTTPS
HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。
HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
• 对称加密 :加密和解密都是使用同一个密匙。
• 非对称加密 :加密和解密需要使用两个不同的密匙:公匙(public key)和私匙(private key)。
如有错误,欢迎指正🥰