问题标签 [http-status-codes]

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 投票
4 回答
10445 浏览

usability - 友好的 HTTP 401 状态码消息?

我是开发人员而不是文字匠,因此我被困住了。

我们有一个基于订阅的网站,用户很可能会看到我们的 401 页面。

我们决定需要替换 IIS 401;2 页面。

有没有人有任何例子或建议写一个好的非攻击性 401 页面?

0 投票
1 回答
5657 浏览

.net - 从 ASMX Web 服务设置 HTTP 响应状态码

我知道 ASP.NET 有一个全局处理程序 Application_EndRequest 处理程序,我可以在其中更改 Context.Response.StatusCode,并将其设置为 200,这是我的愿望。

现在有了 asmx Web 服务,我不确定我应该把这个逻辑放在哪里。我知道我绝对对编写 ISAPI 过滤器不感兴趣,而且我并没有真正在 ASP.NET 环境中运行,所以 HTTPModule可能对我也没用。

有什么建议么。在 WCF 中运行它会为我在 Web 服务上设置它提供一个更简单的机制吗?

0 投票
7 回答
14411 浏览

xml - 在“验证”服务器中正确使用 HTTP 状态代码

在我的应用程序发送到第三方 SOA 服务器的数据中,有复杂的 XML。.xsd服务器所有者确实提供了XML 模式(

我可以使用独立的 XML 模式验证器,但它们很慢,主要是因为解析模式文件需要时间。因此,我以HTTP 服务器的形式编写了自己的模式验证器(如果重要的话,用 Java),它缓存已经解析的模式。

问题是:在验证过程中,很多事情都可能出错。除了意外异常和成功验证:

  • 服务器可能找不到指定的架构文件
  • 指定的文件可能不是有效的架构文件
  • XML 对架构文件无效

由于它是一个 HTTP 服务器,我想为客户端提供有意义的状态代码。对于上述所有情况,服务器是否应该以400错误(错误请求)回答?或者它们与 HTTP 无关,它应该在正文中回复200消息?还有什么建议吗?

更新:主应用程序是用Ruby编写的,它没有一个好的 xml 模式验证库,所以单独的验证服务器并没有过度设计。

0 投票
2 回答
1565 浏览

asp.net-mvc - 从 Application_OnError (ASP.NET MVC) 获取正确的 Response.StatusCode

我正在尝试为我的 ASP.NET MVC 应用程序中的未处理异常创建一些基本日志记录,但由于我使用的是 IIS6,所有请求都来自 .NET。现在,虽然我同意丢失的图像是一个重要的标记,但它们不是显示停止器,所以我想将 404 的事件优先级设置为高,除非它们是图像(这将获得中等优先级)。

问题是在Application_OnError里面Response.StatusCode是200,但是最后发出来的结果却是404。为此,我好像没能注意404s来设置合适的优先级。

有没有办法知道StatusCode发生什么?

0 投票
3 回答
8604 浏览

asp.net-mvc - 如何在 ASP.NET MVC RC1 中使用 FileResult 返回 304 状态

您可能知道,我们在 RC1 版本的 ASP.NET MVC 中有一个名为FileResult的新ActionResult 。

使用它,您的操作方法可以动态地将图像返回到浏览器。像这样的东西:

在 HTML 代码中,我们可以使用如下内容:

由于图像是动态返回的,我们需要一种方法来缓存返回的流,这样我们就不需要再次从数据库中读取图像。我想我们可以用这样的东西来做到这一点,我不确定:

这告诉浏览器您的缓存中已经有图像。在将 StatusCode 设置为 304 后,我只是不知道在我的操作方法中返回什么。我应该返回 null 还是什么?

0 投票
3 回答
6115 浏览

c# - 捕获特定的 WebException (550)

假设我创建并执行了一个System.Net.FtpWebRequest.

我可以catch (WebException ex) {}用来捕获此请求引发的任何与 Web 相关的异常。但是,如果我有一些只想在抛出异常时执行的逻辑(550) file not found呢?

最好的方法是什么?我可以复制异常消息并测试是否相等:

但从理论上讲,这条信息似乎可能会在未来发生变化。

或者,我可以测试一下异常消息是否包含“550”。如果消息被更改,这种方法可能更有效(它可能仍会在文本中的某处包含“550”)。WebException但是当然,如​​果其他一些文本恰好包含“550”,那么这样的测试也会返回 true 。

似乎没有一种方法可以仅访问异常的数量。这可能吗?

0 投票
5 回答
18004 浏览

http-status-codes - 消除 401 个“未经授权”响应,然后是 200 个“Ok”响应

我遇到了一个大型内部企业基于 Web 的应用程序,它在 IIS6 上运行 ASP.NET 3.5,生成 401 个“未经授权”响应,然后是 200 个“Ok”响应(如 Fiddler 所述)。我知道为什么会发生这种情况(集成身份验证强制浏览器重新发送凭据),但我正在寻找一些关于如何最小化或消除这种情况的想法。有问题的应用程序在 WAN 中运行,一些用户遇到高达 250 毫秒的延迟,因此强制执行后续请求可能会对页面加载时间产生显着影响,尤其是当页面上有许多级联下拉列表时。

应用程序的用户是托管桌面环境的内部用户,因此从部署的角度来看,强制浏览器在第一个请求时发送凭据的机制(这甚至可能吗?)是可能的。这适用于需要用户身份的页面,但对于不需要身份验证的资源(WebResource.axd、ScriptResource.axd 和一些自定义 Web 服务),允许匿名身份验证是可能的。我已经在 web.config 中查看了基于每个位置的定义,但结果好坏参半(仍然有许多 401 响应)。

对于处理这种情况的“最佳实践”的任何指导,我将不胜感激。有很多资源可以确定问题,但我发现没有一个资源可以提供可行的解决方案。

谢谢!

编辑:不需要身份验证的资源(即用于级联下拉列表的 Web 服务)可以通过向 Web 配置添加位置条目来匿名请求,但我还没有找到经过身份验证的资源的答案。

0 投票
4 回答
1302 浏览

asp.net - 如何可靠地检测 Flash 是否是服务请求的发起者?

我需要能够检测 flash 是否是对 ASP.NET 服务的请求的发起者。原因是当响应状态码不是 200 时,Flash 无法处理 SOAP 消息。但是,我允许异常通过我们的 SOAP Web 服务冒泡,因此 SOAP 服务器故障的状态码是 500。在 Flash 10 之前,我能够检查 referrer 属性,如果它以 .SWF 结尾,我将状态代码更改为 200,以便我们的 Flex 应用程序可以适当地处理 SOAP 消息。但自从引入 Flash 10 后,不再发送引荐来源网址。我想使用 x-flash-version 标头,但它似乎只在使用 IE 时发送,而不是 FF。

这让我想到了我的问题:如何可靠地检测 Flash 是否是对服务的请求的发起者?

0 投票
2 回答
4272 浏览

c# - 如何从异常中获取 IIS 子状态代码?

我正在以如下方式处理异常HttpModule

对于HTTP 状态代码(例如:302、404、503 等),一切正常。但是,对于IIS 状态码(例如:401.5、403.4 等),是否可以将GetHttpCode这些作为其返回值是整数来检索?

0 投票
4 回答
2831 浏览

javascript - 在不使用服务器端语言的情况下获取状态代码(也许是 javascript?)

我创建了一项服务,通过复制/粘贴到错误页面模板(例如 Google Analytics)的代码片段来帮助处理 Web 应用程序中的错误页面。状态代码设置为安装代码中的隐藏输入。问题是我不希望安装代码依赖于服务器端语言(例如 PHP、Ruby)——但应用程序可以真的、真的使用动态方法来收集 http 请求中的状态码,而无需硬编码状态代码,因此,每个错误页面都需要单独的安装代码(虽然,我们实际上只查看 500 和 404;但就我而言,一个选项太多了)。

对 Google 和我的开发者朋友进行测验表明,通过 javascript 获取状态代码是不可能的(不过,我们正在以这种方式获取 http_referer),但我想知道是否有人有任何我尚未遇到的建议。 ..