c#: HttpStatusCode中movedpermanent和Moved的区别是什么?

本文关键字:区别 是什么 Moved HttpStatusCode movedpermanent | 更新日期: 2023-09-27 18:12:23

今天当我尝试在web api中重定向动作时,我注意到有两个关于301重定向的值:

价值1:

var response = Request.CreateResponse(HttpStatusCode.MovedPermanently);
response.Headers.Location = new Uri("http://www.example.com");
return response;

价值2:

var response = Request.CreateResponse(HttpStatusCode.Moved);
response.Headers.Location = new Uri("http://www.example.com");
return response;

现在我的问题是哪个更好,HttpStatusCode的两个值有什么不同?

c#: HttpStatusCode中movedpermanent和Moved的区别是什么?

根据MSDN文档:

移动:相当于HTTP状态301。

Moved表示请求的信息已被移动到Location报头中指定的URI。接收到此状态时的默认操作是遵循与响应相关联的Location标头。

当原始请求方法为POST时,重定向请求将使用GET方法。

MovedPermanently: 相当于HTTP状态301。

movedpermanent表示请求的信息已被移动到Location报头中指定的URI。

接收到此状态时的默认操作是遵循与响应相关联的Location头。