`
gaofan0528
  • 浏览: 18762 次
社区版块
存档分类
最新评论

http报文

 
阅读更多

url遵循一种格式

url第一部分称为方案 大部分通常是http协议(http://)

第二部分是服务器的因特网地址(www.baidu.com(www万维网))

其他部分是web服务器上的某个资源

get方法就是负责从服务器截取一个文档 post方法会向服务器发送一个需要处理的数据 options 用于确定web服务器的一般功能或者web服务器处理特定

      GET方法用于请求服务器端发送某个资源
      HEADER方法跟GET方法类似,区别就是不返回主体
      PUT方法用于向服务器端修改、插入数据
      POST方法用于向服务器端发送数据
      TRACK方法用于向服务器端请求报文在发送的过程中经过了什么修改,主要用于测试
      OPTIONS用于请求服务器告知其支持什么功能
      DELETE用于向服务器删除某个指定的资源
      扩展方法其实类似于自定义方法
      状态码
      100-199 信息提示性状态码
      200-299 成功状态码 (常见200表示请求成功)
      300-399 重定向状态码 (常见302重定向)
      400-499 客户端错误状态码 (常见404,请求资源不存在)
500~599 服务器错误 (常见500)
常见状态码 
状态码    原因短语                          含义
200         ok                                   成功 请求的所有数据都在响应主体内

400 Bad Request 用于告知客户端发起了一个错误的请求

401         unauthorized(未授权)     需要输入用户名和密码

403 Forbidden 服务器拒绝请求,可在响应主体中告知原因

404         not found(未找到)           服务器无法找到所请求url对应资源

408 Request Timeout 超时提醒

----------------------------------------------------------

报文的语法

//请求报文

	<method> <request-URL> <version>
	<headers>

	<entity-body>
//响应报文

	<version> <status> <reason-phrase>
	<headers>

	<entity-body>

------------------------------------------------------------------

首部

首部分为通用首部、请求首部、响应首部、主体首部、扩展首部

通用首部 就是客户端和服务器都可以使用的通用首部

   通用的信息性首部

   首部                                         描述

   Connection               允许客户端和服务器指定与请求/响应连接有关的选项

   Date                     提供了日期的时间标志,说明报文是什么时间创建的

   MIME-Version             给出了发送端使用的MIME版本

   Trailer                  如果报文采用了分块传输编码方式,就可以用这个首部列出位于报文
                            拖挂部分的首部集合

   Transfer-Encoding        告知接收端为了保证报文的可靠传输,对报文采用了什么编码方式

   Update                   给出了发送端可能想要“升级”使用的新版本或协议

   Via                      显示了报文经过的中间节点(代理、网关)


   通用缓存首部

   首部                                 描述

   Cache-Control            用于随报文传送缓存指示

   Pragma                   另一种随报文传送指示的方式,但并不专用缓存

 

请求首部 它们为服务器提供一些额外信息,比如客户端希望接受什么类型的数据

首部                                描述

    Client-IP               提供了运行客户端的机器的IP地址

    From                    提供了客户端用户的E-mail地址

    Host                    给出了接收请求的服务器的主机名和端口号

    Referer                 提供了包含当前请求URL的文档的URL

    UA-Color                提供了与客户端显示器的显示颜色有关的信息

    UA-CPU                  给出了客户端CPU的类型或制造商

    UA-Disp                 提供了与客户端显示器(屏幕)能力有关的信息

    UA-OS                   给出了运行在客户端机器上的操作系统名称及版本

    UA-Pixels               提供了客户端显示器的像素信息

    User-Agent              将发起请求的应用程序名称告知服务器

    Accept首部

    首部                                  描述

    Accept                  告诉服务器能够发送那些媒体类型

    Accept-Charset          告诉服务器能够给发送那些字符集

    Accept-Encoding         告诉服务器能够发送那些编码方式

    Accept-Language         告诉服务器能够发送那些语言

    TE                      告诉服务器可以使用那些扩展传输编码



    条件请求首部

    首部                                描述

    Expect                  允许客户端列出某请求所要求的服务器行为

    If-Match                如果实体标记与文档当前的实体标记相匹配,就获取这份文档

    If-Modified-Since       除非在某个指定的日期之后资源被修改过,否则就限制这个请求

    If-None-Match           如果提供的实体标记与当前文档的标记不相符,就获取文档

    If-Range                允许对文档的某个范围进行条件请求

    If-Unmodified-Since     除非在某个指定日期之后资源没有被修改过,否则就限制这个请求

    Range                   如果服务器支持范围请求,就请求资源的指定范围


    安全请求首部

    首部                                  描述

    Authorization           包含了客户端提供给服务器,以便对其自身进行认证的数据

    Cookie                  客户端用它向服务器传送一个令牌————它并不是真正的安全首部,
                            但确实隐含了安全功能

    Cookie2                 用来说明请求端支持的cookie版本

    代理请求首部

    首部                                  描述

    Max-Forward             在通往源端服务器的路径上,将请求转发给其他代理或网关的最大次
                            数————与TRACE方法一同使用

    Proxy-Authorization     与Authorization首部相同,但这个首部是在与代理进行认证时使用

    Proxy-Connection        与Connection首部相同,但这个首部是在与代理建立连接时使用的

 响应首部 响应报文有自己的首部集 以便客户端提供信息(比如客户端在与那种类型的服务器进行交互,比如谁在发送响应 响应者的功能)

 响应的信息性首部

    首部                                        描述

    Age                     (从最初创建开始)响应持续时间

    Public                   服务器为其资源支持的请求方法列表

    Retry-After              如果资源不可用的话,在此日期或时间重试

    Server                   服务器应用程序软件的名称和版本

    Title                    对HTML文档来说,就是HTML文档的源端给出的标题

    Warning                  比原因短语中更详细的警告报文


    协商首部

    首部                                  描述

    Accept-Ranges           对此资源来说,服务器可接受的范围类型

    Vary                    服务器查看的其他首部的列表,可能会使响应发生变化;也就是说,
                            这是一个首部列表,服务器会根据这些首部的内容挑选处最合适的资
                            源版本发送个客户端

    安全响应首部

    首部                                    描述

    Proxy-Authenticate      来自代理的对客户端的质询列表

    Set-Cookie              不是真正的安全首部,但隐含有安全功能;可以在客户端设置一个
                            令牌,以便服务器对客户端进行标志

    Set-Cookie2             与Set-Cookie类似

    WWW-Authenticate        来自服务器的对客户端的质询列表

实体首部用于应对实体主体部分的首部 比如 可以用实体首部来说明实体主体部分的数据类型

 实体的信息性首部      实体首部可以用来描述HTTP报文的负荷

  首部                                          描述

  Allow                       列出了可以对此实体执行的请求方法

  Location                    告知客户端实体实际上位于何处;用于将接收端丁香到资源的位置
                              上去
  内容首部内容首部提供了与实体内容有关的特定信息说明了其类型尺寸以及处理它所需的其他有用信息

  首部                                          描述

  Content-Base                解析主体中的相对URL时使用的基础URL

  Content-Encoding            对主体执行的任意编码方式

  Content-Language            理解主体时最适宜使用的自然语言

  Content-Length              主体的长度或者尺寸

  Content-Location            资源实际所处的位置

  Content-MD5                 主体的MD5校验和

  Content-Range               在整个资源中此实体表示的字节范围

  Content-Type                这个主体的对象类型

  实体缓存首部    通用的缓存首部说明了如何或什么时候进行缓存

  首部                                                  描述

  ETag                        与此实体相关的实体标记

  Expires                     实体不再有效,要从原始的源端再次获取此实体的日期和时间

  Last-Modified               这个实体最后一次被修改的日期和时间

 

 

 

扩展首部是非标准的首部 由应用程序开发者创建  未添加到已批准的HTTP规范中

分享到:
评论

相关推荐

    HTTP报文收发工具(修订版)

    HTTP报文收发工具是一种用于调试和分析网络通信的实用程序,特别针对HTTP协议。它允许用户发送自定义的HTTP请求并接收相应的响应,这对于理解Web应用的工作原理、调试服务器问题或开发API接口非常有用。这个修订版...

    一款http报文分析工具--fiddler

    http报文分析工具,位于客户端和服务器之间,可用于编程调试

    HTTP报文本地测试小工具

    本工具“HTTP报文本地测试小工具”旨在帮助开发者和网络技术人员便捷地进行HTTP报文的测试和调试,无需复杂的安装过程,只需一个简单的执行按钮,就能快速发送HTTP请求并接收响应。 一、HTTP报文的基本结构 HTTP...

    Winpcap解析HTTP报文头

    在"Winpcap解析HTTP报文头"的场景中,我们关注的是如何利用Winpcap来捕获并解析HTTP通信中的报文头。HTTP报文由两部分组成:头部(Header)和主体(Body)。头部包含了请求或响应的相关信息,如方法(GET、POST等)...

    http报文全过程

    这是发起一个http请求,利用wireshark抓包,监听8080端口,获取的数据报文,其中涉及三次握手,而且发送一个http报文,对方收到后必须回应一个tcp相应

    Internet协议分析-NFS报文分析-Http报文分析

    标题中提到的“Internet协议分析-NFS报文分析-Http报文分析”,涉及三个核心知识点:Internet协议、NFS报文和HTTP报文。Internet协议是指互联网上用于数据交换的各种协议,包括但不限于TCP/IP协议族,它们是互联网...

    发送HTTP报文 项目 通讯

    Java 发送HTTP报文 项目 通讯类 可以设置代理服务器

    通过访问指定端口转发报文,截获报文内容,soap报文,http报文

    报文通常指的是数据在网络中传输时的格式化单元,如SOAP和HTTP报文。这里我们将详细探讨这些概念以及如何通过访问指定端口来实现报文的转发和内容截取。 首先,SOAP(Simple Object Access Protocol)是一种基于XML...

    HTTP报文格式介绍

    ### HTTP报文格式详解 #### 一、HTTP协议概述 HTTP协议(Hypertext Transfer Protocol——超文本传输协议)是一种应用层协议,主要用于从万维网服务器传输超文本到本地浏览器等应用程序。它是一个基于请求与响应...

    以太帧_ip帧_udptcp帧_http报文结构.docx

    以太帧、IP 帧、UDP 帧、HTTP 报文结构 在计算机网络中,数据传输是通过协议栈来实现的。协议栈共有五层:应用层、传输层、网络层、链路层和物理层。每一层都有其特定的功能和协议。对于以太帧来说,它属于链路层,...

    ftp&http-报文还原

    HTTP报文包括请求报文和响应报文,报文由首部行、首部字段、空行和主体四部分组成。 本实验的"part1-capture.rar"可能包含了抓包工具的使用教程,如Wireshark,它是一个强大的网络封包分析软件,能够捕获网络中的...

    C#实现的HTTP报文发送器

    本项目“C#实现的HTTP报文发送器”旨在提供一种工具,允许开发者手工构造并发送HTTP请求,从而更好地理解和控制网络通信过程。 首先,我们要理解HTTP协议的基本概念。HTTP是一种基于TCP/IP的应用层协议,主要用于...

    行业分类-设备装置-HTTP报文的重写方法及装置.zip

    本文件“行业分类-设备装置-HTTP报文的重写方法及装置.zip”似乎涉及到HTTP报文在特定设备装置中的应用,特别是报文的重写方法,这可能对于网络优化、安全控制或数据处理有重要意义。 HTTP报文主要由两部分组成:...

    protocol-analysis-test.rar_http 报文 格式

    本主题主要关注HTTP报文的首部格式以及HTTP协议的工作过程,同时也涉及到DNS(域名系统)的工作原理。 首先,我们来深入了解一下HTTP报文的结构。一个完整的HTTP报文主要由两部分组成:起始行、首部字段和可选的...

    android自定义http报文上传文件

    使用HttpURLConnection,自定义拼接 http报文实现上传文件和参数

    计算机网络实践_HTTP 报文段格式 _实验八.doc

    在这个实验中,我们主要关注HTTP报文段的格式,包括请求报文和响应报文。 HTTP报文由两部分组成:起始行、首部字段和可选的实体主体。实验中提到了HTTP报文段的几个关键字段,让我们详细探讨一下: 1. **起始行**...

    http报文解析

    ### HTTP报文解析 #### 一、概述 HTTP(HyperText Transfer Protocol)报文是一种面向文本的数据包,其中每个字段都是ASCII字符串形式,并且各字段的长度是不定的。HTTP报文主要分为两种类型:请求报文和响应报文...

    arp双向欺骗以及http报文的嗅探(C语言).zip

    《ARP双向欺骗与HTTP报文嗅探:C语言实现详解》 在计算机网络中,ARP(Address Resolution Protocol,地址解析协议)是将IP地址转换为MAC地址的关键协议,而HTTP(HyperText Transfer Protocol,超文本传输协议)则...

    C#如何解析http报文

    在C#中解析HTTP报文是一项关键任务,它涉及到对HTTP通信协议的理解和处理网络请求的细节。HTTP报文由两部分组成:报头(Header)和内容(Body)。报头包含了诸如请求方法(GET、POST等)、URL、状态码、内容类型、...

    发报文test.rar_bcb http_发报文test_发送http报文

    本话题将详细讲解如何在BCB中实现HTTP报文的发送,以及如何进行日志记录。 HTTP(HyperText Transfer Protocol)是互联网上应用最广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。发送...

Global site tag (gtag.js) - Google Analytics