发表于: 2017-05-03 20:21:03
1 1090
今天完成的事情:任务八分页和双向绑定
明天计划的事情:开始任务九
遇到的问题:在写代码时候还是出现了多或者少打了符号而没有看到的问题。最终通过提示改掉了
收获:
【JS-TASK5】HTTP状态码有那些?分别代表是什么意思?
1.背景介绍
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。
这里是百度百科的介绍:
HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。
2.知识剖析
HTTP状态码的英文为HTTP Status Code。 下面是常见的HTTP状态码的概括:
1开头:(被接受,需要继续处理。)这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。
2开头 (请求成功)这一类型的状态码,代表请求已成功被服务器接收、理解、并接受
3开头 (请求被重定向)这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。
4开头:(请求错误)这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。除非响应的是一个 HEAD 请求,否则服务器就应该返回一个解释当前错误状况的实体,以及这是临时的还是永久性的状况。这些状态码适用于任何请求方法。浏览器应当向用户显示任何包含在此类错误响应中的实体内容。
5开头:(服务器错误)这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。除非这是一个HEAD 请求,否则服务器应当包含一个解释当前错误状态以及这个状况是临时的还是永久的解释信息实体。浏览器应当向用户展示任何在当前响应中被包含的实体。
101(服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议):
服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。 只有在切换新的协议更有好处的时候才应该采取类似措施。例如,切换到新的HTTP 版本比旧版本更有优势,或者切换到一个实时且同步的协议以传送利用此类特性的资源。
102 Processing(代表处理将被继续执行) 由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。
2开头 这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。
200 OK(通常,这表示服务器提供了请求的网页。)
请求已成功,请求所希望的响应头或数据体将随此响应返回。
201 Created(请求成功并且服务器创建了新的资源。 )
请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其 URI 已经随Location 头信息返回。假如需要的资源无法及时建立的话,应当返回 '202 Accepted'。
202 Accepted(已接受——服务器已接受请求,但尚未处理。 )
服务器已接受请求,但尚未处理。正如它可能被拒绝一样,最终该请求可能会也可能不会被执行。在异步操作的场合下,没有比发送这个状态码更方便的做法了。
返回202状态码的响应的目的是允许服务器接受其他过程的请求(例如某个每天只执行一次的基于批处理的操作),而不必让客户端一直保持与服务器的连接直到批处理操作全部完成。在接受请求处理并返回202状态码的响应应当在返回的实体中包含一些指示处理当前状态的信息,以及指向处理状态监视器或状态预测的指针,以便用户能够估计操作是否已经完成。
203 Non-Authoritative Information((非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。 )
服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。当前的信息可能是原始版本的子集或者超集。例如,包含资源的元数据可能导致原始服务器知道元信息的超集。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的。
3开头 (请求被重定向)表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
当且仅当后续的请求所使用的方法是 GET 或者 HEAD 时,用户浏览器才可以在没有用户介入的情况下自动提交所需要的后续请求。客户端应当自动监测无限循环重定向(例如:A->A,或者A->B->C->A),因为这会导致服务器和客户端大量不必要的资源消耗。按照 HTTP/1.0 版规范的建议,浏览器不应自动访问超过5次的重定向。
300 Multiple Choices((多种选择)针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。)
302 Move temporarily(302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。)
303 See Other((查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。)
304 Not Modified((未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。)
305 Use Proxy( (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。 )
306 Switch Proxy 废弃。在最新版的规范中,306状态码已经不再被使用。
307 Temporary Redirect ((临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。)
4开头 (请求错误)这些状态代码表示请求可能出错,妨碍了服务器的处理。
400 Bad Request((错误请求) 服务器不理解请求的语法。)
401 Unauthorized((未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。)
402 Payment Required(该状态码是为了将来可能的需求而预留的。)
403 Forbidden ((禁止) 服务器拒绝请求。)
404 Not Found((未找到) 服务器找不到请求的网页。)
405 Method Not Allowed((方法禁用)请求行中指定的请求方法不能被用于请求相应的资源。该响应必须返回一个Allow 头信息用以表示出当前资源能够接受的请求方法的列表。 )
406 Not Acceptable((不接受) 无法使用请求的内容特性响应请求的网页。 )
407 Proxy Authentication Required((需要代理授权) 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理)
408 Request Timeout(请求超时。客户端没有在服务器预备等待的时间内完成一个请求的发送。)
409 Conflict((冲突) 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。)
410 Gone((已删除) 如果请求的资源已永久删除,服务器就会返回此响应。 )
411 Length Required((需要有效长度) 服务器不接受不含有效内容长度标头字段的请求。 )
412 Precondition Failed( (未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件。)
413 Request Entity Too Large( (请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。)
414 Request-URI Too Long((请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。)
415 Unsupported Media Type((不支持的媒体类型) 请求的格式不受请求页面的支持。 )
5开头(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。
500 (服务器内部错误) 服务器遇到错误,无法完成请求。
501 (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。
503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
504 (网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。
http状态码如何查看?
F12调试,network查看Status。
各种在线输入网址查询HTTP状态的工具:
比如:站长工具,http状态查询:http://tool.chinaz.com/pagestatus/
像这样的网站,也提供这个功能。。。。http://www.3464.com/Tools/PageStatus/
知道这个有什么用?
http状态码的核心作用是Web Server服务器用来告诉客户端,当前的网页请求发生了什么事,或者说当前Web服务器的响应状态。所以HTTP状态码常用来判断和分析当前Web服务器的运行状况。
将这些状态码一一弄清楚,工作中遇到的各种问题才能够处理的得心应手。
评论