最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

我应该使用什么HTTP状态发送404页面?

网站源码admin20浏览0评论

我应该使用什么HTTP状态发送404页面?

我应该使用什么HTTP状态发送404页面?

我有一个单页应用程序,其中所有路由都使用react-router-dom在客户端上完成。

我的应用允许一组完全匹配的路线。

对于超出该范围的任何路由,它将被视为无效,并且客户端代码会将您重定向到/404-page路由。

所以在服务器上渲染时,我需要做同样的事情。

这是流程:

  • 您将向我的服务器询问/invalid-route
  • 我的react-router中的代码将呈现一个<Redirect to="/404-page"/>
  • 我将需要将您的请求重定向到/404-page
  • 该重定向应使用什么代码?

我想我应该设置status = 404。因为找不到该路线,对吗?

类似:

// YOU'VE REQUESTED SOME /invalid-route

res.status(404).redirect(ROUTES.NOT_FOUND);

但是现在您要向我的服务器询问/404-page路由。实际上将呈现一个404 Page

  • 您要求/404-page
  • 我的服务器将为您呈现404页面。
  • 我应该在404页面上使用哪个状态代码?

我应该使用200 Ok吗?由于我的/404-page是有效的现有URL,实际上将呈现某些内容?

// NOW YOU ARE REQUESTING MY /404-page

res.status(200).send( // 404 PAGE HTML );

这是正确的方法吗?

回答如下:

我的直觉说,404页面应始终返回404状态。如果它带有显示该404消息的实际页面,则可以。我认为这是直观的。

这是我对请求流程的看法:

  1. 客户端GET /无效路由->服务器
  2. 服务器404 <Redirect to="/404-page"/>->客户端
  3. 客户端GET / 404页->服务器
  4. 服务器404/404页->客户端

我认为混淆来自将404页视为现有资源,当请求时应返回200。我更喜欢将404页面看作是更少的页面,而是更多的404状态代码,其中包含一些可人工修改的html来呈现代码。

发布评论

评论列表(0)

  1. 暂无评论