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。
分享到:
相关推荐
http报文分析工具,位于客户端和服务器之间,可用于编程调试
这是发起一个http请求,利用wireshark抓包,监听8080端口,获取的数据报文,其中涉及三次握手,而且发送一个http报文,对方收到后必须回应一个tcp相应
一个HTTP报文本地测试的小工具,无需安装,绿色环保,操作简洁(基本就一个执行按钮了)。
Java 发送HTTP报文 项目 通讯类 可以设置代理服务器
Winpcap捕获网卡上的数据包,过滤出TCP的包,解析出HTTP报文
参考了站内的HTTP报文捕获工具,进行了改进,主要代码归原作者所有
Internet协议分析-NFS报文分析-Http报文分析 网络环境中抓取报文分析
通过访问指定端口转发报文,截获报文内容,soap报文,http报文
以太帧_ip帧_udptcp帧_http报文结构
使用HttpURLConnection,自定义拼接 http报文实现上传文件和参数
C#实现的HTTP报文发送器 可用于手工构造HTTP请求
HTTP协议(Hypertext Transfer Protocol――超文本传输协议),浏览器端(客户端)向WEB服务器端访问页面的过程和HTTP协议报文的格式。 基于HTTP协议的客户机访问包括4个过程,分别是建立TCP套接字连接、发送...
该内容用于ftp和http报文的还原实验,可以还原小的图片以及文本,包含抓包和还原两部分内容
HTTP协议报文格式.doc; HTTP网页访问应用分析.doc; SWIFT报文.pdf; 基于Java的SNMP协议报文的Socket通讯原理及其实现.pdf; 把几个找到的资料都放在一块,这样就方便了!
如果讲解了用C#如何解析http报文,要解析http报文,需要哪些操作呢?下面小编给大家整理相关资料,需要的朋友可以参考下
BCB 发送HTTP 报文到指定地址,并记录日志
接收发送HTTP协议报文数据,非常不错的源代码
java发送http请求报文json
Http请求模拟报文返回工具,使用配置模拟http响应报文,war包部署在tomcat中,启动tomcat即可访问url模拟响应
行业分类-设备装置-HTTP报文的重写方法及装置.zip