http常见请求头、响应头、content-type内容类型

http请求分为三部分:请求行,请求头, 请求体

请求头

  • 报文头包含若干个属性 格式为“属性名:属性值”,
  • 服务端据此获取客户端的基本信息

常见的请求头

  • 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-Origin
  • Referer:告诉服务器请求的原始资源的URI,其用于所有类型的请求,并且包括:协议+域名+查询参数; 很多抢购服务会用这个做限制,必须通过某个入来进来才有效
  • User-Agent: 服务器通过这个请求头判断用户的软件的应用类型、操作系统、软件开发商以及版本号、浏览器内核信息等; 风控系统、反作弊系统、反爬虫系统等基本会采集这类信息做参考
  • Cookie: 表示服务端给客户端传的http请求状态,也是多个key=value形式组合,比如登录后的令牌等
  • Content-Type: HTTP请求提交的内容类型,一般只有post提交时才需要设置,比如文件上传,表单提交等

 

响应头

报文头包含若干个属性 格式为“属性名:属性值”

常见的响应头

  • Allow: 服务器支持哪些请求方法
  • Content-Length: 响应体的字节长度
  • Content-Type: 响应体的MIME类型
  • Content-Encoding: 设置数据使用的编码类型
  • Date: 设置消息发送的日期和时间
  • Expires: 设置响应体的过期时间,一个GMT时间,表示该缓存的有效时间
  • cache-control: Expires的作用一致,都是指明当前资源的有效期, 控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据,优先级高于Expires,控制粒度更细,如max-age=240,即4分钟
  • Location:表示客户应当到哪里去获取资源,一般同时设置状态代码为3xx
  • Server: 服务器名称
  • Transfer-Encoding:chunked 表示输出的内容长度不能确定,静态网页一般没,基本出现在动态网页里面
  • Access-Control-Allow-Origin: 定哪些站点可以参与跨站资源共享

Content-type

用来指定不同格式的请求响应信息,俗称 MIME媒体类型

常见的取值

text/html :HTML格式

text/plain :纯文本格式

text/xml : XML格式

image/gif :gif图片格式

image/jpeg :jpg图片格式

image/png:png图片格式

application/json:JSON数据格式

application/pdf :pdf格式

application/octet-stream :二进制流数据,一般是文件下载

application/x-www-form-urlencoded:form表单默认的提交数据的格式,会编码成key=value格式

multipart/form-data: 表单中需要上传文件的文件格式类型

Http知识加深文档:https://developer.mozilla.org/zh-CN/docs/Web/HTTP

你可能感兴趣的:(http)