我们在php获取网页header信息的4种方法中提到php可以用get_headers()函数来获取网页的header信息.
但是get_headers默认的请求方式是get方法, 还可以用head方法请求网页:
- stream_context_set_default(array('http'=>array('method'=>'HEAD')));
head请求和get请求有什么区别呢?
HEAD请求允许客户端仅向服务器请求某个资源的响应头, 而不要真正的下载该资源本身, 省略了响应体.
GET方法请求服务器返回的响应头则包含响应体.
上面的截图中第一个请求用的是HEAD请求, 服务器并没有返回响应体.在Inspectors选项卡中查看使用的是HEAD请求方法.
使用GET方法请求服务器则返回6623字节大小的响应体. 还可以看出,该资源的类型为text/html以及它的编码为UTF-8.
如果仅仅想要获取页面相应信息的情况下用head请求方法更快.
请注意stream_context_set_default函数只支持php 5.3 以上版本. 也可以用stream_context_get_default函数支持php5.1以上版本.