问题标签 [http-status-code-200]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-3.x - 为什么有效的 PDF 链接返回状态码 404?
我正在尝试访问有效 url 的 status_code,但是尽管存在链接,但仍返回 404。这是返回 404 的代码行:
这是我试图访问的 PDF 的链接:https: //www.moh.gov.sg/docs/librariesprovider5/local-situation-report/situation-report-21-jul-2020.pdf
有人能向我解释为什么我尝试访问有效的 url 得到 404 吗?谢谢你。
http - 缓存控制不返回 304
我有一个网站,其中包含不变的静态资产(js、图像等)。这些资产中的每一个都具有带有以下属性的缓存控制标头集:
但是,当我重新加载页面时,我仍然看到来自服务器的 200 响应而不是 304 响应。浏览器指示资产正在从内存或磁盘缓存中提供服务,但它仍在发出请求并下载内容。这以前可以工作,我倾向于这是一个浏览器错误,但我不完全确定。
caching - 状态 200(来自磁盘缓存)和 304 未修改问题
我正在使用 Next.js 自定义服务器,默认情况下,它会在每个页面 GET 请求上发送强 ETag 标头。对于每个请求,我还手动添加Cache-Control
标头res.setHeader('Cache-Control', 'public, max-age=${60 * 60}, s-maxage=${60 * 60 * 24}, must-revalidate')
我还使用了 Cloudflare 的负载平衡和缓存机制。根据此文档https://support.cloudflare.com/hc/en-us/articles/218505467-Using-ETag-Headers-with-Cloudflare我满足了与强 ETag 相关的每个要求。页面规则配置如下: 页面规则配置截图。
第一个奇怪的行为是,由于某种原因,在标头中的客户端上,我注意到弱 ETag。缓存的行为也有点奇怪。如果我要打开一个新的站点帖子,我通常会遇到cf-cache-status: HIT
标题,这意味着 Cloudflare 已经为这个特定的帖子准备了缓存。我的期望是,page reloading
在同一个选项卡中,页面将重新创建表单disk cache
,但由于某种原因它发出请求,其结果是状态 304(未修改)。但是,如果我将复制 url 并在新选项卡中打开相同的帖子,它将从磁盘缓存中重新创建(应该如此),并且在页面重新加载后它会使用响应 304(未修改)发出请求。
直接源服务器请求-响应:
Cloudflare 代理请求-响应:
为什么会这样?理想情况下,我想在最近的一小时内从磁盘缓存中重新创建页面,并在它发出重新验证请求之后。并每天从源服务器进行 Cloudflare 的缓存重新验证。
您可以在标头中看到源服务器和 cloudflare 之间的 ETag 不同
rest - 我应该在导致空集的资源上返回 404 错误吗?
如果我有一个具有以下端点的资源,该端点列出了该资源中的所有项目:
这导致:
它有各种过滤器,例如:
如果过滤器排除所有资源并产生一个空集:
我应该返回 404 状态码还是 200 状态码?
node.js - axios.get 返回错误代码 400,但随后使用代码 200 正确解析
我正在尝试在我的代码中进行 axios 调用以获取 csv 文件并将其转换为 JSON。当代码独立时,我能够正确地进行调用和转换,但是当我将其更改为从外部源作为函数调用时,执行 axios 调用时出现错误代码 400,但随后我无论如何都会得到状态为 200 的正确响应。这是我作为测试执行的代码:
以及函数的定义:
控制台返回以下内容:
我尝试使函数异步并添加“等待”,但这也没有解决问题。
rest - POST 请求的 HTTP 状态码 202 与 200
我很困惑,我使用 202 状态代码,当我收到来自客户端 (A) 的 POST 请求并且 B 正在处理它时,将输出传递到另一个端点 (C)。在这种情况下,当 B 收到来自 A 的请求时,我使用 202 状态代码。(我添加了示例消息流。)B 没有向 A 发送任何其他响应。那么使用 202 是正确的还是应该是 200 ?
我的理解是,我们使用 200 进行 GET 调用,而对于 POST,如果处理正在等待,我们使用 202。在这里,我有待处理,我将该输出转发给 C。而不是 A。所以这是我使用 202 或 200 的困惑是对的吗?
编辑
asp.net - 赛普拉斯返回 302 而不是 200
我试图测试我们应用程序的登录页面。我正在使用 cypress 来测试 Vuejs 前端与 AspNet Api 的配合。当我单击 chrome 上的登录按钮时,它会发出以下请求并访问主页“localhost:44389”
如果我想在 cypress 上模拟它,它会发送相同的请求,但从第二个请求中获得 302 而不是 200。
有人可以帮我找出问题吗?
刚刚发现 Cypress 无法从中获取 Cookie .../signin-oidc
,因为下面的照片中存在错误
恳请解决办法。我不允许对授权服务进行更改。在柏树周围寻找可能性。