关于状态码
- 永久重定向:301和308
HTTP状态码中的 301 和 308 用于一个资源被永久的迁移到新的地址,不同之处在于:
- 301 重定向会改变请求的方法,将POST方法改变成GET方法来请求新地址
- 308 重定向会让客户端在新地址上重复同样方法的请求
- 临时重定向:302、303和307
HTTP状态码中的 302、303和307 都用于一个资源被临时重定向到新的地址,不同之处在于:
- 302 重定向不允许客户端更改请求的方法,但大部分浏览器重定向后仍使用GET方法来请求新地址
- 303 重定向明确告诉客户端不管原请求使用的是什么方法,都在新地址上使用GET请求方法
- 307 重定向后客户端使用和原方法一样的方法在新地址上重新发起请求
- 使用场景
- 301的场景:(资源位置永久更改)
- 旧域名不使用了,更换域名。
- 告诉搜索引擎我们的目标域名是哪一个。
- 将网站地址由 HTTP 迁移到 HTTPS。
- 302的场景:(一般是临时跳转)
- 未登录前先使用302重定向到登录页面,登录成功后再跳回到原来请求的页面。
- 使用短域名访问后,需要重定向到真实的域名。
永久重定向 Permanent Redirect
返回301 永久重定向是会被浏览器缓存的
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/permanent-redirect: https://www.quicktable.io
临时重定向 Temporal Redirect
返回302
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/temporal-redirect:: https://www.quicktable.io
永久重定向代码 Permanent Redirect Code
返回带308 的永久重定向
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/permanent-redirect-code: '308'