携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第23天,点击查看活动详情
Http请求头
http请求分为三部分:请求⾏,请求头, 请求体
1.请求头
报⽂头包含若⼲个属性 格式为“属性名:属性值”,
服务端据此获取客户端的基本信息
2.常⻅的请求头
- Accept: 浏览器⽀持的 MIME 媒体类型, ⽐如 text/html,application/json,image/webp,/ 等
- Accept-Encoding: 浏览器发给服务器,声明浏览器⽀持的编码类型,gzip, deflate
- Accept-Language: 客户端接受的语⾔格式,⽐如 zh-CN
- Connection: keep-alive,开启HTTP持久连接,复⽤传输通道
- Host:服务器的域名
- Origin:告诉服务器请求从哪⾥发起的,仅包括协议和域名
- CORS跨域请求中可以看到response有对应的header,Access-Control-Allow-OriginReferer:告诉服务器请求的原始资源的URI,其⽤于所有类型的请求,并且包括:协议+域名+查询参数;
- User-Agent: 服务器通过这个请求头判断⽤户的软件的应⽤类型、操作系统、软件开发商以及版本号、浏览器内核信息等;
- Cookie: 表示服务端给客户端传的http请求状态,也是多个key=value形式组合,⽐如登录后的令牌等
- Content-Type: HTTP请求提交的内容类型,⼀般只有post提交时才需要设置,浏览器把form数据封装到请求体中(key=value形式),然后发送到服务器,⽐如⽂件上传,表单提交等
Http响应头
1.响应头
报⽂头包含若⼲个属性 格式为“属性名:属性值”
2.常⻅的响应头
- Allow: 服务器⽀持哪些请求⽅法
- Content-Length: 响应体的字节⻓度
- Content-Type: 响应体的MIME类型
- Content-Encoding: 设置数据使⽤的编码类型
- Date: 设置消息发送的⽇期和时间
- Expires: 设置响应体的过期时间,⼀个GMT时间,表示该缓存的有效时间
- cache-control: Expires的作⽤⼀致,都是指明当前资源的有效期, 控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据,优先级⾼于Expires,控制粒度更细,如max-age=3600,即⼀个⼩时
- Location:表示客户端应当到哪⾥去获取资源,⼀般同时设置状态代码为3xxServer: 服务器名称
- Transfer-Encoding:chunked 表示输出的内容⻓度不能确定,静态⽹⻚⼀般没有,基本出现在动态⽹⻚⾥⾯
- Access-Control-Allow-Origin: 定哪些站点可以参与跨站资源共享