HTTP协议数据结构分析

Posted 小骆骆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP协议数据结构分析相关的知识,希望对你有一定的参考价值。

一:网络协议HHTP

  超文本传输协议

  RFC2616

二:HTTP报文主要结构

  1)Request

    Method(get,post) ---请求方式

    URL-------请求地址

    Header------请求头

    Body--------请求体

  2)Response

    Status Code-------状态码

    Header--------响应头

    Body--------响应体

三:HTTP状态码

  200:成功,这个成功只是表示服务器正常处理完成了,并不能表示逻辑的正确性

  301,320:跳转,一般可以在header中看到location,即跳转地址,区别是一个是临时跳转一个是固定跳转

  304:未修改,服务器发现资源文件标识未变动,通知客户端读取本地缓存文件即可

  400:客户端请求信息格式问题

  403:一般是禁止访问,比如文件,目录等存在,但做了访问限制

  404:一般为文件,目录不存在,但也可以将其他情况伪装成为不存在

  500:出现这个一般都是服务端的代码直接抛出异常导致

  502,503,504:这个类似,在网络异常等情况下都可以出现,也有很多代码抛出错误时候出现

 

四:HTTP常规Header信息与作用(Request)

  Host:必须存在,域名指定(类似与分类,但端口用于区分访问那个域名)

  Accept:表示自身可接受的信息类容,类似建议,有子项

  User-Agent:客户端标识信息(系统版本,浏览器,内核等)

  Cookie:特殊的信息存储位置,用于自动交互,无需代码干涉

  Referer:来源,即通过什么页面或文件触发的请求,如果是浏览器地址栏回车则没有该值

  Connection:控制长短链接,告诉对方当前链接状态(Keep-Alive,Close)

  Range:指定返回信息范围(断点持续子类使用)

  Content-Type:请求正文的类型,编码等信息

  Content-Length:请求正文长度

  If-Modifiled-Since:缓存相关,本地文件的标识有效期

  If-None-Match:缓存相关,本地文件的特征码,对应返回信息中的ETag

 

五:HTTP常规Header信息与作用(Reaponse)

  Date:时间,一般是服务器当前时间

  Content-Encoding:返回正文的压缩编码类型

  Content-Length:返回正文的长度

  Content-Type:返回正文的类型,编码等信息

  Cache-Control:缓存机制以及策略,时间,方式等

  Etag:返回文件信息的特征码

  Expires:返回文件信息的缓存有限期

  Set-Cookie:要求设置的Cookie,可以多次出现的头信息

  Location:自动重定向到其他新的地址,一般状态301,302时会出现

  Connection:控制长短链接,告诉对方当前链接状态,默认Keep,当双方都为Keep时则链接会在下次沿用

 

以上是关于HTTP协议数据结构分析的主要内容,如果未能解决你的问题,请参考以下文章

HTTP协议分析

HTTP概念&协议报文结构&请求响应数据报分析

HTTP协议报文结构及抓包报文分析示例

Wireshark数据包分析之HTTP协议包解读

Http协议简易分析

http协议cookie结构分析