如果您向服务器发送ajax请求,而您的cookie大小过大,则会收到以下消息:
错误请求
您的浏览器发送了一个此服务器无法理解的请求。请求标头字段的大小超过服务器限制。
Cookie
在发送请求之前,是否有任何方法可以通过javascript(jQuery,Angular)过滤cookie?例如:我在某个网站上有25kb的cookie(服务器上的限制是16kb),其中有一个会话cookie。我如何只向服务器发送会话cookie或我想要的cookie?在不删除多余cookie的情况下,这可能吗?
另一个例子:我有域cookie.mysite.com
。如果我去one.mysite.com
,我会得到另一个cookie,当我去two.mysite.com
时,会安装新的cookie等。当我从其中一个站点发送ajax请求时,cookie正在汇总,它们都会进入请求的标头,这可能会超过服务器限制。
我有很多饼干,但没有一个超过3公斤。主要问题是:我可以按域名过滤JavaScript中的cookie吗?
只需在cookie上设置域和路径属性,如:
<script type="text/javascript">
var cookieName = 'HelloWorld';
var cookieValue = 'HelloWorld';
var myDate = new Date();
myDate.setMonth(myDate.getMonth() + 12);
document.cookie = cookieName +"=" + cookieValue + ";expires=" + myDate + ";domain=.example.com;path=/";
</script>
然后您可以根据cookie的域值调用它。
我试图做同样的事情,但浏览器似乎隐藏了对用户的这种访问。我想可能是出于安全原因。我们可以做的最大操作是在获取omit
、same-origin
或include
时指定凭据配置。我在规格中没有找到任何东西
另一种选择是使用自定义HTTP头,而不是cookie。
这可能会有所帮助。