HTTP方法中的GET和POST区别

HTTP1.1中的八个方法

1.GET     请求获取Request-URI所标识的资源
2.POST    在Request-URI所标识的资源后附加新的数据
3.HEAD    请求获取由Request-URI所标识的资源的响应消息报头
4.PUT     请求服务器存储一个资源,并用Request-URI作为其标识
5.DELETE  请求服务器删除Request-URI所标识的资源
6.TRACE   请求服务器回送收到的请求信息,主要用于测试或诊断
7.CONNECT 保留将来使用
8.OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求

我们浏览网页然后抓包来看基本上都是GET和POST方法,其它的不太常用

抓包分析HTTP协议:

1)请求行

图上是浏览器浏览网页抓取到的包,可以看出请求行的信息,method、request-URL、version三部分信息

(2)请求首部

由关键字+关键字的值组成,之间使用“:”进行分隔,格式Name:Value,请求首部的作用是通过客户端将请求的相关内容告知服务器端,首部可以不止一个。

(3)空白行

请求首部之后会有一个空白行,通过发送回车字符和换行符,用于通知服务器端以下的内容将不会再出现请求首部的信息。

(4)请求实体(entity-body)

 

 

上图就是请求的实体,抓表的路径及内容。

 GET和POST区别:

实际上在HTTP协议中,Method是哪个并不影响它的Data的传输,两者是没有直接关系的。HTTP没有对GET和POST方法的长度作限制,从根本上来讲的话区别只在于一个是用来获取数据,一个是修改。

在web开发中我们流传一种说法就是GET比POST安全,GET的URL长度会有限制,GET使用URL或Cookie传参,而POST则放在BODY中,其实这只是HTML对HTTP协议的使用方法。

 

猜你喜欢

转载自blog.csdn.net/zyupupup/article/details/85069260