目录
Get请求:
Get请求本质是就是通过url来传递数据;
Get的优点在于方便分享。缺点是不保密,如果通过URL的方式保存,关于浏览记录是不保密的 比如 身份证号和手机号等等,并且能传递的信息不够长,URL的长度是有限的。
Post请求:
一般都是使用Get请求,要发送POST请求:使用form表单,并且form标签中的method属性值为:method=“post”。
Post优点在于安全,URL不会暴露我们的信息,浏览器会保存我们的上下报文,一旦发送过请求后,立即就会销毁,任何人都无法通过读你报文来窃取你的信息传递的数据长!并且理论上POST请求可以发送无穷大的信息,所以,图片、文件的上传都是通过POST请求发送的。缺点是POST请求不方便信息共享,如果我们需要分享一篇博客,想把url发送给朋友,如果使用post请求,参数则无法分享,因为url中无法携带任何的页面信息,仅仅只有url的实际地址。
Get与Post差距:
-
GET在浏览器回退时是无害的,而POST会再次提交请求。
-
GET产生的URL地址可以被Bookmark,而POST不可以。
-
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
-
GET请求只能进行url编码,而POST支持多种编码方式。
-
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
-
GET请求在URL中传送的参数是有长度限制的,而POST么有。
-
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
-
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
-
GET参数通过URL传递,POST放在Request body中。
Get与 Post的使用场景:
- 如果你的程序是通过用户输入查询检索的时候,一般用GET,便于分享;
-
如果你的信息是一些比较敏感的,比如用户的注册名称,密码,身份证号等等一些敏感的信息,一定要使用post,这样安全。
还看到种区别为:GET产生一个TCP数据包;POST产生两个TCP数据包。
理解来源:http://t.cn/RjLq41J