curl为什么会给$ _SERVER 给浏览器一个不同的响应?

我有一个简单的testingPHP页面:

<?php echo $_SERVER['HTTP_HOST'] . '<br/>'; echo $_SERVER['REQUEST_URI']; ?> 

当我用浏览器访问这个页面(我testing过Chrome和链接)时,它给了我期望的输出:

 10.1.25.222 /test.php 

但是当我用curl 10.1.25.222/test.php访问它时:

 10.1.25.222<br/>HTTP://10.1.25.222/test.php 

给我HTTP_HOST我期待,但不是我期待的REQUEST_URI

我只能假定curl必须发送GET请求中的整个URL。 我已经testing了以下两种方法对Apache,他们都似乎工作,并给你所经历的类似的结果:

大多数浏览器在他们的HTTP请求中似乎做了什么:

 GET /some/path HTTP/1.1 Host: www.domain.com 

似乎在做什么curl:

 GET HTTP://www.domain.com/some/path HTTP/1.1 Host: www.domain.com