http请求中请求头讲解(摘录)

在学习Requests模块时需要了解request与response
现抄录整理一份request请求头的内容讲解:
1.名词解释

Accept:发送端(客户端)希望接受的数据类型。

比如:
text/xml(application/json)代表客户端希望接受的数据类型是xml(json )类型

Content-Type:发送端(客户端|服务器)发送的实体数据的数据类型。

比如:
text/html(application/json)代表发送端发送的数据格式是html(json)。
二者合起来,Accept:text/xml;Content-Type:text/html即代表希望接受的数据类型是xml格式,本次请求发送的数据的数据格式是html。

2.HTTP协议传输的媒体类型及如何表示媒体类型
MediaType,即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。

类型格式:type/subtype(;parameter)? type
主类型,任意的字符串,如text,如果是号代表所有;
subtype 子类型,任意的字符串,如html,如果是号代表所有;
parameter 可选,一些参数,如Accept请求头的q参数, Content-Type的 charset参数。
例如:Content-Type: text/html;charset:utf-8;

3.常见的MediaType:

text/html:HTML格式
text/plain:纯文本格式
text/xml: XML格式
image/gif:gif图片格式
image/jpeg:jpg图片格式
image/png:png图片格式
application/xhtml+xml:XHTML格式
application/xml: XML数据格式
application/atom+xml:Atom XML聚合格式
application/json:JSON数据格式
application/pdf:pdf格式
application/msword: Word文档格式
application/octet-stream: 二进制流数据(如常见的文件下载)
application/x-www-form-urlencoded:中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
multipart/form-data: 需要在表单中进行文件上传时,就需要使用该格式
Conteny-Type:内容类型,即请求/响应的内容区数据的媒体类型
Accept:用来指定什么媒体类型的响应是可接受的,即告诉服务器我需要什么媒体类型的数据,此时服务器应该根据Accept请求头生产指定媒体类型的数据。

4.当你有如下Accept头,将遵守如下规则进行应用:

Accept:text/html,application/xml,application/json
将按照如下顺序进行produces的匹配 ①text/html ②application/xml ③application/json

Accept:application/xml;q=0.5,application/json;q=0.9,text/html
将按照如下顺序进行produces的匹配 ①text/html ②application/json ③application/xml
【参数为媒体类型的质量因子,越大则优先权越高(从0到1)】

Accept:/,text/,text/html
将按照如下顺序进行produces的匹配 ①text/html ②text/
③/
【即匹配规则为:最明确的优先匹配。】

顺便贴上原地址:https://www.jianshu.com/p/75e560d287f7

其他请求头字段:
1、Accept-Charset: 浏览器申明自己接收的字符集
2、Accept-Encoding: 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate)
3、 Accept-Language:浏览器申明自己接收的语言 语言跟字符集的区别:中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等。
4、 Authorization:当客户端接收到来自WEB服务器的 WWW-Authenticate 响应时,用该头部来回应自己的身份验证信息给WEB服务器。
5、 Connection
1)请求:
close(告诉WEB服务器或者代理服务器,在完成本次请求的响应后,断开连接,不要等待本次连接的后续请求了)。 keepalive(告诉WEB服务器或者代理服务器,在完成本次请求的响应后,保持连接,等待本次连接的后续请求)。

2)响应:
close(连接已经关闭)。
keepalive(连接保持着,在等待本次连接的后续请求)。
Keep-Alive:如果浏览器请求保持连接,则该头部表明希望 WEB 服务器保持连接多长时间(秒)。例如:Keep-Alive:300

6、Host :请求头指明了服务器的域名(对于虚拟主机来说),以及(可选的)服务器监听的TCP端口号。

如果没有给定端口号,会自动使用被请求服务的默认端口(比如请求一个HTTP的URL会自动使用80端口)。

HTTP/1.1 的所有请求报文中必须包含一个Host头字段。如果一个 HTTP/1.1 请求缺少 Host 头字段或者设置了超过一个的 Host 头字段,一个400(Bad Request)状态码会被返回。

7、User-Agent:浏览器表明自己的身份(是哪种浏览器)。例如:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36

更多内容戳:https://www.byvoid.com/zhs/blog/http-keep-alive-header

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值