http协议之路由重定向——301/307状态码
前几天一直在看http状态码,看到了有关url重定向的部分
| 状态码 | 原因短语 | 详情 |
|---|---|---|
| 301 | Moved Permanently(永久搬离) | 请求的URL已经移走,响应中应该包含一个Location,说明资源现在的位置 |
| 307 | Temporary Redirect(临时重定向) | 类似301,客户端应该用Location首部给出的URL对资源进行临时定位 |
虽然书中已经说的很明确了,但是还是有几个小小的疑问
- 301状态码描述为响应中应该包含一个Location首部,指明资源现在的位置,但是浏览器自动使用这个新的URL进行请求吗?
- 301和307在实际应用中有区别吗?
- 如果301状态码没有附带Location首部,浏览器有什么行为?
开始实验
我用Nodejs简单启动一个本地服务
1. nodejs代码
const http = require('http');
const hostname = '127.0.0.1';
const port1 = 888;
const port2 = 1212;
// 服务器1 用于返回301状态码,并且加上了Location首部
const server1 = http.createServer

本文探讨了HTTP协议中的301和307状态码在路由重定向中的作用。通过实验,作者展示了当响应状态码为301时,浏览器会自动根据Location首部重定向;而状态码为307时,浏览器同样执行重定向。同时,如果缺少Location首部,浏览器不会进行重定向操作。
最低0.47元/天 解锁文章
1589

被折叠的 条评论
为什么被折叠?



