【问题标题】:Force IIS server to return a 304强制 IIS 服务器返回 304
【发布时间】:2013-05-27 20:01:38
【问题描述】:

我正在修复一个错误,出于测试目的,我需要一种方法来强制我的 IIS 服务器从简单的 GET 请求中返回 304 响应代码。我没有太多使用 IIS 服务器的经验,所以我想知道是否有人知道我该如何做到这一点。出于测试和调试目的,最简单的方式将不胜感激,这样我就可以不断地重现该行为。

在得知服务器必须是 IIS 之前,我能够使用 perl 脚本来做到这一点,我将在其中创建自己的服务器和 http::response 并更改标头。但是这种方法已经不可行了。

有什么想法吗?

【问题讨论】:

  • 我对 IIS 的了解不够,无法正确回答这个问题。查看 IIS 应用程序的属性,如果返回成功,则返回 304。有一个包含错误条件的选项卡。我相信一个更简单的解决方案是编写一个快速而肮脏的asp页面,并让它返回304。ASP的默认语言是VBScript,所以应该不会太难。
  • 我没有使用过 ASP 或 VBScript(仍然是本科生)。我搜索了一下,发现了一些页面如何在 ASP.Net 中返回响应的示例,但它们似乎只是代码的 sn-ps,我不太确定它们是如何组合在一起的。这是不是我可以相对容易地学习的东西,而不必(目前)费力地理解 ASP/VBScript?

标签: iis http-headers httpresponse


【解决方案1】:

对于经典 ASP

既然你提到了经典的ASP,这里是如何返回一个304。只需在你的网站目录下添加一个页面,并输入以下代码:

<%@ Language=VBScript %>
<%
    Response.Status = "304 You have a 304 error"
%>

然后在浏览器中你可以只请求上面的页面(它应该做一个get请求)。

更多信息请访问 MSDN 的 Response.Status 页面。

对于 ASP.NET

如果您需要使用 ASP.NET,您可以使用 Visual Studio 添加新的 Web 窗体页面。当你这样做时,应该有多个文件。您只需要找到以“aspx.cs”(或 aspx.vb)结尾的文件。在Page_Load 函数中,只需添加以下行。

对于 C#:

Response.StatusCode = 304;

对于 VB:

Response.StatusCode = 304

更多信息请访问 MSDN 的 Response.StatusCode 页面。

【讨论】:

  • 所以要确认:我创建了一个 .aspx 文件(比如说 file304.aspx),只需将该代码放在文件中,将文件上传到我的服务器,然后向 /file304.aspx?
  • @Tesla - 抱歉,这是针对旧的 asp(不是 asp.net)。根据您的 cmets,这就是我认为您正在寻找的内容。
  • 根据之前的cmets,相信还是可以的。我根本不熟悉任何 ASP。那么文件扩展名将只是 .asp?
  • @Tesla - 是的,扩展名是 .asp
  • @Tesla - 我还添加了 ASP.NET 的说明。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-18
  • 2022-11-25
  • 2021-01-28
  • 2016-09-01
  • 2013-08-30
  • 2011-05-07
  • 1970-01-01
相关资源
最近更新 更多