Apache MS Edge:打开开发者工具面板会导致所有http请求发生两次

Apache MS Edge:打开开发者工具面板会导致所有http请求发生两次,apache,browser,microsoft-edge,developer-tools,Apache,Browser,Microsoft Edge,Developer Tools,使用MS Edge和apache w/php,我刚刚通过access.log发现,当我打开JavaScript调试面板(即开发人员面板)时,每次http调用都会进行两次。当我关闭这个面板时,它修复了所有insert语句被调用两次的问题 问:我需要留意的每个/大多数浏览器上都会出现http调用翻倍的情况,还是MS Edge有什么特别/独特之处?我不能对所有浏览器和所有开发工具都这样说。但是,对于IE和Edge,当您第一次打开工具,然后在sources视图中打开JS文件时,它将再次尝试请求该文件。根

使用MS Edge和apache w/php,我刚刚通过access.log发现,当我打开JavaScript调试面板(即开发人员面板)时,每次http调用都会进行两次。当我关闭这个面板时,它修复了所有insert语句被调用两次的问题


问:我需要留意的每个/大多数浏览器上都会出现http调用翻倍的情况,还是MS Edge有什么特别/独特之处?

我不能对所有浏览器和所有开发工具都这样说。但是,对于IE和Edge,当您第一次打开工具,然后在sources视图中打开JS文件时,它将再次尝试请求该文件。根据所请求文件的缓存设置,该请求将从本地浏览器缓存中提供,有时不提供

浏览器工具需要发出此请求的原因是浏览器通常会抛出原始源文件,因为它不需要原始源文件来执行页面,因为源文件已被解析为它可以使用的其他文件

但是,在打开开发人员工具后,浏览器将在将来的导航中保留源代码,无论是在工具前端还是其他位置。不保留源代码是一个首次优化用例,以节省浏览器在任何给定导航上使用该工具的可能性非常低的情况下保留源代码

当然,浏览器从不缓存某些文件,当工具请求时需要下载这些文件,例如sourcemapped文件


通常,站点上可以通过HTTP GET访问的任何资源都应该是幂等的。也就是说,GET不应该更改所请求的资源或更改站点的所有状态,因此希望发出其他请求不会成为问题

请尝试通知我们,您当前使用的是MS Edge的确切版本和操作系统版本。还应尝试告知可能产生问题的详细步骤。我们将尝试使用该版本进行测试,以检查问题。谢谢你的理解,谢谢你的回答。我一直在使用HTTPGET将表单数据插入我的数据库,而我认为我应该将其切换到POST。我不知道这是否能解决我在一次提交中插入两行的问题,但值得一试,您对如何获得多个调用的解释很有用。当我今晚晚些时候回到这个话题时,我将尝试在我的页面中添加“headerCache控件:无缓存”。假设这是可行的,我很乐意把你的答案作为我问题的答案