原文地址:
http://bbs.netpu.net/viewthread.php?tid=2950
错误码与状态码
近来总有朋友咨询cPanel 的Awstats中“HTTP错误码(HTTP Error codes)”的含义,以及是否需要关注和处理。
关于Awstats请查看《CP How-To:如何使用cPanel查看站点统计数据(awstats)》
文章地址:http://bbs.netpu.net/viewthread.php?tid=694
其实这是一个误会,在这里它应该是“HTTP状态码(HTTP Status codes)”。
OK,既然是状态码,那么就可能有正确和错误两种状态了(至少不全是错误了,大大的松口气吧)。那么这些代码都代表什么含义呢?到底哪些是错误状态,哪些是正确状态呢?不要急,下边我冒充内行为大家做一个简单的介绍。
HTTP与Status codes
HTTP可能大家都熟悉,就是超文本传输协议。浏览器通过HTTP与WEB Server通讯(也有一些其它软件比如IM使用HTTP协议传递数据),把我们的请求(HTTP Request)传递给服务器,服务器响应这个请求,返回应答(HTTP Response)以及我们需要的数据。大致就是这个样子了。
如果我们请求啥,服务器就返回啥,是乎就不需要HTTP Status codes了。但是事情往往不是那么简单。比如我们请求一个网页页面,可是服务器不存在这个页面,或者这个页面被转移到其它地方,或者服务器禁止我们查看这个页面等等,所以为了便于浏览器处理这些正确与不正确的情况,HTTP用Status codes来表示请求(HTTP Request)在服务器端被处理的情况。Status codes通过应答(HTTP Response)返回给浏览器,浏览器根据这个作相应的处理。
HTTP Status codes的分类
既然有正确和错误的状态,HTTP定义两大类状态码是不是就可以了?人家制订协议的可是专家(不象我是冒充的),想得比我们要周全,要长远。HTTP 1.1中定义了5大类Status codes,分别是:
Informational
意义:信息
范围:1XX
Successful
意义:成功
范围:2XX
Redirection
意义:重定向
范围:3XX
Client Error
意义:客户端错误
范围:4XX
Server Error
意义:服务器错误
范围:5XX
您看看人家想得多周到啊,真专家就是真专家。
常见HTTP Status codes简介
下面简单介绍一下我们经常碰到的HTTP Status codes。
也许是我孤陋寡闻,常遇到的HTTP Status codes就那么几个,见笑啦。
Successful
200 - OK:OK
这个是最常见的啦(也许我们不会直接看到,但是如果您使用一些抓包工具,大多数http应答中都有这个)。意义很简单,就是说服务器收到并理解客户端的请求而且正常处理了。
206 - Partial Content:部分内容。
这个也经常发生。很容易让大家发懵。
通俗点说就是如果客户端请求文档(图像,文本,声音等等)的部分内容,服务器正常处理,那么就返回206。大致意思就是它请求的时候,除了指定请求的内容,还指定了偏移量以及长度。
部分内容,没搞错吧?呵呵没搞错,现在很多浏览器以及软件支持断点续传就是靠这个的。呵呵,以后看到206不要怕了。
Redirection
301 - Moved Permanently:永久移动。
这个状态码是指客户端要请求的资源已经被永久的转移到一个新的地方了。这个应答(HTTP Response)里边同时包含了资源的新地址。它告诉客户端,如果下次还想要这个资源,那么就用新的地址去取。
302 Found:临时重定向。
这个状态码是指客户端要请求的资源临时放到一个新地方了。同样,应答中也包含了资源的新地址。
307 - Temporary Redirect:临时重定向。(如果不去实现协议或者做相关开发,我们大致理解它很302差不多就可以啦)
有一篇谈重定向的文章《从Business.com遭封看302重定向》很有意思
我们转载了一份,地址:http://bbs.netpu.net/viewthread.php?tid=810
Client Error
400 - Bad Request:错误请求
就是请求的语法错误,服务器无法理解。
401 – Unauthorized:未授权
当服务器返回401 Code,就是告诉说客户端访问指定资源以前,必须通过服务器的授权。
403 – Forbidden:禁止访问
就是不允许访问某些资源。
404 - Not Found:找不到
找不到客户端请求的内容
Server Error
500 - Internal Server Error
服务器内部错误。
结束语
越写越懒,所以就简简单单写这么多啦。没有啥大用处。如果能消除一两位关于这方面朋友的疑虑,就足以令我欣慰了。既然之前都说过是冒充内行,所以有错漏之处在所难免,还望大家不吝赐教。
需要深入研究这方面内容的朋友,千万不要看这篇文章,以免被此文误导。请学习官方的协议内容。
官方的资料地址:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
分享到:
相关推荐
在易语言中,"取HTTP状态码"是一个常见的网络编程操作,主要用于获取HTTP协议的响应状态。 HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,它定义了客户端和服务器之间数据交换的格式和交互规则。HTTP...
http状态码
针对HTTP状态码:1xx,2xx,3xx,4xx,5xx的几十个状态码做了详细分析, 以及出现状态码代表了什么意思,个别的详细解释了出现的原因。供大家针对出现的问题思考解决方案;例如:300错误为:针对收到请求,服务器可执行...
在IT行业中,HTTP状态码是网络通信中一个非常重要的概念,它是服务器对客户端请求的响应。HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,它定义了一种在客户端和服务器之间交换信息的方式。当我们访问...
HTTP状态码是HTTP协议中服务器向客户端返回的一种状态反馈,用于表示请求处理的结果。这些状态码分为五大类,每类都对应着特定的含义和应用场景。 100-199的范围是临时响应,主要用于通知客户端一些中间状态。例如...
### HTTP状态码详解 #### 一、概述 HTTP状态码是一种用于表示网页服务器对客户端请求响应状态的三数字代码。这种编码方式最初由RFC 2616规范定义,并通过RFC 2518、RFC 2817、RFC 2295、RFC 2774与RFC 4918等多个...
### HTTP状态码大全详解 HTTP协议作为Web应用的基础通信协议之一,在互联网中扮演着至关重要的角色。它定义了一系列的状态码来表示服务器响应客户端请求的状态。本文将详细介绍HTTP状态码的各种类型及其含义,帮助...
http状态码批量查询工具 解放双手,自动查询HTTP状态码,支持多条网址自动查询。
### HTTP状态码详解 HTTP状态码是Web服务器与客户端(如浏览器)通信的重要组成部分,用于指示请求的结果。根据HTTP协议规范,状态码分为五类,分别代表不同的含义和作用。 #### 1. 信息响应(1xx) 这类状态码...
它定义了客户端和服务器之间交互数据时的通信规则,而HTTP状态码则是这个通信过程中的重要反馈机制。状态码由三位数字组成,分为五类,每类都有特定的含义。 一、状态码分类: 1. 1XX(临时响应):表示临时响应并...
HTTP状态码是服务器响应请求时返回的3位数字代码,它们提供了关于请求成功、重定向、客户端错误或服务器错误等信息。选择正确的HTTP状态码对于网站和API开发者来说是非常重要的,因为它不仅帮助开发者和使用者理解...
### HTTP状态码详解 HTTP(超文本传输协议)是用于从Web服务器传输超文本到本地浏览器的传送协议。HTTP状态码是由三个十进制数字组成的响应状态代码,它定义了客户端请求服务器后的结果状态。HTTP状态码的第一位...
HTTP状态码是网络开发者在构建和维护Web应用时必须熟知的重要元素。它们是服务器与客户端之间通信的关键,用于指示请求是否成功以及发生何种问题。HTTP状态码由三位数字组成,分为五类,每类代表不同的含义。 1xx...
http状态码批量检测工具是杭州光年出品的一个网页http状态码批量查询工具,支持批量导入URL,并查询其HTTP状态码,避免了同时检测多个页面时造成时间上的浪费和一些麻烦,查询结果可以导出为CSV文件保存,便于...
HTTP状态码是HTTP协议中用于表示客户端与服务器交互情况的三位数字编码,它们反映了服务器对客户端请求的响应状态。理解HTTP状态码对于诊断网络问题、优化网页性能以及调试API接口至关重要。以下是对常见HTTP状态码...
### 常见HTTP状态码详解 #### 一、引言 HTTP状态码是Web开发与维护中的一个重要组成部分,它们不仅对于网站管理者至关重要,对于理解客户端与服务器间交互过程也十分关键。本文将深入探讨常见HTTP状态码的意义及...
HTTP状态码是HTTP响应中的一个重要组成部分,它向客户端传达了服务器处理请求的结果。理解HTTP状态码对于网络开发、故障排查以及优化网站性能至关重要。 HTTP状态码由三位数字组成,分为五个类别: 1. 1XX(临时...