http各头部

1、短连接和长连接

1.1  Connection头部

  • Connection:keep-Alive  长连接
  • Connection:close    短连接

   Connection仅对当前连接有效

 1.2  Proxy- Connection  代理服务器的Connection头部

 

2.消息的转发

2.1 Max-Forwards头部

         限制经过的代理服务器的最大个数,仅对TRACE和OPTIONS方法有效

2.2  Via头部

         指明经过的代理服务器名称和版本

2.3  Cache-Control:no-transform  :禁止代理服务器修改响应包体

 2.4   当网络中存在许多反向代理,各层IP地址都各不相同

  • X-Forwarded-For:用于传递多层IP
  • X-Real-IP:传递用户IP

 

3. 请求的上下文

3.1  User-Agent头部

 指明客户端的类型信息(如操作系统信息和浏览器的渲染引擎,服务器可以据此对资源的表述做抉择

3.2  Referer头部

浏览器对来自某一页面的请求自动添加的头部

不会被自动添加的情况:来源页面的协议为表示本地文件的file或Data URI

当前请求页面采用的协议是http ,来源页面的协议是https

3.3  From头部

主要用于网络爬虫,用于告诉服务器如何通过邮件找到爬虫负责人(From:xxx@example.com)

 

4.响应的上下文

4.1  Server头部

指明服务器上所用软件的信息,帮助客户端定位问题

4.2  Allow头部

告诉客户端,服务器上该URI对应的资源运行哪些方法的执行(比如GET、POST等)

4.3  Accept-Ranges头部

告诉客户端服务器上该资源是否运行range请求,例如Accept-Ranges:bytes

 

5. 内容协商

请求的头部:

Accept:内容可接受的类型及优先级

Accept-Charset:字符编码(已废弃)

Accept-Encoding:内容编码,只压缩算法,比如zip

Accept-Language:表述语言

响应的头部:

Content-Encoding:gzip

Content-Type:application/json;charset=UTF-8  媒体的类型及编码

Content-Language:响应语言

 

6.包体

1、是否确定包体的全部长度(响应端)

  • 已能确定全部长度:Content-Length:明确指明包体长度
  • 不能确定包体长度:Transfer-Encoding:"chunked"/"gzip"/"compress"...

(更多chunk(分块传输编码)见视频)

 

7、Range 请求范围

7.1  基于字节,设包体总长为1000

第一个500字节:bytes=0-499

最后一个500字节:bytes=-500

第一个字节:bytes=0-0

最后一个字节:bytes=-1

通过Range传递请求范围:Range:bytes=0-499   

 

7.2服务器响应

1)  206 Partial Content

 Content-Range:显示当前片段包体在完整包体中的位置

 Content-Range:bytes 12-111/123

2)416  Range  Not Satisfiable  请求范围不满足实际资源的大小

Content-Range:bytes */123

3) 200  OK  服务器不支持Range请求时,则以200返回完整的响应包体

 

 

8、跨域访问

请求Origin头部:来自哪个域名

响应Access-Control-Allow-Origin头部:允许哪些域名

 

 

 

转载: https://time.geekbang.org/course/detail/175-93590

??????

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值