0

当我从命令行 telnet 对我的站点执行 GET 并有 302 重定向时,该位置将与 URL 的另一部分连接起来。尽管查看检查器,重定向似乎正在工作。

telnet www.mysite.com 80

GET http://www.mysite.com/about/ HTTP/1.1
Host: www.mysite.com
Connection: close

HTTP/1.1 302 Found
Date: Tue, 01 Oct 2013 21:17:26 GMT
Server: Apache
Location: https://www.mysite.comhttp://www.mysite.com/about/
Content-Length: 0
Connection: close
Content-Type: text/html; charset=UTF-8
4

2 回答 2

0

问题是 GET 命令不带主机,只带 uri。Host 作为单独的参数传递。当您使用 GET 命令输入主机时,它会将其连接到默认主机。

于 2013-10-04T14:43:01.410 回答
0

像这样的请求:

GET http://www.mysite.com/about/ HTTP/1.1

通常表示浏览器期望它正在与之交谈的服务器代表它代理到服务器www.mysite.com,这也恰好是您联系的同一台服务器。不仅仅是GET,而且POSTHEAD也可以包含 FQDN URL 作为其请求的一部分。

如果没有在 apache 端设置代理,那么它会简单地将其解释为(可能是格式错误的)请求。

你只想要:

GET /about/ HTTP/1.1    
于 2013-10-04T14:46:34.863 回答