我应该使用 301 还是 302 重定向来进行访问控制?

should I use 301 or 302 redirect for access control?

我为用户提供的 file/media link 只是对实际文件的引用。在服务器端,我拦截了这个 link 并检查用户是否有权访问该文件。如果他们这样做,我会将他们重定向到最终的 link,其中包含关于他们可以对资源执行的操作以及可以执行多长时间的过期策略。

我的问题是 302 重定向是否比 301 更有意义 and/or 是否有更好的方法来处理这个问题?

if user
    file = share.Files.findOne({_id: @params._id, accessibleBy: user._id})
    if file
      location = "/server/file/" + file._id + "/" + file.policy + "/" + file.signature
      @response.writeHead(301, {Location: location})
  @response.end()

A 301 表示“永久移动”——如果 URL 一直有效,不,它没有永久移动。是的,302(“找到”)会更好,但 303(“查看其他”)会更合适。