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

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>



你可能感兴趣的:(JavaScript,Ajax,function,服务器,XMLhttpREquest,encoding)