reactjs - 请求返回 400 但未到达在 localhost 上运行的服务器(不同浏览器的行为不同)
问题描述
我的服务器在 localhost:8080 上运行(localhost:3000 请求通过 package.json 中的代理定义重定向到 localhost:8080)并将 ReactJS 应用程序的请求发送到 localhost 上的此服务器。在所有浏览器中突然开始出现这个问题。请求(keepalive 请求和其他 1 或 2 个请求除外)返回 400,但根本没有到达服务器。例如。在 Chrome 中,所有请求都会发生这种情况,但在 Firefox 中,一些请求会返回状态代码 200 并且响应数据没有问题,但其他请求的行为如上所述。
我正在使用 Windows 10。
所有浏览器都有问题:Chrome、Firefox、IE、Edge、Opera、Chromium
我尝试关闭防御者防火墙和 AVG。
请求示例:
铬合金
Request URL: http://localhost:3000/api/essp/database?pageSize=1000
Request Method: GET
Status Code: 400 Bad Request
Request Headers:
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: cs-CZ,cs;q=0.9
authorization: Bearer (token hidden for privacy reasons)
authorizationjwt: Bearer (token hidden for privacy reasons)
Connection: keep-alive
content-type: application/json
Cookie: _ga=GA1.1.1056630521.1566899267
Host: localhost:3000
Referer: http://localhost:3000/systematic-evidence
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36
相同的请求,但在 Firefox 中
Request URL: http://localhost:3000/api/essp/database?pageSize=1000
Request Method: GET
Status Code: 200 OK
Request Headers:
Accept
*/*
Accept-Encoding
gzip, deflate
Accept-Language
cs,sk;q=0.8,en-US;q=0.5,en;q=0.3
Authorization
Bearer (token hidden for privacy reasons)
Authorizationjwt
Bearer (token hidden for privacy reasons)
Connection
keep-alive
Content-Type
application/json
Cookie
_ga=GA1.1.647499021.1563197779
Host
localhost:3000
Referer
http://localhost:3000/systematic-evidence
User-Agent
Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/68.0
Firefox 中的不同请求(此请求在 Chrome 中也返回 400)
Request URL: http://localhost:3000/api/essp/database/136adc97-75f7-4235-a48f-32e01c0f6add
Request Method: GET
Status Code: 400 Bad Request
Request Headers:
Accept
*/*
Accept-Encoding
gzip, deflate
Accept-Language
cs,sk;q=0.8,en-US;q=0.5,en;q=0.3
Authorization
Bearer (token hidden for privacy reasons)
Authorizationjwt
Bearer (token hidden for privacy reasons)
Connection
keep-alive
Content-Type
application/json
Cookie
_ga=GA1.1.647499021.1563197779
Host
localhost:3000
Referer
http://localhost:3000/systemat…97-75f7-4235-a48f-32e01c0f6add
User-Agent
Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/68.0
我不是开发人员,但有人告诉我这在服务器(本地主机上)上没有问题,它只是我电脑中的一些东西。什么可能导致这个问题?可能是 Windows 中的某些东西,或者某些应用程序干预了请求并返回 400 而没有到达服务器?我怎样才能发现或解决这个问题?
感谢您提供任何有用的答案
编辑:不是 CORS 问题,因为返回 400 的请求根本没有到达服务器。还有一些非简单请求在少数浏览器(例如 Firefox)中返回 200 没有问题。
解决方案:通过将 Windows 恢复为出厂设置来解决。
解决方案
推荐阅读
- asp.net - 从 ASP.NET 框架整体使用 Blazor 服务器端
- python - /gym/ninja/ninja() 的 TypeError 得到了一个意外的关键字参数
- sql - 如何引用 sqlite_master 的字段?
- java - 自定义程序 - IndexOutOfBoundsException
- python - request.get(url) 仅返回正文为空的标头信息
- python - 如何获取外键字段
- authentication - 如何在 Laravel 中为类似请求制作全局策略/中间件/门
- docker - Docker compose 容器通信
- python - 如何使用 phpmyadmin 从 django 中的数据库中获取数据
- c# - 如何在 C# 中存储文件或文本的数字签名?