基础概念:
get主要是获取资源,post主要提交资源
传输链路上区别:
get 在URL上携带参数,公开透明,不安全,幂等性(同一个请求多次执行,结果和只执行一次是一样的,不会产生额外的副作用,不会改变服务器的状态) 传递参数数量比较少(一般是2048个字符,但是具体还要看浏览器和服务器的限制)
post 不在URL上携带参数,数据都会放在请求体中进行传输,安全性高,非幂等性
GET请求在浏览器中会有缓存,下次在请求的时候,浏览器可以直接从缓存中读取数据,POST不会进行缓存,每次都会向服务器发送请求
提到缓存(相关问题),缓存有磁盘缓存和内存缓存
共同点:
都是用来提高页面的加载速度
不同点:
磁盘缓存一般用于存储长时间不会过期的资源,比如静态css,js文件等,关闭后缓存依然存在。
内存缓存一般用于临时存储的资源,比如刚刚加载的图片和脚本数据,关闭浏览器后会被清除。
主要是根据资源的类型以及过期时间等策略来控制缓存