HTTP 请求 - 永久移动?
Posted
技术标签:
【中文标题】HTTP 请求 - 永久移动?【英文标题】:HTTP request - Moved permanently? 【发布时间】:2020-04-06 01:35:57 【问题描述】:我正在尝试将一些关于 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 相加,这是该位置的 URL头字段。这里发生了什么?为什么它说它已经搬到了相同的位置?
【问题讨论】:
看起来对 HEAD 的响应是重定向到 https,正如@Kerolos William developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location 所提到的@ 【参考方案1】:如果您仔细查看输出,您会发现您已被重定向到 HTTPS
,因为您的初始请求是端口 80 上的 telnet,这是默认的 HTTP
端口
因为他们正在强制重定向到HTTPS
所以它被重定向到相同的位置,但通过安全的HTTP
是HTTPS
【讨论】:
以上是关于HTTP 请求 - 永久移动?的主要内容,如果未能解决你的问题,请参考以下文章