我正在尝试将一些有关HTTP的理论研究付诸实践。因此,我尝试制作一个HEAD(也尝试使用GET,但由于我对实际对象感兴趣,所以更喜欢HEAD),它如下:
~$ telnet youtube.com 80
Trying 216.58.211.110...
Connected to youtube.com.
Escape character is '^]'.
HEAD /watch?v=GJvGf_ifiKw HTTP/1.1
Host: youtube.com
HTTP/1.1 301 Moved Permanently
Content-Length: 0
Location: https://youtube.com/watch?v=GJvGf_ifiKw
Date: Thu, 12 Dec 2019 15:48:41 GMT
Content-Type: text/html
Server: YouTube Frontend Proxy
X-XSS-Protection: 0
您可以看到,我正在请求位于youtube.com上主机上/ watch?v = GJvGf_ifiKw的对象,这必须加到youtube.com/watch?v=GJvGf_ifiKw,这是位置标头的网址领域。这里发生了什么?为什么说它已经移到了相同的位置?
[如果您仔细观察输出,您会发现您已被重定向到HTTPS
,因为您的第一个举动是端口80上的telnet,这是HTTP
端口
因此,如果请求来自HTTPS
,任何系统管理员都会强制重定向到HTTP