`
coach
  • 浏览: 382463 次
  • 性别: Icon_minigender_2
  • 来自: 印度
社区版块
存档分类
最新评论

HTTP请求Header分析

    博客分类:
  • http
阅读更多
客户端HTTP请求的Header信息
1、HTTP请求方式

GET
向Web服务器请求一个文件
POST
向Web服务器发送数据让Web服务器进行处理
PUT
向Web服务器发送数据并存储在Web服务器内部
HEAD
检查一个对象是否存在
DELETE
从Web服务器上删除一个文件
CONNECT
对通道提供支持
TRACE
跟踪到服务器的路径
OPTIONS
查询Web服务器的性能

说明:

主要使用到“GET”和“POST”。

实例:

POST /test/tupian/cm HTTP/1.1

分成三部分:

(1)POST:HTTP请求方式

(2)/test/tupian/cm:请求Web服务器的目录地址(或者指令)

(3)HTTP/1.1: URI(Uniform Resource Identifier,统一资源标识符)及其版本

备注:

         在Ajax中,对应method属性设置。


2、Host

说明:

请求的web服务器域名地址

实例:

例如web请求URL:http://zjm-forum-test10.zjm.baidu.com:8088/test/tupian/cm

Host就为zjm-forum-test10.zjm.baidu.com:8088


3、User-Agent

说明:

HTTP客户端运行的浏览器类型的详细信息。通过该头部信息,web服务器可以判断到当前HTTP请求的客户端浏览器类别。

实例:

    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11


4、Accept

说明:

指定客户端能够接收的内容类型,内容类型中的先后次序表示客户端接收的先后次序。

实例:

         例如:

Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

备注:

在Prototyp(1.5)的Ajax代码封装中,将Accept默认设置为“text/javascript, text/html, application/xml, text/xml, */*”。这是因为Ajax默认获取服务器返回的Json数据模式。

在Ajax代码中,可以使用XMLHttpRequest 对象中setRequestHeader函数方法来动态设置这些Header信息。


5、Accept-Language

说明:

    指定HTTP客户端浏览器用来展示返回信息所优先选择的语言。

实例:

Accept-Language: zh-cn,zh;q=0.5

         这里默认为中文。


6、Accept-Encoding

说明:

         指定客户端浏览器可以支持的web服务器返回内容压缩编码类型。表示允许服务器在将输出内容发送到客户端以前进行压缩,以节约带宽。而这里设置的就是客户端浏览器所能够支持的返回压缩格式。

实例:

         Accept-Encoding: gzip,deflate

备注:

其实在百度很多产品线中,apache在给客户端返回页面数据之前,将数据以gzip格式进行压缩。

另外有关deflate压缩介绍:

http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/mod/mod_deflate.html


7、Accept-Charset

说明:

         浏览器可以接受的字符编码集。

实例:

         Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7


8、Content-Type

说明:

显示此HTTP请求提交的内容类型。一般只有post提交时才需要设置该属性。

实例:

         Content-type: application/x-www-form-urlencoded;charset:UTF-8

有关Content-Type属性值可以如下两种编码类型:

(1)“application/x-www-form-urlencoded”: 表单数据向服务器提交时所采用的编码类型,默认的缺省值就是“application/x-www-form-urlencoded”。 然而,在向服务器发送大量的文本、包含非ASCII字符的文本或二进制数据时这种编码方式效率很低。

(2)“multipart/form-data”: 在文件上载时,所使用的编码类型应当是“multipart/form-data”,它既可以发送文本数据,也支持二进制数据上载。

当提交为单单数据时,可以使用“application/x-www-form-urlencoded”;当提交的是文件时,就需要使用“multipart/form-data”编码类型。

在Content-Type属性当中还是指定提交内容的charset字符编码。一般不进行设置,它只是告诉web服务器post提交的数据采用的何种字符编码。

         一般在开发过程,是由前端工程与后端UI工程师商量好使用什么字符编码格式来post提交的,然后后端ui工程师按照固定的字符编码来解析提交的数据。所以这里设置的charset没有多大作用。


9、Connection

说明:

表示是否需要持久连接。如果web服务器端看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。要实现这一点, web服务器需要在返回给客户端HTTP头信息中发送一个Content-Length(返回信息正文的长度)头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然 后在正式写出内容之前计算它的大小。


实例:

Connection: keep-alive


10、Keep-Alive

说明:

         显示此HTTP连接的Keep-Alive时间。使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。

         以前HTTP请求是一站式连接,从HTTP/1.1协议之后,就有了长连接,即在规定的Keep-Alive时间内,连接是不会断开的。


实例:

Keep-Alive: 300


11、cookie

说明:

         HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。


12、Referer

说明:

包含一个URL,用户从该URL代表的页面出发访问当前请求的页面


·服务器端返回HTTP头部信息

1、Content-Length

说明:

         表示web服务器返回消息正文的长度


2、Content-Type:

说明:

         返回数据的类型(例如text/html文本类型)和字符编码格式。


实例:

Content-Type: text/html;charset=utf-8


3、Date

说明:

         显示当前的时间

分享到:
评论

相关推荐

    go语言在请求http时加入自定义http header的方法

    主要介绍了go语言在请求http时加入自定义http header的方法,实例分析了Go语言http请求的原理与操作技巧,需要的朋友可以参考下

    http header 详解

    HTTP Headers是HTTP请求和相应的核心,它承载了关于客户端浏览器,请求页面,服务器等相关的信息, 此文档帮助你分析HTTP headers

    HTTP报头分析仪「HTTP Header Analyzer」-crx插件

    显示当前(基本页面)http请求和请求的响应头。 我写了这个扩展程序是因为我对所有具有该功能的类似扩展程序感到恼火,但后来却采用了pay2win的心态,或者发展为共享软件或开始制作广告。 这将保持免费,因为我需要它...

    php下的原生ajax请求用法实例分析

    浏览器中为我们提供了一个JS对象XMLHttpRequet,它可以帮助我们发送HTTP请求,并接受服务端的响应。 意味着我们的浏览器不提交,通过JS就可以请求服务器。  ajax(Asynchronous Javascript And XML)其实就是通过XHR...

    Ajax请求跨域问题解决方案分析

    本文实例讲述了Ajax请求跨域问题解决方案。分享给大家供大家参考,具体如下: 几乎每种浏览器都存在默认的安全机制,都有同源策略,因为浏览器恶意的把每个外部请求的都当做是黑客攻击,相当于是对自身的保护,所以...

    Do Not Track-crx插件

    此扩展是DNT准入或退出所有浏览器请求的准系统,简单的HTTP请求HEADER注入器。 选择加入DNT可以阻止任何网站跟踪您。 只需单击DNT扩展程序图标即可启用(启用阻止跟踪)或停用(禁用-允许跟踪)。 有关DNT的更多信息...

    不跟踪「Do Not Track」-crx插件

    此扩展是DNT准入或退出所有浏览器请求的准系统,简单的HTTP请求HEADER注入器。选择加入DNT可以阻止任何网站跟踪您。只需单击DNT扩展程序图标即可启用(启用阻止跟踪)或停用(禁用-允许跟踪)。有关DNT的更多信息:*...

    企业网络资产及安全事件分析数据集

    包含tcpflow、flow、db、login四个文件夹,tcpflow是记录TCP协议层的数据传输记录,flow日志是http请求中header的数据记录,db日志是记录数据库操作的日志(SQL语句的执行记录),login日志是记录登录结果的日志(包括...

    php curl中gzip的压缩性能测试实例分析

    本文实例分析了php curl中gzip的压缩性能测试。分享给大家供大家参考,具体如下: 前因: ...curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Encoding:gzip')); //curl返回的结果,采用gzip解压 c

    HttpHelper万能框架V2.2

    大家好我是苏飞 , 我的HttpHelper类相信很多人都用过, HttpHelper可以非常方便的实现Http协议的GET和POST请求、自动识 别编码、无视证书、优化Cookie、可以很方便的设置Cookie,Header,证书,代理等问题, 编码...

    python爬虫headers设置后无效的解决方法

    在爬取某个app数据时(app上的数据都是由http请求的),用Fidder分析了请求信息,并把python的request header信息写在程序中进行请求数据 代码如下 import requests url = '...

    监控Nodejs的性能实例代码

    记录分析Log太麻烦,最简单的方式是记录每个HTTP请求的处理时间,直接在HTTP Response Header中返回。 记录HTTP请求的时间很简单,就是收到请求记一个时间戳,响应请求的时候再记一个时间戳,两个时间戳之差就是处理...

    python爬虫入门教程–利用requests构建知乎API(三)

    发送私信的过程就是浏览器向服务器发送一个 HTTP 请求,请求报文包括请求 URL、请求头 Header、还有请求体 Body,只要把这些信息弄清楚,那么就很容易用 requests 来模拟浏览器发送私信了。 打开 Chrome 浏

    用户层和传输层协议分析指导书

    数据封装(Data Encapsulation),由上到下在每一层数据加上报头,header,分别加入传输方式,IP地址,MAC地址等信息 解封装,就是封装的逆过程,拆解协议包,由下到上去除报头 数据封装和解封装是一对逆过程。 4. ...

    贵阳人文科技学院简历制作ppt

    小logo和图标使用阿里开源的iconfont矢量库,其余小图标切成Sprite图来减少HTTP请求。根据业主要求,网站兼容到chrome,FF,IE9+并使用响应式布局,由于网站主要是展示效果,实现结构、功能、样式三者分离,使用源生js...

    firefox52.0.2最新渗透便携版,打开解压就可以使用,包含了几乎所有的渗透测试插件

    firefox52.0.2最新渗透便携版,打开解压就可以使用,包含了几乎所有的渗透测试插件 Firefox是一一个出自Mozilla组织的流行的Web浏览器。Firefox的流行并不仅仅是因为它是一-个好...HTTP Header Live Flagfox Wappalyzer

    IEHttpHeader 显示浏览器的http详情

    ieHTTPheaders用于分析在访问web服务器的时候,客户机与服务器进行的数据交换。它会显示请求和响应的header信息

    ieHttpHeader v1.6

    它会显示请求和响应的header信息,对于解析web服务器的工作情况非常有帮助。推荐使用。 支持ie7 ie8。安装完毕后,打开浏览器,点击 查看-浏览器栏- iehttpheaders,在浏览器的下方就会出现它的分析显示区域。然后...

    关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析

    默认情况下,所有网站都是通过 HTTP 请求的 Header 头部中的 Cookie 实现的,通过 Cookie 中指定的 SessionID 来关联到服务端对应数据,从而实现会话功能。 但对于手机客户端,可能并不会支持原始的 Cookie,亦或者...

    python网络爬虫基础那点事!

    r.status_code --HTTP请求的返回状态,200表示成功 r.text --url对应的页面内容 r.encoding --从HTTP header中猜测的响应内容的编码方式 r.apparent_encoding --从内容中分析出的响应内容编码方式(备选编码方式...

Global site tag (gtag.js) - Google Analytics