前端在日常开发,应该对浏览器发起的请求有所了解,可以在跟后端联调接口,或者网络情况出现问题时能快速定位问题根源,本文整理了前端开发所必需要了解的请求头和响应头字段,希望对前端开发有所帮助
常见的HTTP请求头
Connection
表示客户端和服务端的连接状态,在HTTP1.0默认是持久连接,值为keep-alive
Accept
告诉服务器客户端接收文件类型,例如常见的有 text/html
,text/css
,*/*
Accept-Language
告诉服务器客户端接收的语言,例如 zh,en;q=0.9,zh-CN;q=0.8
Referer
客户端发起请求一般会携带 Referer 告诉服务端请求来源地址,这个请求头就可以用来预防CSRF ,一个小细节,做好笔记
User-Agent
客户端告诉服务器的用户代理信息,比如操作系统,浏览器类型以及浏览器版本信息,例如
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36
Cookie
客户端告诉服务器请求的会话标识,也可以传递身份认证等相关信息
Content-Type
请求的内容类型,例如 application/json
表示 json类型,x-www-form-urlencoded
表示表单编码,也是一个常用的请求头,做好笔记
常见的HTTP响应头
以下是前端使用场景最多的HTTP响应头
Content-Encoding
服务器告诉客户端文件的编码类型,比如gzip代表是gzip压缩过的文件
Content-Type
服务器告诉客户端文件类型,如果 text/html
浏览器会直接渲染成页面,如果是 text/plain
就渲染成txt文本,当然还有其他的 MIME_TYPE
Cache-Control
服务器告诉浏览器如何控制静态资源的缓存,通常值为整数,表示多少秒。这个请求头就可以用来控制静态文件缓存失效时间,又一个极小的细节,做好笔记,例如
cache-control: public, max-age=31536000, s-maxage=31536000, immutable
Server
服务器告诉客户端服务器使用的是什么服务,比如 Server: nginx/1.16.1
Access-Control-Allow-Origin
服务器允许什么源发起请求,配置这个可以解决跨域,相关联的还有 Access-Control-Allow-Credentials
,Access-Control-Allow-Headers
,Access-Control-Allow-Methods
上面整理的都是前端必须要了解的请求头和响应头