GET和POST
还有
HEAD、PUT、DELETE、OPTIONS、CONNECT
入前端不久的时候这是一个经典的问题,连在前端并不专业的老师都会提问到
从接触html的表单起,get和post的区别就是老生常谈,无非就是那几点显而易见的区别了
- get将信息绑定到url,post会放在请求体中。
- get由于在url上,所以比post更不安全
- get在url并不能放置过多的信息,而post无限制
- get在url上只进行url编码,而post多种编码
当时面对老师的提问少不了自信
但是在w3school中有更详细的对比
- get可以被缓存,而post不能被缓存
- get请求保留在在浏览器历史记录中,而post不会
- get可以被收藏为书签,而post不能
- get的数据类型只能是ASCII字符,而post没有限制
至此应该是我觉得比较详细了
直到昨天整理的时候发现了这篇文章,引入例子解析,又对其中后文的讲解进行查阅
然后又看到了这样的反转
总的来说:语义
本质区别还是语义上的区别
GET语义是请求获取指定的资源
POST语义是根据请求负荷对指定资源做出处理
至于幂等,非幂等,只读等名词是http规范的
http://www.cnblogs.com/nankezhishi/archive/2012/06/09/getandpost.html