HTTP报文解析

//我是一个Post请求,我告诉服务器:我要http://localhost:1538/WebForm1.aspx页面,我支持的httpb版本是1.1
POST http://localhost:1538/WebForm1.aspx HTTP/1.1
-----------------------------------------------------------------------------------------------------

Accept: text/html, application/xhtml+xml, */*

-----------------------------------------------------------------------------------------------------
//告诉服务器我是从哪个页面链接过来的
Referer: http://localhost:1538/WebForm1.aspx

-----------------------------------------------------------------------------------------------------
//我(浏览器)支持zh-CN语言(简体中文)
Accept-Language: zh-CN
-----------------------------------------------------------------------------------------------------

Content-Type: application/x-www-form-urlencoded
-----------------------------------------------------------------------------------------------------
//告诉服务器,我(浏览器)是兼容Mozilla/5.0的浏览器,版本是11.0(rv:11.0)  浏览器(IE)的排版引擎是7.0版本的(Trident/7.0)【如果是火狐浏览器Firefox对应的则是Gecko ,Gecko则是 Firefox 使用的排版引擎,也称渲染引擎】 我的操作系统的版本是64位(WOW64)的windows7(Windows NT 6.1),
//xp是windows nt5.1,vista是windows nt6.0,win7是windows nt6.1,win8是windows nt6.2
//like Gecko则是IE11的新标识,表示它是兼容Gecko的内核。IE11之前的版本比标识名字则是 MSIE
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
-----------------------------------------------------------------------------------------------------

//这条信息代表本地可以接收压缩格式(gzip)的数据;服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;在用户浏览器发送请求的HTTP头中, 带有"Accept-Encoding: gzip, deflate"参数则表明支持gzip和deflate两种压缩算法.  服务器在处理时就将大文件压缩再发回客户端,IE在接收完成后在本地自动对这个文件又进行了解压操作。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。
【我们可以使用两种不同的方法压缩内容:GZip 和 deflate;详情:http://jingyan.baidu.com/article/9f63fb91d862b0c8400f0eb0.html】
Accept-Encoding: gzip, deflate
-----------------------------------------------------------------------------------------------------

Host: localhost:1538
-----------------------------------------------------------------------------------------------------
Content-Length: 429
-----------------------------------------------------------------------------------------------------

//一般情况下,一旦web服务器想浏览器发送完了请求数据,它就要关闭TCP连接,如果报文里加了Connection: Keep-Alive就不一样了,它会保持连接特性
//从HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,简单地说,当开启了Keep-Alive后,单一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接就不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接
//因为css,图片,js都是单独的请求(Reques),我当这个页面刚打开后,我是建议服务器别把我这个连接给我关掉,我后面还要请求图片呢。这样就不需要在下次请求的时候再次开启一个连接了【其实也就是在一个连接中有几个请求】
Connection: Keep-Alive
-----------------------------------------------------------------------------------------------------
Pragma: no-cache
-----------------------------------------------------------------------------------------------------
//浏览器给Cokkie发给服务器了。
Cookie: ASP.NET_SessionId=itcka5su2tuqimfk3r5h0v4y

__VIEWSTATE=%2FwEPDwUKMjExMTY5ODM3MA9kFgICAw9kFgICAQ8PFgIeBFRleHQFDzDliqDkuIotNuetieS6jmRkZI7u6iaGEp1Y8ibYMCEez59fyciMHOcKtdE1mBzZ6oZe
-----------------------------------------------------------------------------------------------------

HTTP报文解析

时间: 2024-08-08 22:05:51

HTTP报文解析的相关文章

通用报文解析服务的演进之路(基于磁盘目录的分布式消息消费者服务)之一

通用报文解析服务,用C#开发,经历了三版更新,支撑起了关区内的绝大多数数据交换业务,截止至今,每日收发报文约20万,数据量约5G,平均延迟在1分钟内. 回想起那些半夜处理积压报文的场景,不胜唏嘘,决定把这个演进过程向大家讲述一下.回顾历史,展望未来,如果能给大家一些启发,是再好不过的了. 由于某些历史和非历史原因,我们的数据交换在已经有IBMMQ等中间件做支撑的情况下,还需要将报文落地到磁盘目录下再做下一步解析.入库.因此就有了这么一个需求,基于磁盘目录的报文解析服务. 初步计划,按照演进过程中

基于DPI(深度报文解析)的应用识别

一.概述 1.DPI(Deep packet inspection,深度报文解析) 所谓"深度"是和普通的报文分析层次相比较而言的,"普通报文检测"仅分析IP包4 层以下的内容,包括源地址.目的地址.源端口.目的端口以及协议类型,而DPI 除了对前面的层次分析外,还增加了应用层分析,识别各种应用及其内容,主要实现一下功能: 1)应用分析--网络流量构成分析.性能分析.流向分析等: 2)用户分析--用户群区分.行为分析.终端分析.趋势分析等: 3)网元分析--根据区域

内核参数优化之2-1 tcp/ip 标志位报文解析

以下内容纯属虚构,切勿轻易相信! 众所周知,tcp/ip三次握手和四次挥手,均由syn/ack/fin三个标志位报文决定,但是这三个标志位报文,并不是说在构建连接的时候只发送一次的,因为协议不知道网络状况. 故而就存在了以下参数,可以调节发送次数 net.ipv4.tcp_syn_retries 这个参数从字面上来看就是syn标志位报文的重试次数,什么时候发送syn标志位呢?三次握手中,请求端第一次构建连接的时候,默认是5次,但是对于一个处于网络状况好的请 求端,5次显然是多了,因此,我们来个2

移动支付平台间接口报文解析技术核心架构实现、及平台交易处理项目全程实录教程

<基于移动支付平台间接口报文解析技术核心架构实现.及平台交易处理项目全程实录>课程讲师:MoMo 课程分类:Java框架适合人群:中级课时数量:52课时用到技术:JavaBean .Spring3.X. SpringMVC. Hibernate3.X.Apache HttpClient 3.x.JUnit4.x.自定义Annotation + java反射技术涉及项目:移动支付平台间接口咨询QQ:1337192913 课程介绍:   本课程抛开理论.以项目为驱动,适用于初次接触报文收发.组装解

libpcap报文解析: ipv4、ipv6 @ 2014.7.2

1 #include <string.h> 2 #include <stdlib.h> 3 #include <pcap.h> 4 #include <stdio.h> 5 #include <sys/time.h> 6 #include <unistd.h> 7 #include <netinet/in.h> 8 #include <pthread.h> 9 #include "packet_hea

移动支付平台间接口报文解析核心架构及平台交易全程实录

移动支付平台间接口报文解析核心架构及平台交易全程实录 (HttpClient+SpringMVC+Spring3+Hibernate3+自定义Annotation) 课程分类:Java框架 适合人群:中级 课时数量:52课时 用到技术:JavaBean .Spring3.X. SpringMVC. Hibernate3.X.Apache HttpClient 3.x.JUnit4.x.自定义Annotation + java反射技术 涉及项目:移动支付平台间接口 咨询qq:1840215592

电力102规约报文解析

IEC102 应用报文分6大类:通讯连接,读时钟,读历史数据,读实时数据,读事件信息,对时. 传输过程的启动仅限于某一固定点,在规约中主站端为启动站,而电能计量数据终端设备位于计数站,始终为从动站.本系统中的1 级用户数据包括较早时段存储起来的电量和读-应用服务数据单元请求的全部信息.本系统中的数据采用低字节在前,高字节在后的传输方式. 102报文的基本格式: 帧长可以变化102报文的基本格式: 102报文的基本说明: a) 单字符用于子站向主站传输的确认(肯定或否定): b) 控制域是用来区别

基于DPI(深度报文解析)的应用识别2------实际分析

新浪微博的分析 早上刚刚起床先刷微博,打算就分析一下新浪微博.登陆之后抓取发布微博的数据包,进行分析. 1.抓包的要点: 1.关闭其他网络应用,保证本机网络流量的干净,便于分析. 2.先开启wireshark,后发布微博,微博发布成功立即停止,其他的应用类似. 3.查看conversion list ,太小的包没必要检查. 4.最关键的一点:一定抓取到3次握手,切记切记. 5.大部分应用都是基于TCP的,所以TCP优先分析,其次是UDP. 2.实际分析 1.筛选出TCP的回话列表,如图 我本地的

Radius报文解析(转)

RADIUS ,是远程认证拨号用户服务的简称.RADIUS原先设计的目的是为拨号用户进行认证和计费.后来经过多次改进,形成了一项通用的认证计费协议,主要完成在网络接入设备和认证服务器之间承载认证.授权.计费和配置信息.RADIUS是一种C/S结构的协议,它的客户端最初就是NAS服务器,现在任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端. RADIUS基本原理:用户接入NAS,NAS向RADIUS服务器使用Access-Request数据包提交用户信息,包括用户名.密码等相关