header 404 404代码是什么
在这个信息爆炸的时代,了解header 404和404代码是什么的重要性不言而喻。本文将为您带来全面的解读,助您在这个领域中游刃有余。
404代码是什么
什么是404状态码?
编辑
404状态码是一种http状态码,其意思是:所请求的页面不存在或已被删除!通俗的讲就是当用户输入了错误的链接时,返回的页面。
什么是http状态码?
编辑
什么是http状态码呢?当用户试图通过HTTP或文件传输协议(FTP)访问一台正在运行Internet信息服务(IIS)的服务器上的内容时,IIS返回一个表示该请求的状态的数字代码。该状态代码记录在IIS日志中,同时也可能在Web浏览器或FTP客户端显示。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。
404错误页面返回“200”或“302”状态码?
编辑
从严格的技术角度,网站对404错误的处理策略,并不是一个SEO方面的工作,而属于网站可用性(usability)方面的问题。——当然,如果从广义的SEO范畴来看,提高网站可用性也属于SEO的基本操作。——但是,如果自定义404错误页面设置不当,则会极大地影响网站的SEO效果。
在许多朋友的印象中,自定义404错误页面只要能正确显示,只要能输入网站内某个并不存在的网页地址,在浏览器中能看到自定义的错误信息,便说明设置没问题。一个正确设置的404页面,不仅应当正确地显示,同时,应该能够正确返回“404”错误代码,而不是“200”或“302”。虽然对访问的用户而言,HTTP状态码究竟是“404”还是“200”来说并没有什么区别,但对搜索引擎而言,这则是相当重要的。
为什么这么说呢?让我们先来回顾一下搜索引擎收录与索引网页的过程:搜索引擎的Spider向网站服务器发送请求,要求读取某个网页,网站服务器接到请求后返回HTTP状态码响应请求,这些返回的HTTP状态码决定着搜索引擎的下一步行动:将该网页收录到索引数据库或者将其从索引数据库删除等。
当然,HTTP状态码有很多种,分别对应不同的情况,下面就与本文内容相关的几种作一简单介绍,更详细的信息可参考W3C规范:
404:请求的网页不存在(不排除日后该链接有效的可能性);
410:请求的网页不存在(永久);
200:服务器成功返回网页
302:网址临时重定向(跳转
301:网址永久重定向
需要说明的是,大部分搜索引擎将“404”与“410”状态同等对待,如Google。(参见MattCutts的说明
当搜索引擎在请求某个Url时得到“404”状态回应时,便会知道该网页在网站内不复存在,从而在索引数据库中将其删除,——当然,这个删除过程有可能需要很长时间——而当搜索引擎得到“200”状态回应时,则会认为该url是有效的,并将其回到到索引数据库中。
404页面返回“200”状态码的后果
编辑
如果网站的自定义404错误页面在url无效时不返回“404”状态码而代之以“200”,会发生什么情况呢?很明显,搜索引擎会认为这个“根本不存在的”网页在网站内是存在的,这会导致很多问题,影响网站的最终SEO效果。
举例来说,比如说对“”、“”这两个在IT技术点评网站内并不存在的url而言,如果搜索引擎得到的回应状态码是“200”,那么,便会将其收录到索引数据库,这样的结果便是这两个不同的url具有完全相同的内容:自定义404错误页面的内容,这类重复文本(DuplicateContent)的现象对许多搜索引擎而言都是大忌。尤其是考虑到网站中不可能只有这两个无效链接,毕竟在网站建设中,无论网站的内部链接还是外部链接,总会不可避免地出现许多比如说拼写错误的情况,类似的重复内容会更多。这样,对搜索引擎而言,特别是Google,不但很难获得理想的网站信任指数,也会大大降低Google对网站质量的评定。
404错误页使用Meta Refresh带来的302问题常常看到许多网站的自定义404错误页面采取类似这样的形式:首先显示一段错误信息,然后,通过MetaRefresh将页面跳转到网站首页、网页地图或其他类似页。根据具体实现方式不同,这类404页面可能返回“200”状态码,也可能返回“302”,但不论哪种,从SEO的角度看,均不是一种合适的选择。
404错误页使用Meta Refresh带来的302问题
对“200”状态的情况我们上面已经谈过,那么,当404页面返回“302”时,搜索引擎会怎么对待呢?从理论上说,对“302”错误,搜索引擎认为该网页是存在的,只不过临时改变了地址,仍然会索引收录该页,这样,同样会出现类似于“200”状态码时的重复文本问题;其次,以google为代表的主流搜索引擎对302重定向的适用范围要求越来越严格,这类不当使用302重定向的情况存在很大的风险。
因此,尽量不要在404错误页中使用这类MetaRefresh方法。如果实现希望实现类似的功能,即让显示错误信息几(十)秒后跳转到首页或其他页面,可以考虑在404错误页中使用JavaScript跳转。——JavaScript对搜索引擎而言是无益同时也无害的。
确保404错误页面能够返回“404”状态码.
确保404错误页面能够返回“404”状态码.
在自定义404错误页面设置完毕后,一定要检查一下其是不是能够正确地返回“404”状态码。
检查的方法也相当简单,使用本站提供的ServerHeader检查工具,或其他类似工具如这个,输入一个网站内不存在网页的url,查看一下HTTPHeader的返回情况,确信其返回的是“404Notfound”。
xmlhttp.setrequestheader怎么用
在Ajax应用程序中,XmlHttpRequest对象负责将用户信息以异步通信地发送到服务器端,并接收服务器返回的响应信息和数据。
XMLHttpRequest简介
XMLHttpRequest可以提供不重新加载页面的情况下更新网页,在页面加载后在客户端向服务器请求数据,在页面加载后在服务器端接受数据,在后台向客户端发送数据。XMLHttpRequest对象提供了对 HTTP协议的完全的访问,包括做出 POST和 HEAD请求以及普通的 GET请求的能力。XMLHttpRequest可以同步或异步返回 Web服务器的响应,并且能以文本或者一个 DOM文档形式返回内容。尽管名为 XMLHttpRequest,它并不限于和 XML文档一起使用:它可以接收任何形式的文本文档。XMLHttpRequest对象是名为 AJAX的 Web应用程序架构的一项关键功能。
XMLHttpRequest和Javascript
Javascript本身并未具备向服务器发送请求的能力,要么使用window.open()方法重新打开一个页面向服务器提交请求,要么使用XMLHttpRequest对象发送请求。不同的是,前者是普通的即同步交互模式,而后者是异步交互方式。
XMLHttpRequest提供了一系列的属性和方法,来向服务器发送异步的http请求;在服务器处理用户请求的过程中,XMLHttpRequest通过属性的状态值来实时反映http请求所处的状态,并根据这些状态指示Javascript做相应的处理;当服务器顺利完成响应用户行为的动作、并将响应数据返回时,XMLHttpRequest提供的response系列方法,可以将这些响应数据以文本、XML Document对象、Ado Stream对象或者unsigned byte数组的方式组装起来,提供给Javascript处理。
XMLHttpRequest的五步使用法:
1、建立XMLHttpRequest对象
2、注册回调函数
3、使用open方法社会自和服务器端交互的基本信息
4、设置发送的数据,开始和服务器端交互
5、在回调函数中判断交互是否结束,响应是否正确,并根据需要过去服务器端返回的数据,更新页面内容
下面我们以用户名确认来实现XMLHttpRequest的五步使用法:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
var xmlhttp;
function submit(){
//1.创建XHLHttpRequest对象
if(window.XMLHttpRequest){
//alert("IE7,IE8,FireFox。Mozillar、Safari,Opera");
//IE7,IE8,FireFox。Mozillar、Safari,Opera
xmlhttp=new XMLHttpRequest();
if(xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType("text/xml");
}
}else if(window.ActiveXObject){
//IE6,IE6.5 IE5
alert("IE6,IE6.5 IE5");
var activexName= ['MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0',
'MSXML2.XMLHTTP.4.0','msxml2.xmlhttp.3.0','MSXML2.XMLHTTP.2.0',
'MSXML2.XMLHTTP.1.0'];
for(var i=0; i<activexName.length;i++){
try{
xmlhttp=new ActiveXObject(activexName[i]);
break;
}catch(e){
}
}
}
if(xmlhttp==undefined||xmlhttp==null){
alert("当前浏览器不支持穿件XMLHttpRequest对象,请更换浏览器");
return;
}
//alert(xmlhttp);
//2.注册回调方法
xmlhttp.onreadystatechange=callback;
//错误的写法callback();
//记忆一个固定用法,获取文本框中用户输入的内容
var userName=document.getElementById("UserName").value;
/*
//GET方式交互
//设置和服务器端交互的相应参数
xmlhttp.open("GET","AjaxServer?name="+userName,true);
//4.设置向服务器端发送的数据,启动和服务器端的交互
xmlhttp.send(null);
*/
//POST方式交互
//3.设置和服务器端交互的相应参数
xmlhttp.open("POST","AjaxServer",true);
//POST方式交互所需要增加的代码
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//4.设置向服务器端发送的数据,启动和服务器端的交互
xmlhttp.send("name="+userName);
}
function callback(){
//5.判断和服务器端的交互是否完成,还有判断服务器端是否正确返回了数据
if(xmlhttp.readyState==4){
//表示和服务器端的交互已经完成
//服务器返回的http状态码
//200表示“成功”,404表示“未找到”。500表示“服务器内容部错误”
//alert(xmlhttp.status);
if(xmlhttp.status==200){
//表示服务器端的响应代码是200,正确的返回了数据
//纯文本数据的接受方法
var message=xmlhttp.responseText;
//XML数据对应的DOM对象的接受方法
//使用前提是,服务器端需要设置content-type为text/xml
//var domXml=xmlhttp.responseXML;
alert("bb");
//记忆想div标签填充文本内容的方法
var div=document.getElementById("message");
div.innerHTML=message;
}
}
}
</script>
</head>
<body>
<input type="text" id="UserName"/>
<input type="button" value="校验用户名" onclick="submit()"/>
<br/>
<div id="message"></div>
</body>
</html>
转载
header 404和404代码是什么的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!