状态码总结
拓展
面试常见题,301 vs 302, 401 vs 403的区别。
短链是302跳转,为什么不用301呢?
301响应默认会被浏览器缓存,通过看status code,可以发现后面写着from cache。当下次再请求的时候,浏览器不会向服务器发送请求,而是直接从缓存中获取需要重定向的新地址。
第一次请求拿到长链接后,下次浏览器再去请求短链接,浏览器不会再去请求短链接的服务器了,而是直接从浏览器缓存里取。这样有一个问题,如果服务器需要获取用户的点击数,如果浏览器缓存了长链接,服务器就没办法获取到短链接的点击数了,所以一般不采用 301 。
nginx 301/302配置
rewrite代表301跳 redirect代表302跳
401 vs 403
401是认证错误,而403是权限错误。