GET和POST的区别

GET和POST
还有
HEAD、PUT、DELETE、OPTIONS、CONNECT

入前端不久的时候这是一个经典的问题,连在前端并不专业的老师都会提问到
从接触html的表单起,get和post的区别就是老生常谈,无非就是那几点显而易见的区别了

  1. get将信息绑定到url,post会放在请求体中。
  2. get由于在url上,所以比post更不安全
  3. get在url并不能放置过多的信息,而post无限制
  4. get在url上只进行url编码,而post多种编码

当时面对老师的提问少不了自信
但是在w3school中有更详细的对比

http://www.w3school.com.cn/tags/html_ref_httpmethods.asp

  1. get可以被缓存,而post不能被缓存
  2. get请求保留在在浏览器历史记录中,而post不会
  3. get可以被收藏为书签,而post不能
  4. get的数据类型只能是ASCII字符,而post没有限制

至此应该是我觉得比较详细了
直到昨天整理的时候发现了这篇文章,引入例子解析,又对其中后文的讲解进行查阅

https://www.oschina.net/news/77354/http-get-post-different


然后又看到了这样的反转

https://zhuanlan.zhihu.com/p/25028045


总的来说:语义
本质区别还是语义上的区别
GET语义是请求获取指定的资源
POST语义是根据请求负荷对指定资源做出处理
至于幂等,非幂等,只读等名词是http规范的

http://www.cnblogs.com/nankezhishi/archive/2012/06/09/getandpost.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容