get和post的区别
-- (1)GET 用于获取信息,是无副作用的,是幂等的,且可缓存 POST 用于修改服务器上的数据,有副作用,非幂等,不可缓存
--(2)GET、POST 请求报文上的区别
- GET 和 POST 只是 HTTP 协议中两种请求方式(异曲同工),而 HTTP 协议是基于 TCP/IP 的应用层协议,无论 GET 还是 POST,用的都是同一个传输层协议,所以在传输上,没有区别。
- 报文格式上,不带参数时,最大区别就是第一行方法名不同, 仅仅是报文的几个字符不同而已
- POST 方法请求报文第一行是这样的 POST /url HTTP/1.1 GET 方法请求报文第一行是这样的 GET /url HTTP/1.1
- 带参数时报文的区别呢? 在约定中,GET 方法的参数应该放在 url 中,POST 方法参数应该放在 body 中
- 举个例子,如果参数是 name=Javanx, age=25。
|
-- (3)传输数据的大小与快慢 /提交方式的区别
- GET 请求传送的数据量小4K,
- POST理论上没有限制(大小根据php.ini配置文件设定,也可以无限大),但是最好不要超过64K;
- GET 响应速度快,POST相对来说慢些
|
-- (4)URL可见性
- GET 参数url可见,数据安全性不好;
- POST参数url不可见,加密传送安全性好;(原则上post要比get安全些,但是也挡不住抓包...)安全性这个问题,开放...
|
-- (5)后退页面的反应
- GET 请求页面后退时,不产生影响
- POST会重新提交请求
|
-- (6)缓存性