一、概述
HTTP,超文本传输协议,应用层的协议,是基于请求/响应模式的、无状态的协议。客服端与服务端建立连接后,向服务器发送一个请求,服务器对这个请求进行处理,然后返回一个响应信息,之后双方的连接关闭(HTTP1.1版本支持持续连接,而且客服端可连续发送多个请求,不用等待每一个响应的到来)。
二、HTTP请求
客服端通过发送HTTP请求向服务器请求对资源的访问。HTTP请求由三部分构成,分别是:请求行,消息报头和请求正文。
1、请求行
请求行格式:Method Request-URI HTTP-VERSION CRLF
如:GET /form.html HTTP/1.1 (CRLF)
METHOD:[GET|POST|HEAD|PUT|DELETE|TRACE|CONNECT|OPTIONS]
GET:主要用于获取由Request-URI所标识的资源的信息。
POST:主要用于向目的服务器发出请求,要求服务器接受附在后面的数据。
HEAD:与GET方法几乎是相同的,区别在于HEAD方法只请求消息报头。
2、消息报头(略)
HTTP消息报头包括普通报头、请求报头、响应报头、实体报头。
每个报头域都是由名字+“:”+空格+值组成。
常用的普通报头:Cache-Control、Date、Connection、Pragrma等。
常用的请求报头:Accept、Accept-Charset、Accept-Encoding、Accept-language、Authorization、Host(指定被请求的Internet主机和端口号)、User-Agent等。
常用的响应报头:Location、Server、WWW-Authenticate等。
常用的实体报头:Content-Encoding、Content-Language、Content-Length、Content-Type、Expires、Last-Modified等。
3、请求正文
请求正文包含提交的数据,例如:user=sailor&pwd=1234
三、HTTP响应
在接收完和解释请求后,服务器会返回一个HTTP响应消息,响应也有三部分组成,分别是:状态行,消息报文和响应正文。
1、状态行
响应行格式:HTTP-Version Statuss-Code Reason-Phrase CRLF
如:HTTP/1.1 200 OK (CRLF)
Status-Code:表示服务器发回的响应代码。
Reason-Phrase:表示状态代码的文本描述。
状态代码由三位数字组成,状态代码的第一位数字定义了响应的类别,第一位数有5种取值。
> 1xx:提示信息
> 2xx:成功
> 3xx:重定向
> 4xx:客服端错误
> 5xx:服务器端错误
2、消息报头(略)
3、响应正文
响应正文就是服务器返回的资源(也即网页的源代码)。
分享到:
相关推荐
标题中的“hspcap_流量监控_pcap4j解析http_pcap4j解析ssh_pcap4j_”表明我们将探讨如何使用pcap4j库进行流量监控,特别是针对HTTP和SSH协议的流量解析。让我们深入了解一下这些关键概念。 流量监控是网络管理中不...
通过正则表达式解析http头信息 返回结构体包含: 方法: GET/POST 路径 可选头 GET参数 POST参数 方便开发微型web服务器 正则表达式出自AoGo的express库 该库只有5kb,体积小,功能强,效率高!
本主题将深入探讨如何使用Java解析HTTP请求处理结果,包括发送GET和POST请求、处理响应、解析网页内容以及应对常见问题。 首先,Java中的HttpURLConnection是标准库中用于执行HTTP请求的核心类。我们可以使用它来...
http解析,详细描述了如何解析http头
本文将深入探讨在线解析HTTP XML文件的相关知识点,包括HTTP协议基础、XML基本概念、HTTP与XML的结合以及在线解析工具的使用。 首先,我们来了解一下HTTP(超文本传输协议)。HTTP是互联网上应用最为广泛的一种网络...
在"Winpcap解析HTTP报文头"的场景中,我们关注的是如何利用Winpcap来捕获并解析HTTP通信中的报文头。HTTP报文由两部分组成:头部(Header)和主体(Body)。头部包含了请求或响应的相关信息,如方法(GET、POST等)...
用 Java 解析 HTTP 请求报头 在本文中,我们将学习如何使用 Java 语言解析 HTTP 请求报头。HTTP 请求报头是指客户端向服务端发送请求时所携带的信息,它包含了请求的方法、协议版本、请求 URL、主机信息、代理信息...
以上就是Android中解析HTTP常见数据格式的基本方法,包括JSON、XML和HTML。在实际开发中,根据项目需求和性能考虑,可以选择合适的库和解析策略。对于ExmParser这个文件,可能包含了具体的代码示例,你可以进一步...
在C#中解析HTTP报文是一项关键任务,它涉及到对HTTP通信协议的理解和处理网络请求的细节。HTTP报文由两部分组成:报头(Header)和内容(Body)。报头包含了诸如请求方法(GET、POST等)、URL、状态码、内容类型、...
【描述】:“chromedriver_win32专用于Chrome浏览器插件解析HTTP请求和网页代码” chromedriver_win32的核心功能是模拟用户行为并解析HTTP请求和网页代码。它与Chrome浏览器之间建立通信,使得测试脚本能够控制...
《C语言实现HTTP解析器详解》 HTTP(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。本项目“ry-http.rar”是一个C语言编写的HTTP解析...
能够处理http协议:(1)解析 (2)构造http格式
HTTP/http解析器是一种用于处理HTTP协议数据的核心组件,它由纯C语言编写,不依赖于任何特定系统的系统调用,因此具有高度的可...它能够帮助开发者高效、准确地解析HTTP流量,构建高性能的Web服务和客户端应用程序。
模拟HTTP链接,解析http协议内容,通过自定义IP和调用代理IP,实现投票功能,仅供学习研究
"HTTP/2协议解析及抓包分析" 本文将对HTTP/2协议进行详细的解析,并结合Wireshark抓包工具对HTTP/2协议进行抓包分析。 HTTP/2协议简介 HTTP/2是一种二进制协议,它将HTTP/1.x的Header和Body部分用Frame重新封装了...
但是缺陷是目前的版本不支持对 HTTP multipart 格式的自动解析。而不像传统的 ASP.NET WebService 可以自动解析 multipart 中的多媒体数据,并通过访问 Context.Request.Form["name"] 和 Context.Request.Files[...
本主题将深入解析HTTP协议,包括GET和POST两种主要的请求方法。 首先,HTTP(超文本传输协议)基于TCP/IP协议栈,工作在应用层。它的基本工作流程是客户端向服务器发送一个请求,请求中包含要执行的动作和所需资源...
1. **读取头部信息**:首先,你需要解析HTTP响应头,寻找`Transfer-Encoding: chunked`字段,这表明后续的数据将以chunked编码的形式传输。同时,也要注意`Content-Type`头,因为它定义了数据的类型。 2. **理解...
总的来说,"http-sniffer-0.2"通过解析HTTP报文,提供了对网络通信的洞察力,使得开发者和安全专家能够更有效地处理与HTTP相关的问题。通过对工具的使用和报文分析,我们可以深入了解HTTP协议的工作原理,提升网络...