两种 HTTP 请求方法:GET 和 POST
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。
- GET - 从指定的资源请求数据。
- POST - 向指定的资源提交要被处理的数据。
一.使用时最直观的区别
1.GET请求一般把参数包含再url中。而POST通过request body 传递参数。
2.get请求比post请求要快。
同样都需要进行三次握手请求,但是get在第三次握手时,会把get请求头和数据一起发生红,服务器响应就结束。而post在第三次握手,只发送post请求头,然后夫区其返回100 continue响应后,浏览器发送数据,服务器返回200 ok响应。
两者相比,post比get多了一层向服务器确认,确认后才真正发送数据。
3.get会把数据缓存起来,而post不会。
二.总结
POST请求的数据不会显示在URL中,也不被缓存或记录在服务器日志和浏览器历史中,因此在处理敏感信息时更为安全。
POST可以发送大量数据,不受URL长度限制,且支持发送多种数据类型,包括二进制数据。
GET请求的数据量受限于URL长度,且只能发送ASCII字符。
POST通常用于修改或写入数据,适用于提交表单或更新服务器状态。
GET则常用于读取数据,如搜索或查询操作,目的是获取资源或信息。
淘宝、支付宝等网站的搜索查询使用GET请求,强调资源的获取。
用户登录、表单提交等操作通常采用POST请求,强调数据的修改或写入。
综上所述,POST与GET在数据安全性、数据大小与类型、以及数据操作类型上存在明显差异,各自适用于不同的网络请求场景。