猴子都能懂的HTTP协议之请求行

客户端通过发送HTTP请求向服务器请求对资源的访问。你其实知道的HTTP请求由三部分组成,
分别是:
请求行消息报头请求正文首先我们先来看看关于请求行的部分,你其实知道的要结合最后的抓包例子一起看。


HTTP之请求行 

格式:

Method Request-URI HTTP-Version CRLF

Method表示请求的方法,
Request-URI是一个统一资源标识符,标识了要请求的资源,
HTTP-Version表示请求的HTTP协议版本,
CRLF表示回车换行。
 
  
 
1. Method 

GET     请求获取Request-URI所标识的资源
POST    在Request-URI所标识的资源后附加新的数据
 

2. 
Request-URI
格式: 
http://host[:port][abs_path]

http表示要通过HTTP协议来定位网络资源。

host表示合法的Internet主机域名或IP地址(以点分十进制格式表示);

port用于指定一个端口号,拥有被请求资源的服务器主机监听该端口的TCP连接。

如果port是空,则使用缺省的端口80。当服务器的端口不是80的时候,需要显式指定端口号。

abs_path指定请求资源的URI(Uniform Resource Identifier,统一资源定位符),如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出。通常这个工作浏览器就帮我们完成了。

比如输入:www.guet.edu.cn ->浏览器自动转换成:   http://www.guet.edu.cn/ ->    抓包时看见的: http:192.168.0.116:8080/index.jsp 


3. HTTP-Version 
表示服务器HTTP协议的版本


4. CRLF  
回车符




一个GET获取文件的抓包情况,结合上面讲的,我们看看这个标红的部分:

GET /d/someone.dll HTTP/1.1

Host: www.someone.com

Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, */*

Accept-Language: zh-CN

User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)

Accept-Encoding:  deflate

Connection: Keep-Alive

(这里有一个回车换行)

HTTP/1.1 200 OK

Date: Fri, 30 Oct 2015 03:22:40 GMT

Server: kangle/2.9.6

Last-Modified: Fri, 30 Oct 2015 03:09:31 GMT

Content-Type: application/octet-stream

Content-Length: 710144

Age: 1

X-Via: 1.1 xxxz59:8107 (Cdn Cache Server V2.0), 1.1 zhenjiang60:6 (Cdn Cache Server V2.0)

Connection: keep-alive

(这里有一个回车换行)

MZP.....................@...............................................!..L.!..This program must be run under Win32............
(这里接着是传输的一个文件,很大,就不全部展示了)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值