如果您向服务器发送ajax请求并且您的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总结并且它们全部转到Header请求可能超出服务器限制。
我有很多饼干,但没有人超过3kb。主要问题是:我可以按域名过滤JavaScript吗?
答案 0 :(得分:0)
只需在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。
答案 1 :(得分:0)
我试图做同样的事情,看起来浏览器隐藏了对用户的这种访问。我想可能是出于安全原因。我们可以做的最多的是 specify the credentials config 在对 omit
、same-origin
或 include
的提取中。我在 the spec 中没有找到任何内容。
另一种选择是使用自定义 HTTP 标头,而不是 cookie。