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

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 投票
2 回答
4500 浏览

c# - 如何在 asp.net 中创建 303 响应

有谁知道如何使用 http 状态代码 303 (SeeOther) 在 ASP.NET 中重定向当前请求。

代码片段非常受欢迎!

0 投票
2 回答
3644 浏览

http - 其他 HTTP 方法是否可以接受 HTTP 303?

RESTful Web 服务鼓励使用HTTP 303将客户端重定向到资源的规范表示。它仅在HTTP GET.

这是否也适用于其他 HTTP 方法?如果客户端尝试使用HTTP PUTDELETE访问非规范 URI,是否可以接受(和/或推荐)返回 HTTP 303?最佳做法是什么,为什么?

0 投票
1 回答
135 浏览

rest - 应该使用哪些 HTTP 状态代码进行 URI 规范化?

RESTful Web 服务鼓励使用HTTP 303将客户端重定向到资源的规范表示。

根据这本书,HTTP 302 被 303(“查看其他”)和 307(“临时重定向”)取代。还有 HTTP 301(“永久重定向”)。客户端可以缓存 HTTP 301 和 307,但不能缓存 303。

鉴于此,哪些状态代码是适当的规范化?为什么这本书提倡使用 HTTP 303 而不是说 307?毕竟,后者是可缓存的。

0 投票
1 回答
96 浏览

http-status-codes - 服务器是否必须在重定向之前执行操作?

HTTP 303 是否可用于其他 HTTP 方法?我们确定HTTP 303可用于其他 HTTP 方法。

Post/Redirect/Get模式要求服务器在返回之前执行操作HTTP 303HTTP PUT对于这种和DELETE其他类型的重定向是否也是如此?重定向前是否需要服务器执行操作?或者它是否可以假设客户端会根据需要在规范 URL 上重复请求?

当您考虑到重定向通常用于负载平衡这一事实时,这变得更加有趣。

0 投票
1 回答
1295 浏览

rest - HTTP 303 是否被认为对异步操作有害?

在研究用于异步操作的 RESTful API 时,我遇到了以下设计模式:

POST uri:longOperation返回:

  • HTTP 202
  • 位置:uri:pendingOperation

GET uri:pendingOperation返回:

  • 如果操作正在运行
    • 返回进度报告。
  • 如果操作完成
    • HTTP 303
    • 位置:uri:操作响应

GET uri:operationResponse

  • 异步操作的响应

我发现最后一步有问题。考虑一下如果异步操作完成时出现一个对 没有意义的错误代码HTTP GET,例如HTTP 409 ("Conflict").

  1. 不需要HTTP 303指向与uri:pendingOperation相关的响应,而不是uri:operationResponse
  2. 以这种方式使用是否HTTP 303有害?如果不是,为什么?
  3. 这是我们能做的最好的,还是有更好的方法?
0 投票
1 回答
512 浏览

redirect - 链接到 Joomla 中的外部文件 - 仅在测试中工作

我对 Joomla 2.5 有一个非常紧张的问题,我找不到任何答案。我有一个带有一些链接的页面。每个链接都类似于 www.myhost.com/joomla/custom_dev/myscript.php?foo=bar。myscript.php 是一个外部脚本,它不是 Joomla 的一部分,但我需要 Joomla 的一些功能框架。

所以我使用经典代码:

它在我的测试环境中运行良好。

但是在实时服务器上,我收到了 404 错误。使用 FireBug,我看到指向外部文件的链接根本不起作用:它转到 303 重定向,然后转到 404 错误。我尝试了很多东西......现在我找到了导致这个问题的原因:

没有这条线,就没有重定向并且链接有效。但我没有框架功能(我需要它们!)。

我也尝试直接访问我的脚本。

www.myhost.com/joomla/custom_dev/myscript.php?foo=bar with $mainframe->initialise() -> 出现 404 错误(由许多 303 重定向引起)

www.myhost.com/joomla/custom_dev/myscript.php?foo=bar 没有 $mainframe->initialise() -> 没有错误,显示没有 Joomla 框架可以显示的内容...

我希望我足够清楚!

