利用Ajax发送HEAD请求读取服务器响应头部

来源:互联网 发布:阴茎发育到多大知乎 编辑:程序博客网 时间:2024/06/04 20:31

http://blog.csdn.net/fanteathy/article/details/7324138

Ajax发送请求的类型除了GET,POST外,还可以发送HEAD请求。作用在于读取服务器的响应头部而忽略其内容,通过读取响应头部可以得出Content-Type、LastModified等内容。可以用来验证服务器是否正常运行或者获取一些服务器的信息。由于发送HEAD请求时,服务器只返回响应头部而忽略内容,因此HEAD请求的响应比GET或者POST都要快得多。其中xmlHttp对象的方法getAllResponseHeaders(),getLastModified,getIsResourceAvailable()分别用来读取响应头部,修改时间和资源是否可用(可参考XMLHttpRequest对象手册)

发送HEAD请求,处理响应信息的前端文件index.php

<script type="text/javascript">var xmlHttp;var requestType="";function createXMLHttpRequest() {if (window.ActiveXObject) {xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");} else if (window.XMLHttpRequest) {xmlHttp = new XMLHttpRequest();}}function doHeaderRequest(request,url) {requestType=request;createXMLHttpRequest();xmlHttp.onreadystatechange=handleStateChange;xmlHttp.open("Head",url,true);xmlHttp.send(null);}function handleStateChange() {if(xmlHttp.readyState==4) {if(requestType=="allResponseHeaders") {getAllResponseHeaders();}else if(requestType=="lastModified") {getLastModified();}else if(requestType=="isResourceAvailable") {getIsResourceAvailable();}}}function getAllResponseHeaders() {alert(xmlHttp.getAllResponseHeaders());}function getLastModified() {alert("Last Modified: "+xmlHttp.getResponseHeader("Last-Modified"));}function getIsResourceAvailable() {if(xmlHttp.status==200) {alert("Successful response");}}</script><fieldset><legend>读取网页响应头</legend><a href="javascript:doHeaderRequest('allResponseHeaders','readingResponseHeaders.xml')">读取所有文件头</a><br><a href="javascript:doHeaderRequest('lastModified','readingResponseHeaders.xml')">获取文件修改日期</a><br><a href="javascript:doHeaderRequest('isResourceAvailable','readingResponseHeaders.xml')">读取现存资源</a><br></fieldset>

服务器端文件readingResponseHeaders.xml

<?xml version="1.0" encoding="UTF-8"?><readingResponseHeaders></readingResponseHeaders>



原创粉丝点击