HTTP的报文格式解析

一、概述

  http报文是面向文本的,报文中每一个字段都是一些ASCII码串,各个字段的长度是不确定的。http有两类报文:请求报文  响应报文

二、请求报文

  一个http请求报文由

  • 请求行(request line)
  • 消息头部(header)
  • 空行
  • 请求正文  

 四部分组成;

  a、请求行

    请求行由请求方法字段、URL字段和HTTP协议版本字段,组成,它们用空格分隔,例如:GET /index.html  HTTP/1.1

    HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。这里介绍最常用的GET和POST方法;

    GET:当client要从server中读取文档时,使用GET方法。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给client。

        使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号("?")代表URL的结尾与请求参数的开始,传递参数长度受限制,例如:  /index.jsp?id=100&op=bind

    POST:当client给服务器提供信息较多时, 使用POST方法。POST方法将请求参数封装在HTTP请求数据中,以key/value的形式出现,可以传递大量数据,可用来传递文件

  b、消息头部

    请求头部由key/value键值对组成,每行一对,key和value用冒号":"分隔,请求头部通知服务器有关于client端的请求信息,典型的请求头:

      • User-Agent:产生请求的浏览器类型
      • Accept:client端可识别的内容类型列表
      • Host:请求的主机名,允许多个域名同处一个ip地址,即虚拟主机    

  c、空行

    最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器请求头结束。

    对于一个完整的http请求来说空行是必须的,否则服务器会任务本次请求的数据尚未完全发送到server,处于等待状态

  d、请求正文

    请求数据不在GET方法中使用,而是在POST中使用。POST方法适用于需要client填写表单的场合,与请求数据相关的最常用的请求头是Content-Type 和Content-Length

  

时间: 2025-01-09 06:55:41

HTTP的报文格式解析的相关文章

结合Wireshark捕获分组深入理解TCP/IP协议栈之TCP协议(TCP报文格式+三次握手实例)

摘要:     本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析.   一.概述     TCP是面向连接的可靠传输协议,两个进程互发数据之前需要建立连接,这里的连接只不过是端系统中分配的一些缓存和状态变量,中间的分组交换机不维护任何连接状态信息.连接建立整个过程如下(即三次握手协议): 首先,客户机发送一个特殊的TCP报文段: 其次,服务器用另一个特殊的TCP报文段来响应: 最后,客户机再用第三个特殊报

HTTP POST请求报文格式分析与Java实现文件上传

(转载于:http://blog.csdn.net/bboyfeiyu/article/details/41863951?utm_source=tuicool) 在开发中,我们使用的比较多的HTTP请求方式基本上就是GET.POST.其中GET用于从服务器获取数据,POST主要用于向服务器提交一些表单数据,例如文件上传等.而我们在使用HTTP请求时中遇到的比较麻烦的事情就是构造文件上传的HTTP报文格式,这个格式虽说也比较简单,但也比较容易出错.今天我们就一起来学习HTTP POST的报文格式以

号报文0606-CAN数据报文如何解析?

问题描述 CAN数据报文如何解析? CAN数据如何解报文呢?请各位大师指点一下,有解析例题的最好发一份解析一下,谢谢 解决方案 参考http://www.baidu.com/link?url=8qI4BzRgW1DiPiUV4OhhzHBu7m70keyEEReLpmiL1pYFmAtviwN0ibjCsHaZBcxs8d7Kk0Sw2wI3Nt4T-w_c3dwztet40ISfBPW1Yq2LRzihttp://wenku.baidu.com/link?url=iIn31jWwu2eO8Nw

网络-请问谁知道 Van Jacobson TCP/IP包头压缩 相关的知识和具体报文格式?

问题描述 请问谁知道 Van Jacobson TCP/IP包头压缩 相关的知识和具体报文格式? 新人一个,没有什么分:Van Jacobson TCP/IP包头压缩降低了TCP/IP包头的大小到接近3个字节,这对于慢速的串行线路来说是一大提高.IP压缩协议配置选项用于指示接收压缩包的能力.如果需要两个方向都进行压缩则需要双方独立申请. 4.1.PPP协议域值 在传送IP包时PPP协议域被设置为以下值: 0021 类型IP.IP协议不是TCP,或包是一个数据段,或未经过压缩. 002d 压缩的T

图片-对JSON格式解析运行后总是出现错误什么原因?

问题描述 对JSON格式解析运行后总是出现错误什么原因? 解决方案 先得定位到是哪里报错了,再检查是不是json解析的不对. 解决方案二: 难道是你给虚拟机的运存太小了?要不,你测试一下用真机使用结果 解决方案三: 是会程序停止运行,还只是数据解析不出来啊,如果是数据解析出问题的话,那就得JSON数据的格式了吧,不然就使用真机试试,看看是不是网络的原因 解决方案四: 是不是json格式不对呢 解决方案五: 如果是数据解析出问题,就得校对JSON数据的格式了,否则就用真机试试

matlab 矩阵-matlab冷门图像(mrc)格式解析出的矩阵如何作为imread解析的图像格式显示?

问题描述 matlab冷门图像(mrc)格式解析出的矩阵如何作为imread解析的图像格式显示? 自己写代码使用matlab将一个mrc图像文件(matlab不支持的图像格式)读取并成功解析成矩阵I,可是使用imshow(I) 来显示图像,提示错误,猜测应该是读取的目前目的是想把该矩阵转换为为imread读出的一般图像(jpg.png等)的矩阵方便以后对该图像处理,但google了很多次也找不到方法,想知道如何将该矩阵转换成imread解析出的矩阵,可行吗? 一般imread读出的矩阵有什么属性

佳能A4000 IS相机所支持视频格式解析

给各位摄影爱好者们来详细的解析分享一下佳能A4000 IS相机所支持的视频格式. 解析分享: 佳能A4000 IS支持MOV.H.264等视频格式.   好了,以上的信息就是小编给各位摄影爱好者们带来的详细的佳能A4000 IS相机所支持的视频格式解析分享的全部内容了,各位看到这里的摄影爱好者们,小编相信你们现在那是非常的清楚了所支持的视频格式了吧,希望小编上面给各位朋友们解析的信息能够给大家带去有用的帮助.

java-小白疑问:http URL参数/报文格式

问题描述 小白疑问:http URL参数/报文格式 才换了公司,网络请求跟原来公司不一样.公司POST请求 ----------------------------- 然后还有个报文 我想请问 这样怎么怎么提交啊 2种数据.我没懂意思. 这个报文是拿来干嘛的放哪里的啊. 解决方案 post请求方式发送数据给服务器,同时按照规定的json,xml格式组织数据 解决方案二: 这是xml格式的 Properties_ForAccess pf = new Properties_ForAccess(con

获取vCenter中主机下虚拟机对应的以太网名称(例如vm-21)soap报文格式

问题描述 获取vCenter中主机下虚拟机对应的以太网名称(例如vm-21)的soap报文格式.需要用soap接口Createfilter的什么方法,以及WaitForUpdates,的什么方法,求教求教求教求教求教求教. 解决方案