get请求真的只能传递4KB吗?为什么?
误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的
实际上:
误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的
- HTTP 协议 未规定 GET 和POST的长度限制
- GET的最大长度显示是因为 浏览器和 web服务器限制了 URI的长度
- 不同的浏览器和WEB服务器,限制的最大长度不一样
- 要支持IE,则最大长度为2083byte,若只支持Chrome,则最大长度 8182byte
所以,如果面试官问起get请求,可以补充这一点,估计还能加点分,哈哈~
本质上是因为浏览器或web服务器限制了url的长度,不同的浏览器和WEB服务器,限制的最大长度不一样,并且get请求是通过url的传递,故才会出现get请求只能传递4kb的数据的现象
get和post在缓存方面的区别:
- get请求类似于查找的过程,用户获取数据,可以不用每次都与数据库连接,所以可以使用缓存。
- post不同,post做的一般是修改和删除的工作,所以必须与数据库交互,所以不能使用缓存。因此get请求适合于请求缓存。
- GET请求会被浏览器主动缓存,而POST请求不能