GET 和 POST 的区别(详细参考)
- GET 用于获取服务器上资源,不会改变服务器上的资源;POST用于更新服务器上的资源,会对资源进行改变。
- GET 将请求参数放在 url 中,而POST的请求参数被包装在请求体中。
- GET 是幂等的,连续调用多次,客户端接收到的结果是一样的;POST 不是幂等的,如果调用多次,会增加多行记录。
- 对于 GET 方式的请求,浏览器会把请求头和请求体一并发送出去;而 POST 先发请求头,再发请求体,实际上是两次请求。
- GET请求的长度受限于浏览器和服务器对URL长度的限制(允许发送的数据量比较小),而POST请求长度没有大小限制。
转发和重定向的区别
- 转发:指由服务器进行页面跳转。服务器直接访问要跳转的地址,将内容读取后发给浏览器。地址栏不发生变化,显示的是上一个页面的地址,请求次数为 1 次。可用于用户登录某个网页后,继续浏览里面的其他模块。
- 重定向:指由浏览器进行页面跳转。如果服务器返回重定向状态码,比如 301(永久重定向)、302(临时重定向),浏览器就到新的网址重新请求资源,地址栏会发生改变,请求次数为 2 次,效率比转发的低。可用于用户注销后跳转到其他网站。