编辑:我已经删除了我的自定义 404 页面,真正的 404 原因是找不到该类别。当我尝试 www.myhost.com/joomla/custom_dev/another_script.php 我没有错误。

编辑 2:另一个信息:似乎当我使用 $mainframe->initialise() 时,它会自动在我的 URL 中的某处添加语言,所以它变成 www.myhost.com/joomla/custom_dev/en/myscript.php?foo =酒吧

0 投票
4 回答
12858 浏览

javascript - 对 jquery 中的 303 状态码做出反应(防止重定向)

当我向某个服务器发送请求时,会出现 303 响应,然后是请求的响应以及 200 状态码。有趣的是,我只在我的开发者控制台的网络视图上看到这个。在检查我的 $.ajax() 请求的状态码和响应时,会有第二个请求的响应,以及 200 个 http 状态码。

问题是似乎第二个请求正在被缓存(虽然是 200 状态码),我真的需要它是不可缓存的。因此,我真的很想干预使用 http 303 状态代码发生的转发过程。我希望我的 jquery 函数检查状态代码,然后发送带有显式标头的 get 请求,告诉服务器不要缓存响应。

好吧,我只是不知道该怎么做,因为(如上所述)jQuery.ajax 方法将响应转发请求的响应和状态代码(200)。

你能帮助我吗?

编辑

10.3.4 303 见其他

可以在不同的 URI 下找到对请求的响应,并且应该使用该资源上的 GET 方法来检索。此方法的存在主要是为了允许 POST 激活脚本的输出将用户代理重定向到选定的资源。新的 URI 不是原始请求资源的替代引用。303 响应不能被缓存,但对第二个(重定向)请求的响应可能是可缓存的。

也许我需要以某种方式阻止用户代理重定向自己,所以我可以进行重定向?

或者有没有办法简单地告诉服务器/浏览器不要缓存来自客户端的第二个请求?或防止它重定向我的请求?或者至少在重定向之前修改第二个请求?

0 投票
1 回答
1574 浏览

c# - C# 发送 POST 请求并接收 303 状态码

我正在编写连接到网页并从文档正文接收特定数据的简单应用程序。

我是HttpWebRequest这样发送的:

美好的!请求没问题,没有什么神奇的。关键是,在dataStream.Close();(第 [1] 行)之后,我收到 303 状态代码,这意味着将重定向到另一个页面。当我在 [2] 点阅读响应时,我看到了新的(重定向的)页面。

我想要的只是在重定向之前阅读标题。有可能吗?

0 投票
1 回答
167 浏览

rest - REST 方法调用 D2l 进行注册但返回状态 303

我正在尝试使用 REST 方法注册用户。用户存在,我正在用作端点/d2l/api/lp/1.0/enrollments/

参数和符号参数是正确的,因为我能够创建用户并执行其他调用。

但我得到的唯一回应是

仅此而已,例如要重定向的 URL。

有人已经经历过了吗?或者任何暗示我可能做错了什么?

谢谢。

0 投票
4 回答
9336 浏览

php - joomla BASE HREF uses HTTP instead of HTTPS

I wanted to change my site from http to https. Always.

So I configured my apache accordingly. Now when I enter the URL of my site (https://steamnet.de) it loads the index site fine but none of the referenced elements (CSS, images etc.)

It seems to me that it does so because the base href is set to http://steamnet.de/ and thous does not use https there. I have configured my firefox that it should not load mixed content.

So how can I tell Joomla to set the base href to https://steamnet.de (or otherwise make the site fully ssl?)

I tried to set the global ssl enforce element of joomla configuration ("SSL erzwingen" in german, $force_ssl in configuration.php) to "everything" but then the site breaks with infinite 303 error redirecting to itself. (As an afterthought: I was surprised to find a 303 instead of 301 here. If someone could explain that I would be grateful)

(Laoneo suggested some solutions, that did not work out, for completeness here is the list)

  1. configure $live_site to the https url.
  2. probe if changing $sef and $sef_rewrite helps.

The apache logs: access.log

error.log contains nothing on access, but the following lines on reload