这是我参与「第四届青训营」笔记创作活动的第四天
HTTP实用指南
HTTP
Hyper Text Transfer Protocol 超文本传输协议,可以承载多种体裁(HTML,CSS,JavaScript,API)
应用层协议,基于TCP协议
请求响应
简单可扩展
无状态(每个请求之间是孤立的)
method
get:获取资源请求
post:提交请求
put:已有载体的替换
delete:删除
options:通信选项前置
idempotent(幂等):所有安全的方法都是幂等的/同样的请求被执行一次与连续多次的效果是一样的,服务器的状态也是一样的
RESTful API(一种API设计风格)
每一个URI代表一种资源
客户端和服务器之间,传递这种资源的某种表现层
客户端通过HTTP method,对服务器端资源进行操作,实现“表现层状态转化”
常用请求头:
accept:接受资源类型
content- type:发送内容的实体是什么样的类型
常用响应头:
content- type:返回的实体内容
缓存:强缓存/协商缓存
HTTP/2概述:更快,更稳定,更简单
帧:HTTP/2通信的最小单位
消息:与逻辑请求或响应消息对应的完整的一系列帧
数据流:已建立的连接内的双向字节流,可以承载一条或多条消息
特性:HTTP/2链接都是永久的,仅需每个来源一个连接/流控制(阻止发送方向接收方发送大量数据的机制)
HTTPS:经过TSL/SSL加密,对称加密和非对称加密混用
跨域解决方案:
CORS
代理服务器(同源策略是浏览器的安全策略,不是HTTP)
Iframe(不方便)
总结
通过今天的内容,我深度了解了HTTP的相关内容,了解了HTTP的发展历史和每一代的区别,还有一些场景分析,可以更清晰的知道打开一个网址后台的运行流程和步骤。