我们在至少16/17版本的MS Edge上遇到了奇怪的行为。在IE 11 / Chrome / Firefox上不会发生相同的问题。
我们的用户通过会话cookie进行身份验证。 Cookie的名称是“ app”。其他cookie涉及使用cookie名称“ prefLang”存储当前的显示语言。 Cookie是HttpOnly,是安全的,并且仅针对正在使用的实际子域设置。
在某些情况下,MS Edge只会删除名为“ app”的会话cookie,而不再是HTTP请求的一部分。提及的“ prefLang” cookie不会被删除,并且在服务器上可见。
掉落发生不容易重现,但在以下情况下有时可见:
请求/响应调试信息服务器端的示例,其中会话cookie app = redactedABC没有传输到服务器
_response
答案 0 :(得分:2)
我有很多问题和想法,所以评论太久了:
服务器端呢? Load balancers可能是一个解释。会话存储也可能是一个线索(尽管“未返回的会话cookie”请求是先前未记录的无效cookie触发的结果,但可能性很小)。当然,服务器端的调查对于其他浏览器是否能够大量正常运行毫无意义。
您如何运行客户端应用程序并执行请求? Ajax或提取请求以及完整的文档加载(您的URI看起来很像APIsh)?您是否注意到请求模式和问题之间的联系? 应用程序客户端部分中cookie数据的不可用也可以作为一个准则(例如,service worker that can't access cookies在很少满足条件时唤醒请求)。 Edge can also be faulty with cookie sent back with Ajax在本地文件中(一种糟糕的应用方式,但我见过很多奇怪的东西)。
根据您提供的信息,这些点很少能产生如此不一致的行为,除非混入一些对边缘敏感的血腥药水中。无论如何,答案可能有助于集中讨论问题并定义更可复制的环境。
除此之外,我发现2-years old thread在谈论一个非常非常非常相似的问题,仍然很活跃,并且看起来还没有解决,对于IE11(对不起)。它与从不同浏览器的进程(例如标签或iframe)访问时的会话Cookie丢弃有关。我没有找到有关Edge的任何问题,并且我相信大多数引擎都已被重写,但是也许您设法找到了困扰的部分(尽管您说的是IE11一切都很好)?
如果您同意,则最好编辑您自己的相关问题相关的问题,以便我删除不是真正答案的答案。