问题标签 [http-status-code-308]

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.

0 投票
0 回答
117 浏览

openshift - 返回 308 永久重定向的 OpenShift 路由

insecureEdgeTerminationPolicy如果我使用to设置 OpenShift 路线Redirect。客户端将能够重定向httphttps.

他们将收到一个302 Found(临时重定向)。

路由是否提供了调整此行为并返回 a308 Permanent Redirect而不是(或301)的可能性?

0 投票
0 回答
16 浏览

rest - 永久重定向每次都保持有效的 URL

我在后端(相同的 Web 服务)中创建了两个 Rest API,一个用于有效 URL,另一个用于重定向 URL。当用户点击有效 URL 时,我在这里进行 308 重定向。

情景的

  1. 当我将 API 标记为 POST 或 PATCH 或 DELETE 时,

    在谷歌浏览器中,我的请求总是首先到达旧的 url(有效),然后被重定向到另一个。

    我在两个 API 中都有断点,并验证了请求总是首先对上述 3 种 HTTP 方法有效。此外,我已经通过浏览器中的 Ajax 访问了 20 多次 API。

  2. 当我将 API 标记为 GET 时,

    只有第一次,我的请求转到有效 url 并重定向到另一个。随后通过同一个浏览器直接调用我另一个,直到我清除浏览器缓存。

    我想这是永久重定向(301/308)的预期行为。另外,我知道 301 和 308 之间的区别。

主要的困惑是为什么该行为不能按预期的方式工作,这些 API 是 POST、PATCH、DELETE 等。

Chrome 浏览器版本:版本 88.0.4324.192(官方构建)(x86_64)

0 投票
0 回答
252 浏览

vb.net - 绕过 308 永久重定向

我正在尝试使用一些 vb .net 代码从 URL 下载内容

从最近开始,这开始返回 308 - 永久重定向。我尝试的一件事是添加 .AllowAutoRedirect,但它没有帮助。此外,我已经看到一些答案,建议尝试在响应的 Location 标头中 ping URL,但在我的情况下,location 标头与我首先尝试 ping 的 URL 相同,所以它是一个循环。

有没有办法绕过 308 重定向,并以某种方式获取内容?正如预期的那样,在浏览器中,URL 可以正常工作。

0 投票
1 回答
714 浏览

kubernetes-ingress - 带有 HTTPS 重定向的 Nginx 入口控制器尾部斜杠

带有 HTTPS 重定向的 Nginx 入口控制器尾部斜杠

我正在尝试使用带有 Nginx 入口控制器的入口将请求从 HTTP 重定向到 HTTPS。我的应用程序是用 Django v3.0.7 编写的,我的 Nginx 控制器是 v0.46.0 和 k8s v1.19.8。

我有以下入口:

的请求https://.../api/v1/get-token/,引发此错误:

[05/May/2021:20:39:49 +0000] "POST /api/v1/get-token// HTTP/1.1" 404=> POST 最后得到一个额外/的。https://.../api/v1/get-token但是使用 HTTP 或(没有尾随)的相同请求/很好。

如果我删除

重定向会删除尾随/,并导致 POST 在所有 HTTP POST 请求中变成 GET,从而导致 403 - Method not allowed 如 Nginx 日志所示:

但 HTTP POST 请求与http://.../api/v1/get-token//(两个尾随/)一起工作正常。

有没有办法解决这个问题?308 HTTP -> HTTPS 重定向很重要,所以我不能删除它,但是有没有办法强制请求有一个,而且只有一个,尾随/?谢谢。

0 投票
2 回答
45 浏览

python - RestAPI C# 和 Python:无法理解或解决状态码 308

我正在尝试学习 RestApis,但遇到了一个我找不到答案的问题。

在 Python 脚本中,我在 Flask RestApi 包的帮助下运行 RestService。
所有端点都是 GET,我已经使用 PostMan 和 Web 浏览器测试和验证了每个端点。
在这两个客户端中的每一个中,我都按预期获得了 JSON 数据。

我有一个作为 RestClient 运行的 C# 控制台应用程序。
在这里,我得到状态码 308(永久重定向)。
我不明白为什么我会得到这个状态码。

Python 休息服务

RestService 在我计算机上的 Windows 终端本地运行。
RestService 的 URL 是:http://localhost:5000/

我的 C# RestClients

两种方法都返回服务器代码 308(永久重定向)。

RestSharp 返回此信息:

我发现这个关于状态码 308 的解释:

我的问题:

  • 资源如何被“移动”到另一个 URI?
  • 是服务的问题还是客户端的问题?
  • 我需要做什么来解决这个问题?