HTTP协议 GET和POST的左右互博

HTTP协议中存在着许多的方法,当然最常用的方法当属GET和POST方法。下面表示GET和POST的具体形式
GET
在这里插入图片描述
POST
在这里插入图片描述
一、POST比GET更强?
GET,做为最简单的HTTP方法,简单的就是用户给服务器一个要求,让服务器获取一个资源然后在拿回去给用户,具体什么资源是无所谓的。“拿来主义”,GET是非常熟练的。
但是POST方法不同于GET,这应该叫GET++版,它可以给服务器发请求,然后拿服务器给的资源在回去。但是它会给服务器发一个表单,那么这让GET的“拿来主义”变了味道。
二、深入GET,GET有多长
平时在我们上网的时候,不知道你发没发现,对于使用GET协议的,后面附带的数据不会很长,而且你也不会遇到很长的GET请求,为什么呢?
GET请求的总字符串是有限的,这取决于你所用的服务器。
同时,要注意,GET的发送数据是直接附带到URL后面的,这代表了你发送的数据会暴露在用户眼中,这是很严重的信息泄露,想想如果你登录QQ空间,附带数据有自己的QQ密码,这是可怕的一件事。这代表了GET的安全性比POST要低很多,虽然POST需要表单,显然比较麻烦,但是,不是暴露狂的性质,让POST安全性显然高很多
三、GET POST内涵
GET请求剖析

GET /user/login.jsp?name=man&password=123 HTTP/1.1 Host: www.wrox.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050225 Firefox/1.0.1 Connection: Keep-Alive

GET         //请求行,HTTP方法
/user/login.jsp    //Web服务器上资源的路径
?name=man&password=123    // 在GET请求中,参数会追加到URL的一部分的后面,以“?”开头。各参数以“&”分隔。
HTTP/1.1      //Web浏览器所请求的协议的版本

POST /user/login.jsp HTTP/1.1
Host: www.wrox.com User-Agent: Mozilla/5.0
(Windows; U; Windows NT 5.1; en-US; rv:1.7.6) Gecko/20050225
Firefox/1.0.1 Content-Type: application/x-www-form-urlencoded
Content-Length: 40 Connection: Keep-Alive
(----此处空一行----)
name=man&password=123 //消息体,有时被称为“有效载体”

POST显然是把请求放入到体中,所以长度不需要和GET一样受限。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页