什么是HTTP: HTTP(HyperTextTransferProtocol超文本传输??协议)是互联网上使用最广泛的网络协议。所有的WWW文档都必须符合这个标准,以便提供一种发布和接收HTML页面的方法。HTTP定义了信息的格式、传输方式以及服务器和浏览器在各种命令下的响应。 HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。Internet上所有的Web服务器都存储超文本信息,客户端计算机需要通过HTTP协议传输要访问的超文本信息。HTTP包括命令和传输信息,不仅可以用于Web访问,还可以用于其他Internet/Intranet应用系统之间的通信,从而实现对各种应用资源的超媒体访问的集成。HTTP协议的主要特点 1。支持客户端/服务器模式。 2。简单快捷:客户端向服务器端请求服务时,只需要传递请求方式和路径即可。常用的请求方式有GET、HEAD、POST。每种方法指定一种不同类型的客户端-服务器联系。由于HTTP协议简单,HTTP服务器的程序体积小,所以通信速度很快。 3。灵活:HTTP允许传输任何类型的数据对象。正在传输的类型由Content-Type标记。 4。无连接:无连接的意思是限制每个连接只能处理一个请求。服务器处理完客户端的请求并收到客户端的响应后,断开连接。这样,可以节省传输时间。 5.无状态:HTTP协议是一种无状态协议。无状态意味着协议没有用于事务处理的存储能力。缺少状态意味着如果后续处理需要先前的信息,则必须重传,这会导致每个连接传输的数据量增加。另一方面,当服务器不需要以前的信息时,它的响应速度更快。下面提供了HTTP状态代码的完整列表。1、临时响应1xx(临时响应)表示临时响应,需要请求者继续执行状态码。 100(继续)请求者应该继续提出请求。服务器返回此代码表示它已收到请求的第一部分并正在等待其余部分。 101(Switchprotocol)请求者向服务器请求切换协议,服务器已确认并准备切换。只有在切换到新协议有益时才应采取类似措施。 102Processing是WebDAV(RFC2518)扩展的状态码,表示处理将继续。2、Success2xx(成功)表示请求处理成功的状态码。 200(Success)服务器已成功处理请求。通常,这意味着服务器提供了所请求的网页。如果您看到robots.txt文件的此状态代码,则表明Googlebot已成功检索到该文件。 201(Created)请求成功,服务器创建了一个新的资源。 202(Accepted)服务器已接受请求,但尚未处理。 203(UnauthorizedInformation)服务器已成功处理请求,但返回的信息可能来自其他来源。 204(NoContent)服务器成功处理了请求,但没有返回任何内容。 205(ResetContent)服务器成功处理了请求,但没有返回任何内容。与204响应不同,此响应要求请求者重置文档视图(例如,清除表单内容以输入新内容)。 206(部分内容)服务器成功处理了部分GET请求。3.Redirection3xx(重定向)要完成请求,需要进一步的操作。通常,这些状态代码用于重定向。Google建议您对每个请求使用不超过5个重定向。您可以使用网站站长工具查看Googlebot是否在抓取重定向页面时遇到问题。诊断下的网络抓取页面列出了Googlebot由于重定向错误而无法抓取的网址。 300(多选)服务器可以对请求进行各种操作。服务器可以根据请求者(用户代理)选择一个操作,或者提供一个操作列表供请求者选择。 301(永久移动)请求的网页已永久移动到新位置。当服务器返回此响应(对GET或HEAD请求的响应)时,它会自动将请求者转发到新位置。您应该使用此代码来告知页面或站点已永久移动到新位置。 302(临时搬家)服务器目前响应来自不同位置的网页请求,但请求者应继续使用原来的位置响应以后的请求。此代码类似于响应GET和HEAD请求的301代码,并自动将请求者重定向到不同的位置,但您不应该使用此代码来告知页面或网站已移动,因为Googlebot将继续抓取原始位置并编入索引。 303(查看其他位置)当请求者应该对不同位置使用单独的GET请求来检索响应时,服务器返回此代码。对于除HEAD之外的所有请求,服务器会自动转到其他地方。 304(NotModified)请求的页面自上次请求后未被修改。服务器返回此响应时,不返回任何网页内容。如果自请求者上次请求以来页面未更改,则应将服务器配置为返回此响应(称为If-Modified-SinceHTTP标头)。服务器可以通过告诉Googlebot该页面自上次被抓取后没有更改来节省带宽和开销。 305(UseProxy)请求者只能使用代理访问请求的网页。如果服务器返回这个响应,也表明请求者应该使用代理。 307(临时重定向)服务器当前响应来自不同位置的网页的请求,但请求者应继续使用原来的位置响应以后的请求。此代码类似于响应GET和HEAD请求的301代码,并自动将请求者重定向到其他位置,但您不应使用此代码告诉Googlebot页面或网站已移动,因为Googlebot将继续抓取原始位置位置和索引。4.Requesterror4xx(请求错误)这些状态码表示请求可能有误,阻碍了服务器的处理。 400(BadRequest)服务器不理解请求的语法。 401(Unauthorized)请求需要认证。服务器可能会为登录后请求的网页返回此响应。 403(Forbidden)服务器拒绝请求。如果您在Googlebot尝试抓取您网站上的有效页面时看到此状态代码(您可以在Google网站站长工具诊断下的Web抓取页面上看到这一点),则您的服务器或主机可能拒绝了Googlebot的访问。 404(NotFound)服务器找不到请求的网页。例如,对于服务器上不存在的网页,通常会返回此代码。如果您的站点上没有robots.txt文件并且您在Google网站站长工具的“诊断”选项卡的robots.txt页面上看到此状态代码,则这是正确的状态代码。但是,如果您有robots.txt文件并且看到此状态代码,则您的robots.txt文件可能命名错误或位于错误的位置(它应该位于顶级域,称为robots.txt)。 如果您看到由Googlebot抓取的URL的此状态代码(在“诊断”选项卡的“HTTP错误”页面上),则表示Googlebot可能正在跟踪来自另一个页面的无效链接(旧链接或拼写错误链接). 405(MethodDisabled)请求中指定的方法被禁用。 406(未接受)无法使用请求的内容属性响应请求的网页。 407(ProxyAuthorizationRequired)这个状态码类似于401(Unauthorized),但是指定请求者应该授权使用代理。如果服务器返回这个响应,也表明请求者应该使用代理。 408(RequestTimedOut)服务器在等待请求时超时。 409(冲突)服务器完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。服务器可能会返回此代码以响应与先前请求冲突的PUT请求,以及两个请求之间的差异列表。 410(Deleted)如果请求的资源已经被永久删除,服务器将返回此响应。此代码类似于404(未找到)代码,但有时在资源以前存在但现在不存在的情况下用于代替404代码。如果资源已经永久移动,则应使用301指定资源的新位置。 411(ValidLengthRequired)服务器不接受没有ValidContent-Length头字段的请求。 412(Preconditionnotmet)服务器不满足请求者在请求中设置的前置条件之一。 413(Therequestentityistoolarge)服务器无法处理请求,因为请求实体太大,超过了服务器的处理能力。 414(TherequestedURIistoolong)请求的URI(通常是URL)太长,服务器无法处理。 415(UnsupportedMediaType)请求的页面不支持请求的格式。 416(请求的范围不符合要求)如果页面不能提供请求的范围,服务器将返回此状态码。 417(Expectationnotmet)服务器不满足请求头字段“Expectation”。5.ServerError5xx(服务器错误)这些状态代码表示服务器在处理请求时发生了内部错误。这些错误可能是服务器本身的错误,而不是请求的错误。 500(Internalservererror)服务器遇到错误,无法完成请求。 501(notyetimplemented)服务器无法完成请求。例如,当服务器无法识别请求方法时,可能会返回此代码。 502(BadGateway)作为网关或代理的服务器收到来自上游服务器的无效响应。 503(ServiceUnavailable)服务器当前不可用(由于过载或停机维护)。通常,这只是一个临时状态。 504(GatewayTimeout)服务器作为网关或代理,没有及时收到上游服务器的请求。 505(HTTPversionnotsupported)服务器不支持请求中使用的HTTP协议版本。
