什么是监督图灵 v1.0.0?

sto*_*ild 5 apache2

系统信息:Windows 7 64-bit VirtualBox 4.2.18 Ubuntu 12.04 Guest Apache 2 安装并运行

在终端上运行 HEAD / HTTP/1.0 返回服务器作为 Oversee Turing v1.0.0

为什么服务器将自己标识为 Oversee Turing?

除了 Web 服务器统计站点之外,似乎没有太多在线信息。

我想知道是否有更多的背景信息。

在此处输入图片说明

And*_*iær 3

您没有查询本地服务器的 HEAD 响应。您正在查询的服务器是您的本地文件系统,file:/用于您的第一个参数和http.com第二个参数。所以不用担心,您的 Apache 不会将自己标识为,Oversee Turing除非您告诉它这样做。既然你给出了两条路径,你会得到两个响应吗?

存在很多检查标头的方法,因为这不是问题,所以我不会介绍它。

如需深入解释:

首先,当您给出/HEAD 的路径时,它是否被视为指向文件系统根目录的本地绝对路径,并将扩展为file:/.

其次,HTTP/1.0被认为是另一条绝对路径。为了理解论证是如何解释的,我们必须仔细研究下面的来源。但总结起来就是 HEAD指向perl脚本的命令。这个 perl 脚本使用uf_uri一个函数来确定并返回一个用户友好的/usr/share/perl5/URI/Heuristic.pm完整数据。这是通过运行该函数来完成的。URIURIuf_uristr

uf_uristr将在第 179 行匹配# no scheme specified,并将进一步添加模式,http它将用域结尾扩展猜测映射,在第 209+210 行将添加.com. 不同的域结尾将在第 215 行的 for 中进行测试。测试将使用 完成,gethostbyname("$guess.")并将设置$host为当前的$guess,如果获得工作结果,则退出 for 循环。

然后它将返回URI到第 226 行的初始 Perl 脚本;

$_ = "$scheme://$host$_";

$scheme = http
$host = http.com
$_ = /1.0
Run Code Online (Sandbox Code Playgroud)

所以最终的 $_ 将是http://http.com/1.0

来源

$ ls -al /usr/bin/HEAD 
lrwxrwxrwx 1 root root 11 Nov 23  2011 /usr/bin/HEAD -> lwp-request

$ file /usr/bin/lwp-request 
/usr/bin/lwp-request: a /usr/bin/perl -w script, ASCII text executable
Run Code Online (Sandbox Code Playgroud)

注意uf_uri

vim +196 /usr/bin/lwp-request +"sp +440 /usr/bin/lwp-request"
Run Code Online (Sandbox Code Playgroud)

uf_uri调用uf_uristr/usr/share/perl5/URI/Heuristic.pm是包的一部分liburi-perl