`
guohf
  • 浏览: 417985 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

说明:

         显示当前的时间

分享到:
评论

相关推荐

    JSP获取HTTP header信息(request)例子

    通过上述分析,我们可以清楚地了解到在JSP中如何利用`HttpServletRequest`对象来获取各种HTTP请求信息,这对于优化Web应用性能、提高用户体验以及加强安全性等方面都有着重要作用。开发者可以根据实际需求灵活运用...

    ajax添加header整理

    这种方式适用于简单的HTTP请求,特别是当Header信息固定不变或者变化不大时。 ##### 2. 使用`beforeSend`回调函数设置Header ```javascript $("#test").click(function () { $.ajax({ type: "GET", url: ...

    C#获取目标网址http头信息,比如状态码等等信息

    在C#编程中,我们需要经常处理HTTP请求,获取目标网址的HTTP头信息,例如状态码、响应时间、服务器类型等,这些信息对于分析网页状态、诊断网络问题以及构建Web应用程序非常有用。本文将深入探讨如何在C#中获取这些...

    模拟HTTP请求-httpdebug

    当我们需要测试、调试或者学习HTTP协议时,模拟HTTP请求的工具就显得尤为重要。"httpdebug"便是这样一款工具,它为开发者提供了一个直观的平台,以模拟不同的HTTP请求并观察其响应结果。 httpdebug的主要功能包括:...

    使用HttpClient管理HTTP请求

    Apache HttpClient是一个强大的Java库,允许开发者方便地执行HTTP请求并处理响应。这篇博客“使用HttpClient管理HTTP请求”深入探讨了如何有效地利用HttpClient进行网络通信。 HttpClient提供了丰富的功能,包括但...

    Header Editor

    "Header Editor" 是一款专为Chrome浏览器设计的插件,主要功能是允许用户对HTTP请求头进行编辑。这款工具简洁而高效,可以帮助开发者、网络调试人员或者任何需要自定义网络请求头的用户进行便捷的操作。 在HTTP通信...

    http header 详解

    这些函数可以帮助开发者调试和分析网络请求,了解服务器和客户端之间的交互。 HTTP 请求的结构分为三部分:请求方法(如 GET、POST、HEAD)、请求路径(URL 中的路径部分)和协议版本。请求头则由多个名称-值对组成...

    C#实现Patch请求-demo

    - **`HttpHeader`类**:用于封装HTTP请求头部信息。 ```csharp public class HttpHeader { public long ContentLength { get; set; } public string contentType { get; set; } public string accept { get; ...

    Linux服务器nginx访问日志里出现大量http 400错误的请求分析

    服务器中的错误记录类似于这种: 124.65.133.242 – – [27/Oct/2014:14:30:51 +0800] “-” 400 0 “-” “-” 124.65.133.242 – – [27/Oct/2014:14:31:45 +0800] “-” 400 0 “-” ...经过分析nginx的log文件,发

    HttpWatch.Professional Http header查看,表单查看

    HttpWatch是一款专业的HTTP性能分析工具,它主要用于帮助开发者和网络管理员深入理解网页加载和交互过程中的性能问题。这款工具能够捕获并分析HTTP头部信息,同时提供表单数据的查看功能,以提升网页应用的效率和...

    HTTP请求头概述(HttpServletRequest)

    ### HTTP请求头概述 在HTTP协议中,客户端(如浏览器)与服务器之间的通信是通过请求和响应来实现的。客户端发起请求时,除了指定请求类型(通常为GET或POST)外,还可以附加一系列请求头(Request Headers)来提供...

    Http请求头和响应头

    HTTP请求头是客户端发送到服务器的一部分,它包含关于请求的附加信息,如客户端的类型、认证凭据、请求的资源类型等。以下是一些常见的请求头: 1. **User-Agent**: 描述发送请求的浏览器或应用程序的类型、版本和...

    mod header-3.1.27.zip

    “mod header”可能是一个浏览器扩展或插件,允许用户控制和定制HTTP请求头。这种工具对于开发者、安全研究人员和网络调试人员非常有用,他们可能需要改变请求头来测试网站、验证身份或者解决网络问题。 描述中的...

    orcle发起get请求

    在Oracle环境中,利用PL/SQL进行HTTP请求(特别是GET请求)是一项非常实用的功能。这不仅能够帮助我们实现与外部Web服务的交互,还能拓展Oracle数据库的功能边界。以下是对给定文件中的代码进行的详细解析。 #### ...

    uni-app 请求拦截器

    1. **设置全局请求头**: 可以统一设置所有请求的Header,例如设置`Content-Type`为`application/json`,或者添加自定义的Authorization token。 2. **数据预处理**: 在发送请求前对数据进行格式化,如JSON.stringify...

    Chrome插件:X-Forwarded-For Header

    在描述中提到的“X-Forwarded-For Header插件”是一个工具,允许用户便捷地配置HTTP请求中的`X-Forwarded-For`头。这个插件对于网络管理员、开发者以及需要跟踪和分析网络流量的人员尤其有用。通常情况下,当一个...

    java httpClient status 400错误的Header中字符不合法(csdn)————程序.pdf

    在Java编程中,HttpClient是一个广泛使用的HTTP客户端库,用于发送HTTP请求并接收响应。当遇到“status 400”错误时,这通常意味着服务器无法理解客户端发送的请求,因为请求有语法错误或者包含了无效的数据。在这个...

    风吟PHP HTTP Header 信息检测.rar

    这个工具对于开发者来说非常有用,因为它可以帮助他们了解服务器如何处理HTTP请求,以及如何返回响应。 在描述中,“利用curl检测HTTP头”提到了PHP中的cURL库。cURL是一个强大的库,用于在各种协议(包括HTTP)...

    Header Editor 插件

    标题中的“Header Editor 插件”指的是一个用于编辑HTTP头信息的工具,它允许用户自定义和修改HTTP请求和响应头部的数据。这类插件在Web开发、测试和调试过程中非常有用,因为它能帮助开发者控制和调整浏览器与...

    JAVA获取HTTP请求头的方法示例

    JAVA获取HTTP请求头的方法示例 在 Java 网络编程中,获取 HTTP 请求头是非常重要的一步骤。HTTP 请求头是指在 HTTP 请求中发送的附加信息,它提供了关于请求的更多信息,如请求的方法、协议版本、客户端信息等。...

Global site tag (gtag.js) - Google Analytics