header 此请求返回的状态

header status returned on this request

收到此请求:

 // set a cookie to requested locale
  app.get('setlocale/:locale', function (req, res) {
    res.cookie('locale', req.params.locale); //set language in cookie
     if(req.param.locale === "es"){
     res.redirect('/es'); //i'm redirecting depending on the url
     // this could also redirect to 
     // res.redirect('/es/terms');
     ...
     }
  });

此请求由选择器列表触发,例如

   <ul class="dropdown-menu" role="menu">
        <li class="uppercase"><a rel="" href="/setlocale/es/">ES</a></li>
        <li class="uppercase"><a rel="" href="/setlocale/de/">DE</a></li>
        <li class="uppercase"><a rel="" href="/setlocale/en/">EN</a></li>
   </ul>

在此请求中 return 遵循良好做法的正确 header 状态代码应该是什么? .考虑在更改 cookie 语言后重定向到“http://example.com/es" or "http://example.com/de" or "http://example.com/de/terms”。如果我必须设置一个状态,在这个请求中设置的位置和方式。

谢谢。

因为您明确将用户重定向到与他们在锚点 href 中导航到的不同 url,正确的代码应该是 302,这是 express 中的默认值。

因为您正在编写 cookie,您可能 不想 将其更改为类似 308 的内容,这暗示重定向是永久性的 - 鼓励浏览器缓存如果用户想要更改他们的语言环境,响应并可能给您带来问题。