HTTP中GET与POST的区别

PHP administrator 631℃
最近在面试的时候,经常会问到  post与get的区别,那时候在网上详细找了下,还真的有几点不知道的。
  • 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中。
1、GET的请求是通过URL后面传递的,POST是通过表单的方式提交的。
2、GET对传输的数据有限制,大概2kb,而 post对传输的大小没有限制。
3、GET请求的内容会被浏览器缓存下来,post不会,
4、GET 方式请求不安全, post相对来说安全点。
5、GET和POST还有一个重大区别,简单的说:
GET产生一个TCP数据包;POST产生两个TCP数据包。
并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。

转载请注明:LuckRay » HTTP中GET与POST的区别

喜欢 (0)