gpt4 book ai didi

asp.net - 为什么我发送 201 状态,但在客户端收到 302 状态

转载 作者:可可西里 更新时间:2023-11-01 16:39:11 27 4
gpt4 key购买 nike

在cgi服务器中,我这样返回

print ('Status: 201 Created')
print ('Content-Type: text/html')
print ('Location: http://10.1.146.174/index.html')
print ('')
print ('\n')

这是 201 状态的解释:请求已完成并导致创建新资源。新创建的资源可以由响应实体中返回的 URI 引用,其中最具体的资源 URL 由 Location header 字段给出。源服务器必须在返回 201 状态代码之前创建资源。如果不能立即执行该操作,服务器应改为响应 202(已接受)响应。

但实际上,在客户端,结果是:

HTTP/1.1 302 Redirect
Content-Type: text/html; charset=UTF-8
Location: http://10.1.146.174/index.html
Server: Microsoft-IIS/7.0
X-Powered-By: ASP.NET
Date: Sun, 27 Nov 2011 05:36:18 GMT
Content-Length: 153

我已经搜索了很多次了,但是没有用。ps:服务器是windows ii7有人知道吗?

谢谢

好像是iis7的问题。有没有人现在如何配置 iis7 关于这个问题。我已经删除了所有的 isapi 过滤器但还是不行....

最佳答案

我不知道如何将 IIS7 配置为通过其 CGI 模块返回带有位置 header 的状态 201。我读到一条评论,建议它是 CGI 和 FastCGI 模块的一个功能,而不是 IIS 本身,所以您可以更改您的集成。

我认为这是一个错误:RFC2616 非常清楚,状态为 302 的 Location header 是重定向,但状态为 201 则不是。

我有 CGI 脚本,它返回带有 Location header 的状态 201。当我使用 IIS7/CGIModule 运行它们时,浏览器获得状态 302 并重定向,但是当我使用 Apache 2.2 运行它们时,浏览器获得状态 201 并且不重定向。因此,根据您的其他要求,将您的 Web 服务器切换到 Apache 可能是一种解决方案。

关于asp.net - 为什么我发送 201 状态,但在客户端收到 302 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8283895/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com