web工作程序中不同的服务器请求行为

Different server request behaviour within web workers

本文关键字:服务器 请求 工作程序 web      更新时间:2023-09-26

在我们的web应用程序中,我们使用以下服务器通信方法

  • XMLHttpRequest

在这两种情况下,我们都发送相同的内容/数据,但XMLHttpRequest是在网络工作中运行的。

使用的浏览器是chrome,带有--disable web安全标志。

web工作程序XMLHttpRequest在工作程序内部失败而在外部失败有什么原因吗?

如果XMLHttpRequest的完全相同的代码从worker移到普通JavaScript,它是否完美工作?

错误:

XMLHttpRequest无法加载URL。原始文件://不允许访问控制允许原始文件。

更新:

经过大多数团队成员的努力,我们发现在Chrome中,网络工作者的运行安全性似乎与主浏览器不同。(我的意思是,当浏览器运行时——禁用网络安全,网络工作者不会)。

我们正试图访问域资源(http://domain.com/resource)来自(文件:///)。尽管浏览器在禁用网络安全的情况下运行,但解决方案是让服务器以"访问控制允许来源:*"的标题进行响应。

尽管我们本可以使用file:///而不是通配符,但我们不能确定这在生产中的设备之间会发生什么变化,而且由于我们在封闭网络中运行,这就不那么令人担忧了。

当天结束时的代码保持完全不变,只需要在服务器响应的标头中进行此更改。

有两个可能的问题会导致这种情况。哪个是罪魁祸首取决于你的设置。

1.您正试图从web应用程序访问文件

听起来这可能就是你所指的问题。Chrome有一个非常严格的访问控制策略,规定你不能远程访问本地文件。遗憾的是,没有办法绕过它。

2.您正试图从另一个文件访问一个文件,但尚未启用它

有关本地文件的访问控制规则的唯一例外是当您从另一个本地文件发出请求时。默认情况下,这仍然是禁用的,并且需要在启动chrome时通过传递--allow-file-access-from-files标志来启用。