`

解析HTTP

    博客分类:
  • Web
阅读更多
  一、概述
  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_

    标题中的“hspcap_流量监控_pcap4j解析http_pcap4j解析ssh_pcap4j_”表明我们将探讨如何使用pcap4j库进行流量监控,特别是针对HTTP和SSH协议的流量解析。让我们深入了解一下这些关键概念。 流量监控是网络管理中不...

    正则表达式解析HTTP头信息

    通过正则表达式解析http头信息 返回结构体包含: 方法: GET/POST 路径 可选头 GET参数 POST参数 方便开发微型web服务器 正则表达式出自AoGo的express库 该库只有5kb,体积小,功能强,效率高!

    Java 解析http请求处理结果

    本主题将深入探讨如何使用Java解析HTTP请求处理结果,包括发送GET和POST请求、处理响应、解析网页内容以及应对常见问题。 首先,Java中的HttpURLConnection是标准库中用于执行HTTP请求的核心类。我们可以使用它来...

    http解析,详细描述了如何解析http头

    http解析,详细描述了如何解析http头

    在线解析HTTP XML文件

    本文将深入探讨在线解析HTTP XML文件的相关知识点,包括HTTP协议基础、XML基本概念、HTTP与XML的结合以及在线解析工具的使用。 首先,我们来了解一下HTTP(超文本传输协议)。HTTP是互联网上应用最为广泛的一种网络...

    Winpcap解析HTTP报文头

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

    用java解析HTTP请求报头.doc

    用 Java 解析 HTTP 请求报头 在本文中,我们将学习如何使用 Java 语言解析 HTTP 请求报头。HTTP 请求报头是指客户端向服务端发送请求时所携带的信息,它包含了请求的方法、协议版本、请求 URL、主机信息、代理信息...

    Android解析http常见数据格式的代码例子

    以上就是Android中解析HTTP常见数据格式的基本方法,包括JSON、XML和HTML。在实际开发中,根据项目需求和性能考虑,可以选择合适的库和解析策略。对于ExmParser这个文件,可能包含了具体的代码示例,你可以进一步...

    C#如何解析http报文

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

    chromedriver_win32 专用于chrome浏览器插件解析http请求和网页代码

    【描述】:“chromedriver_win32专用于Chrome浏览器插件解析HTTP请求和网页代码” chromedriver_win32的核心功能是模拟用户行为并解析HTTP请求和网页代码。它与Chrome浏览器之间建立通信,使得测试脚本能够控制...

    ry-http.rar_C++ HTTP解析_c语言 http_http 解析 C语言_http解析_解析 http

    《C语言实现HTTP解析器详解》 HTTP(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。本项目“ry-http.rar”是一个C语言编写的HTTP解析...

    http 协议解析类 c++

    能够处理http协议:(1)解析 (2)构造http格式

    HTTP/http解析器

    HTTP/http解析器是一种用于处理HTTP协议数据的核心组件,它由纯C语言编写,不依赖于任何特定系统的系统调用,因此具有高度的可...它能够帮助开发者高效、准确地解析HTTP流量,构建高性能的Web服务和客户端应用程序。

    解析HTTP模拟投票源码

    模拟HTTP链接,解析http协议内容,通过自定义IP和调用代理IP,实现投票功能,仅供学习研究

    HTTP2协议解析及抓包分析.pdf

    "HTTP/2协议解析及抓包分析" 本文将对HTTP/2协议进行详细的解析,并结合Wireshark抓包工具对HTTP/2协议进行抓包分析。 HTTP/2协议简介 HTTP/2是一种二进制协议,它将HTTP/1.x的Header和Body部分用Frame重新封装了...

    WCF 解析 HTTP Multipart Form Data

    但是缺陷是目前的版本不支持对 HTTP multipart 格式的自动解析。而不像传统的 ASP.NET WebService 可以自动解析 multipart 中的多媒体数据,并通过访问 Context.Request.Form["name"] 和 Context.Request.Files[...

    HttpCommunications_HTTP通讯协议解析_

    本主题将深入解析HTTP协议,包括GET和POST两种主要的请求方法。 首先,HTTP(超文本传输协议)基于TCP/IP协议栈,工作在应用层。它的基本工作流程是客户端向服务器发送一个请求,请求中包含要执行的动作和所需资源...

    HTTP chunked方式传输的C语言解析示例

    1. **读取头部信息**:首先,你需要解析HTTP响应头,寻找`Transfer-Encoding: chunked`字段,这表明后续的数据将以chunked编码的形式传输。同时,也要注意`Content-Type`头,因为它定义了数据的类型。 2. **理解...

    http-sniffer-0.2.tar.gz_HTTP_http 解析_http解析

    总的来说,"http-sniffer-0.2"通过解析HTTP报文,提供了对网络通信的洞察力,使得开发者和安全专家能够更有效地处理与HTTP相关的问题。通过对工具的使用和报文分析,我们可以深入了解HTTP协议的工作原理,提升网络...

Global site tag (gtag.js) - Google Analytics