head请求和get请求的区别

2014年06月29日 01:59 by:紫云飞

我们在php获取网页header信息的4种方法中提到php可以用get_headers()函数来获取网页的header信息.

但是get_headers默认的请求方式是get方法, 还可以用head方法请求网页:

  1. stream_context_set_default(array('http'=>array('method'=>'HEAD')));

head请求和get请求有什么区别呢?

HEAD请求允许客户端仅向服务器请求某个资源的响应头, 而不要真正的下载该资源本身, 省略了响应体.

GET方法请求服务器返回的响应头则包含响应体.

image

上面的截图中第一个请求用的是HEAD请求, 服务器并没有返回响应体.在Inspectors选项卡中查看使用的是HEAD请求方法.

使用GET方法请求服务器则返回6623字节大小的响应体. 还可以看出,该资源的类型为text/html以及它的编码为UTF-8.

image

如果仅仅想要获取页面相应信息的情况下用head请求方法更快.

请注意stream_context_set_default函数只支持php 5.3 以上版本. 也可以用stream_context_get_default函数支持php5.1以上版本.