问题标签 [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.
http-status-codes - HTTP状态码308是怎么回事?
IETF RFC 草案超文本传输协议 (HTTP) 状态代码 308(永久重定向)将 HTTP 状态 308 定义为永久重定向。当然,应该注意的是,这是一份草稿文件,在其文件标题中包含文本“过期:2012 年 9 月 27 日”,我认为这意味着它现在应该被视为无效,但我不熟悉IETF 的流程,因此对此没有信心。
维基百科文章HTTP 状态代码列表使用 308 的定义,也:
308 永久重定向(被批准为实验性RFC)[12]
应使用另一个 URI 重复该请求以及所有未来的请求。307 和 308(如提议的)与 302 和 301 的行为平行,但不允许 HTTP 方法更改。因此,例如,将表单提交到永久重定向的资源可能会顺利进行。
...
[12]:“超文本传输协议 (HTTP) 状态代码 308(永久重定向)”。国际能源交易基金。2012. 2012 年 3 月 27 日检索。
当时微软的 Eric Law 在Pushing the Web Forward with HTTP/308中评论了这个 HTTP/308 代码。这让我发现Firefox在这个意义上支持308。
但是,在查看python-requests库的时候,发现308还有另一种用法:
这似乎来自 Google Gears 的可恢复 HTTP 请求提案,定义308 Resume Incomplete
。似乎有一些用法。当然,这些提议都没有承认另一个的存在。
发生什么了?308 Permanent Redirect
还活着吗?状态码 308 发生了什么?我该怎么办?
c# - 无效的 HttpStatusCode
我们正在使用外部休息 API (Vimeo) 将视频从手机上传到服务器。执行此操作的步骤之一是检查已上传了多少字节。为此,应在带有标头的特定 URL 上执行 PUT 请求:
- 授权承载 d4559ba...
- 内容范围字节 */*
API 的响应是:
- 200 Ok - 如果上传完成
- 308 Resume Incomplete - 带有 Range 标头(例如 Range bytes=0-1000),提供已上传多少字节的信息
问题是 Xamarin 中的枚举 HttpStatusCode ( https://developer.xamarin.com/api/type/System.Net.HttpStatusCode/ ) 不包含值 308 ,因此在调用 client.PutAsync 期间抛出异常:{ System.Net.WebException:无效状态代码:308 ---> System.Net.ProtocolViolationException:无效状态代码:308 在 System.Net.HttpWebRequest.Redirect ... }
知道如何解决此错误吗?这是我们正在使用的 C# 代码:
编辑:我尝试将 DelegatingHandler 与此代码一起使用:
问题是 base.SendAsync 抛出异常并且没有到达下一行代码(if 语句)。我应该以另一种方式使用委托处理程序吗?
编辑:我尝试将 RestSharp 与此代码一起使用:
通过此请求,我收到错误的状态代码,这意味着请求未正确创建。也许 Content-Range 标头未正确添加,Vimeo 服务器无法读取它。还有其他方法可以添加此标头吗?
http - HTTP 301 和 308 状态码有什么区别?
301
HTTP和308
状态码有什么区别?
301
(永久移动):这个和所有未来的请求都应该被定向到给定的 URI。308
(永久重定向):应使用另一个 URI 重复请求和所有未来的请求。
他们似乎很相似。
http - 哪些浏览器支持 307/308 重定向以及它们如何处理它们?
大多数现代浏览器都接受307 和 308 重定向 ( https://www.rfc-editor.org/rfc/rfc7538 )。
然而,在谷歌搜索很多时,我无法找到支持 307/308 重定向的浏览器版本列表。许多帖子都喜欢:HTTP 状态码 308 是怎么回事?只需询问是否支持 308 重定向。
我知道一些较旧的浏览器不支持 307/308 重定向(https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308),但尚不清楚哪个浏览器版本不'吨。
所以我的问题是,哪些浏览器版本支持 307/308 重定向?
旧版浏览器如何处理此状态码?他们只是失败了吗?
.htaccess - htaccess 永久重定向引发内部服务器错误
在Apache 2.2的mod_rewrite 文档[R]
中,RewriteRule标志指出:
可以使用语法 [R=305] 指定任何有效的 HTTP 响应状态代码,如果未指定,则默认使用 302 状态代码。指定的状态代码不一定是重定向 (3xx) 状态代码。但是,如果状态代码超出重定向范围 (300-399),则替换字符串将被完全删除,并停止重写,就像使用了 L 一样。
除了响应状态代码之外,您还可以使用其符号名称指定重定向状态:(
temp
默认)permanent
、 或seeother
。
然而,以下代码片段似乎只允许“符号名称”:
错误日志显示:
[2017 年 5 月 23 日星期二 23:11:12] [警报] [客户端 192.168.33.1] /var/www/html/ventus/.htaccess: RewriteRule: 标志“R”的 HTTP 响应代码“308”无效
但是,308 似乎是永久重定向的 HTTP 状态代码:https ://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308
这是 Apache 中的错误还是我做错了什么?
qt - QNetworkAccessManager 不处理 HTTP 状态代码 308
我正在测试我的代码与 HTTP 3xx 状态代码(重定向)的兼容性。
我对代码 301、302、303、307 和 308 感兴趣。
除了 308 之外,所有这些都适用于我的代码。
我的客户端测试用例是基于 Qt/C++ 的,我的测试服务器是基于 python 的。我将发布两者的代码。
客户端.cpp:
test_server.py:
我运行服务器,然后在运行时运行客户端并got 0 bytes
进入控制台。如果我将响应从 308 更改为 301,它可以正常工作(打印got 3 bytes
)。
知道为什么吗?
注意:重定向在 Chrome 中运行良好,因此我的服务器代码可能是正确的。
注意:它似乎被记录为不受支持。从文档:
如果在请求中设置了 QNetworkRequest::FollowRedirectsAttribute 并且服务器以 3xx 状态(特别是 301、302、303、305 或 307 状态代码)响应,并且位置标头中的有效 url 表示 HTTP 重定向,则会发出此信号.
(强调我的)
不过,我仍然想知道为什么。
http - HTTP 2 中是否引入了 HTTP 状态代码 308(“永久重定向”)?
我发现Qt 不支持状态码 308。我想知道为什么会这样。我也知道并非“实施 HTTP 2”Qt 任务的所有子任务都已完成。因此,如果在 HTTP 2 中引入 308,我会注意在我的 Qt 应用程序中自定义实现 308 可能几乎是不可能的。
我检查了HTTP 1.1 规范,那里似乎没有 308。
我在推断 HTTP 2 中引入了 308 是否正确?
email - Google App Engine 使用代码 308 响应
问题
1.我有一个在 Google App Engine 上运行的 sns 服务
2.sns服务使用go作为后端运行
3.sns服务正在使用crob作业请求Api A
4.Api A 正在将另一个 http 请求(对 Api B 的请求)添加到任务队列中
5.Api A请求后立即执行taskqueue
6.执行Api B的请求
7.Api B回复代码308
问题总结
job cron(请求 Api A) -> Api A -> 任务队列(堆栈请求 Api B) -> Api B -> 一些执行
Api A 回复 200 Api B 回复 308
问题
为什么 Api B 以 308 的代码响应?
补充
顺便说一下下面的顺序是成功的
post man (请求 Api A) -> Api A -> 任务队列(请求 Api B) -> Api B -> 一些执行
Api A 回复 200 Api B 回复 200
当我使用邮递员请求 Api A 时,以下对 Api B 的请求以 200 响应
我使用任务队列的方式就像
谷歌云平台的日志如下
Api A 的响应
Api B 的响应
java - com.algorithmia.APIException:308 意外的 API 响应
我正在使用 algorithmia,它是 Internet 上训练有素的 ML 函数的存储库。几周前,出现了一个问题,从那时起,就无法弄清楚发生了什么。我正在执行这段代码,可以在他们的官方网站上找到。
但是这段代码引发了以下异常:
我想帮忙
- 创建一个maven项目
- 添加这个 Maven 依赖项
- 粘贴上面显示的代码
进一步的观察和猜测
- 发出 cURL 请求一切都按预期工作
- 使用 Python 工作正常
- 它可能与
HttpClient
- Java 代码将与类似的代理一起使用
Charles
- 参考GitHub 上打开的 issue
get - GET 请求通过 PostMan 成功,但通过 Spring RestTemplate Exchange 方法调用提供 308 永久重定向
GET 请求包含类似于以下内容的 JSON 有效负载: { "customeId" : "A123", "Status" : "Assigned", "StartDate" : "2020-07-18", "EndDate" : "2020-07-20 ", "FetchLimit" : "10" } 我正在使用多值映射来添加这些输入以及标题(内容类型、接受、相关 ID)。相同的请求有效负载通过 Postman 提供响应,但是当我使用 RestTemplate.exchange(URL, HttpMethod.Get ,entity, Response.class) 进行 GET 调用时,收到的响应为 308 PERMANENT REDIRECT。对解决方案的任何想法都会很棒!TIA ###下面的代码片段####