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