http协议中get和post请求的区别
最关键的不同在于传输请求数据的位置不同,get请求使用request_line中的url来承载请求数据,而post请求则即可以使用request_line中url,也可以使用request_body来承载请求数据。
各个不同点如下:
1、请求数据传输位置不同
get:携带在request_line的url中。
post:即可以携带在requiest_line的url中,也可以携带在request_body中。
2、请求数据长度的限制
get:一般长度较短,客户端的浏览器(如IE限定url长度为2083字节,opera 是4050, Netscape 是8192)有限制,服务端也有限制(如果url长度过长,http服务器会报414错误)。
post:一般长度较长(请求数据携带在request_body),具体的长度限制不同的客户端和服务端有所不同。
3、操作语义不同
get:从服务器中获取数据,但实际上也可以使用get方法向服务器传送数据。
post:向服务器传送数据。
4、安全性
get:不安全,请求数据携带在url中浏览器地址栏可以显示,重要的请求数据容易被窃取。
post:较为安全,但不是绝对的安全,虽然请求参数不携带在url中,但如果不使用https,其实get和post都是无秘密可言的,因为http是明文协议,随便抓个包,什么请求数据都看到了。
近期评论