您的位置:首页 > 其它

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

2012-06-05 18:01 429 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