post和get请求

get和post的区别

GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同(唯一的区别是语义区别:get是获取数据,post是提交数据)

  • 表象的区别:
get post
一般没有请求消息体 有请求消息体
请求的参数包含在请求行的URL中 参数放在请求的消息体里
url中传送的参数长度有限制(浏览器一般设置2k个字节) post消息体的数据可以非常大(一般几兆)
安全性相对较低(get提交数据后账号和密码明文出现在url上) 相对较高

#HTTP协议中,HTTP的请求头和消息体都没有长度的要求。对url长度上的限制,是由于浏览器和服务器两方面造成的(出于安全考虑 [避免被过大的url不停攻击] 和 稳定的考虑,会给url长度加一个限制。 这个限制是针对所有http请求的

​ #post和get的安全性只是相对这两者比较而言的,事实上两种方式都不安全。