post和get的区别

当我们去面试被询问GET和POST的区别的时候,我们通常会这样回答:

a、请求缓存:get请求会被浏览器主动缓存,而 post不会(除非自己手动设置)

b、参数限制:GET 请求只接受 ASCII 字符的参数,而 POST 则没有限制

c、保留浏览器历史记录:get请求的参数会被完整的保留在浏览器的历史记录里,而 post的参数则不会

d、用处:get常用于取回数据,post用于提交数据

e:安全性:post比get安全

f:请求参数长度限制:get请求长度最多1024kb,post对请求数据没有限制

g:请求参数:get请求的参数通过 URL 传送,而 post放在 Request Body 中

误区:get请求长度最多1024kb

GET方法提交的url参数数据大小没有限制,GET的长度受限于url的长度,而url的长度限制是特定的浏览器和服务器设置的,理论上GET的长度可以无限长。POST是没有大小限制的,HTTP协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力。

IE浏览器对URL的最大限制为2083个字符;Google (chrome):URL最大长度限制为8182个字符;

为什么说post比get安全性要高?

Get是不安全的,因为在传输过程,数据被放在请求的URL中,页面会被浏览器缓存,其他人查看历史记录会看到提交的数据;Post的所有操作对用户来说都是不可见的。另外get提交数据还可能会造成CSRF攻击。

你可能感兴趣的:(post和get的区别)