HTTP报文结构分析

http请求报文结构

http请求报文结构分为,请求行,请求头,空行个请求体
请求报文行:请求方法,请求资源,http协议版本号
报文头:报文头包含若干个属性,核实为键值对格式,服务端会根据此能够获取到客户端的很多信息,比如host地址,connection,UA等
报文体:主要就是传输的数据

http报文头分为4类,分别是:

通用报文头,请求报文头,响应报文头,实体报文头
在http1.1时规范了标准化的47中报文头段

比较常见的:

Accept:浏览器可以接受的媒体类型

Accept:text/html 代表浏览器可以接受服务器返回的类型为text/html的文档,如果服务器无法返回text/html数据,服务器应该返回一个406错误(Non Acceptable)

Accept /:代表浏览器可以处理所有类型的
如果想要给显示的媒体类型增加优先级,则使用q=l 来额外表示权重值;权重值q的范围是0–1(可以精确小数点后三位),且最大值为1,不指定权重值时,默认权重为1.0。当服务器提供多种内容时,会将首先fanhui权重值最高的媒体类型。

Accept-Encoding:浏览器声明自己的、接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate)

Accept-Language:浏览器声明自己接收的语言
Accept-Language:zh-cn,zh;q=0.7,en-us,en;q=0.3
客户端在服务器有中文资源的情况下,会请求其返回中文版的对应响应,没有中文版时,则返回英文版响应

Connection

Connection:keep-alive: 当一个网页打开完成后,客户端和服务端之间用于传输HTTP数据的TCP链接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经创建的连接

Connection:close:代表一个request完成后,客户端和服务器之间用于传输HTTP数据的TCP连接会关闭,客户端再次发送request,需要重新建立TCP连接

Host

请求报头域主要用于指定被请求资源的internet主机和端口号,它通常是从http URL 中提取出来的

Referer

当浏览器想web服务器发送请求时,一般会带上referer,告诉我们服务器是从哪个页面连接过来的,服务器籍此可以获得一些信息用于处理

User-Agent

告诉http服务器,客户端使用操作系统和浏览器名称及版本
很多情况下我们会通过User-Agent来判断浏览器类型,从而进行不同的兼容设计

Content-Type

说明了包文提内对象的媒体类型
text/html:HTML
text/plain:纯文本
text/xml
image/gif:XML
image/jpeg
image/png
application/xhtml+xml:HTML格式
application/xml:XML数据格式
application/atom+xml:Atom XML聚合格式
application/json:json数据格式
application/msword:Word文档格式
application/cotet-stream:二进制数据流(如常见的文件下载)
application/x-www-form-urlencoded:表单提交

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值