两者并无区别,怎么用都看开发者决定,底层都是 TCP 连接,但是有规范一说。
HTTP规范中,一般讲GET定位幂等的,而POST为非幂等。
GET 是幂等之类的说法,是一套“理解和处理网络资源”的“思想方法”,并不是实际代码约束,你可以用这些“思想方法”来处理 GET/POST,也可以不用(当然一般都是用的)
在浏览器中的规范(非ajax):
get:只能用url来调用get,而参数一般也存在url中。
post:浏览器的POST请求都来自表单提交。
可以泛泛的说:“GET请求没有body,只有url,请求数据放在url的querystring中;POST请求的数据在body中“。但这种情况仅限于浏览器发请求的场景”。
接口中的规范:
(通过浏览器的Ajax api,或者iOS/Android的App的http client,java的commons-httpclient/okhttp或者是curl,postman之类的工具发出来的GET和POST请求。)
get:【GET】 + 【资源定位符】被专用于获取资源
post:实现资源的创建
两者的安全性?
论是GET还是POST都不够安全,因为HTTP本身是明文协议。每个HTTP请求和返回的每个byte都会在网络上明文传播,不管是url,header还是body。这完全不是一个“是否容易在浏览器地址栏上看到“的问题。
行业普遍的做法是——HTTPS
网友评论