HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。
请求报文
一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。
(1)请求行
请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。
HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。这里介绍最常用的GET方法和POST方法。
GET:当客户端要从服务器中读取文档时,使用GET方法。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL的结尾与请求参数的开始,传递参数长度受限制。例如,/index.jsp?id=100&op=bind。
POST:当客户端给服务器提供信息较多时可以使用POST方法。POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据。
(2)请求头部
请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:
User-Agent:产生请求的浏览器类型。
Accept:客户端可识别的内容类型列表。
Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。
(3)空行
最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头。
(4)请求数据
请求数据不在GET方法中使用,而是在POST方法中使用。POST方法适用于需要客户填写表单的场合。与请求数据相关的最常使用的请求头是Content-Type和Content-Length。
copy from :http://blog.csdn.net/microtong/archive/2009/05/06/4155706.aspx
分享到:
相关推荐
HTTP报文收发工具是一种用于调试和分析网络通信的实用程序,特别针对HTTP协议。它允许用户发送自定义的HTTP请求并接收相应的响应,这对于理解Web应用的工作原理、调试服务器问题或开发API接口非常有用。这个修订版...
http报文分析工具,位于客户端和服务器之间,可用于编程调试
本工具“HTTP报文本地测试小工具”旨在帮助开发者和网络技术人员便捷地进行HTTP报文的测试和调试,无需复杂的安装过程,只需一个简单的执行按钮,就能快速发送HTTP请求并接收响应。 一、HTTP报文的基本结构 HTTP...
在"Winpcap解析HTTP报文头"的场景中,我们关注的是如何利用Winpcap来捕获并解析HTTP通信中的报文头。HTTP报文由两部分组成:头部(Header)和主体(Body)。头部包含了请求或响应的相关信息,如方法(GET、POST等)...
这是发起一个http请求,利用wireshark抓包,监听8080端口,获取的数据报文,其中涉及三次握手,而且发送一个http报文,对方收到后必须回应一个tcp相应
标题中提到的“Internet协议分析-NFS报文分析-Http报文分析”,涉及三个核心知识点:Internet协议、NFS报文和HTTP报文。Internet协议是指互联网上用于数据交换的各种协议,包括但不限于TCP/IP协议族,它们是互联网...
Java 发送HTTP报文 项目 通讯类 可以设置代理服务器
报文通常指的是数据在网络中传输时的格式化单元,如SOAP和HTTP报文。这里我们将详细探讨这些概念以及如何通过访问指定端口来实现报文的转发和内容截取。 首先,SOAP(Simple Object Access Protocol)是一种基于XML...
### HTTP报文格式详解 #### 一、HTTP协议概述 HTTP协议(Hypertext Transfer Protocol——超文本传输协议)是一种应用层协议,主要用于从万维网服务器传输超文本到本地浏览器等应用程序。它是一个基于请求与响应...
以太帧、IP 帧、UDP 帧、HTTP 报文结构 在计算机网络中,数据传输是通过协议栈来实现的。协议栈共有五层:应用层、传输层、网络层、链路层和物理层。每一层都有其特定的功能和协议。对于以太帧来说,它属于链路层,...
HTTP报文包括请求报文和响应报文,报文由首部行、首部字段、空行和主体四部分组成。 本实验的"part1-capture.rar"可能包含了抓包工具的使用教程,如Wireshark,它是一个强大的网络封包分析软件,能够捕获网络中的...
本项目“C#实现的HTTP报文发送器”旨在提供一种工具,允许开发者手工构造并发送HTTP请求,从而更好地理解和控制网络通信过程。 首先,我们要理解HTTP协议的基本概念。HTTP是一种基于TCP/IP的应用层协议,主要用于...
本文件“行业分类-设备装置-HTTP报文的重写方法及装置.zip”似乎涉及到HTTP报文在特定设备装置中的应用,特别是报文的重写方法,这可能对于网络优化、安全控制或数据处理有重要意义。 HTTP报文主要由两部分组成:...
本主题主要关注HTTP报文的首部格式以及HTTP协议的工作过程,同时也涉及到DNS(域名系统)的工作原理。 首先,我们来深入了解一下HTTP报文的结构。一个完整的HTTP报文主要由两部分组成:起始行、首部字段和可选的...
使用HttpURLConnection,自定义拼接 http报文实现上传文件和参数
在这个实验中,我们主要关注HTTP报文段的格式,包括请求报文和响应报文。 HTTP报文由两部分组成:起始行、首部字段和可选的实体主体。实验中提到了HTTP报文段的几个关键字段,让我们详细探讨一下: 1. **起始行**...
### HTTP报文解析 #### 一、概述 HTTP(HyperText Transfer Protocol)报文是一种面向文本的数据包,其中每个字段都是ASCII字符串形式,并且各字段的长度是不定的。HTTP报文主要分为两种类型:请求报文和响应报文...
《ARP双向欺骗与HTTP报文嗅探:C语言实现详解》 在计算机网络中,ARP(Address Resolution Protocol,地址解析协议)是将IP地址转换为MAC地址的关键协议,而HTTP(HyperText Transfer Protocol,超文本传输协议)则...
在C#中解析HTTP报文是一项关键任务,它涉及到对HTTP通信协议的理解和处理网络请求的细节。HTTP报文由两部分组成:报头(Header)和内容(Body)。报头包含了诸如请求方法(GET、POST等)、URL、状态码、内容类型、...
本话题将详细讲解如何在BCB中实现HTTP报文的发送,以及如何进行日志记录。 HTTP(HyperText Transfer Protocol)是互联网上应用最广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。发送...