HTTP协议,全称超文本传输协议,是互联网上应用最为广泛的一种网络协议。它是一个基于请求与响应模式的、无状态的、应用层协议。在HTTP中,最常见且重要的两种方法就是GET和POST。
GET方法可以看作一只勤劳且善于寻找信息的蜜蜂。它在互联网花海中飞翔,寻找着花朵(服务器)上携带信息(资源)并将其带回给用户。GET请求就像这只蜜蜂询问花朵:“你有我需要采集回去给用户看到信息吗?”这个过程中所有交流都公开透明地发生在URL地址栏里。
然而,在某些情况下我们不仅需要获取服务器上已有资源,还需要向服务器发送数据或者提交表单等操作时,则需要POST方法出场了。
如果说GET像一只勤劳采集者那么POST更像一个快递员,在你家门口接收包裹并将其送到指定地点(服务器)。与快递员不同之处在于, POST提交数据时, 数据包被藏匿在了HTML HEADER头部里面, 而非直接暴露出来. 这样做更安全也更隐秘.
那么我们来具体比较一下GET和POST的区别:
- 数据位置:GET方法的数据被附加在URL之后,以?分割URL和传输数据,参数之间以&相连。而POST方法是把提交的数据放在HTTP包的body中。
- 数据大小:由于浏览器对URL长度有限制,所以GET方法传输数据量较小。而POST没有限制。
- 安全性:由于GET请求会将参数直接暴露在URL中,因此安全性较低。比如密码是不能暴露在URL中的。所以,在这种情况下要使用POST请求。
- 缓存问题:默认情况下, GET请求会被浏览器主动缓存, 而 POST不会, 除非手动设置.
- 历史记录问题: GET产生一个TCP数据包; POST产生两个TCP数据包.
- 服务器处理方式: 对于 GET 来说只需要查找资源即可; 对于 POST 来说需要解析 HTTP 数据包并查找资源.
总结一句话就是: 如果你想从服务器获取信息用 GET;如果你想向服务器提交信息用 POST。
理解了这些基本概念后,在实际应用过程中就能更好地选择使用哪种HTTP方法了。
云服务器推荐
蓝易云国内/海外高防云服务器推荐
海外免备案云服务器链接:www.tsyvps.com
蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。