请求转发和重定向的区别
今天讲一讲请求转发和重定向的区别,两者看起来其实很像,所以今天就好好区分一下两者的区别和使用场景。
请求转发:
请求转发和用户没有关系。
对服务A发送的请求会被转发给另一个服务B,然后服务B响应给A,然后A再通过响应回来。
响应码:2xx响应码,一般是200正常响应。
URL:不会变化。
使用场景:通常是在内部服务之间的调用,访问一些隐藏资源并且不想对外暴露位置。
重定向:
对服务器A发送了请求,它知道应该让服务B来帮你干活,然后让你跳转去访问B,后面由B来直接对你响应。
响应码:3xx响应码,301永久重定向或者302临时重定向。
URL:会发送改变,比如从a.com变成b.com。
使用场景:网站迁移(网站迁移之后,原网站保留着让它指向新网站的URL),简化URL。
总结:
请求转发是服务内部间调用,对用户不可见,而重定向是访问另一个URL,用户能够直观观察到变化。