HTTP基础知识

1、HTTP协议

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。
HTTP协议的主要特点可概括如下:
1.支持客户/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

2、HTTP协议状态码

代码状态说明
100继续请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
101切换协议请求者已要求服务器切换协议,服务器已确认并准备切换。
102继续执行由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。
代码状态说明
200成功服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。
201已创建请求成功并且服务器创建了新的资源。
202已接受服务器已接受请求,但尚未处理。
203非授权信息服务器已成功处理了请求,但返回的信息可能来自另一来源。
204无内容服务器成功处理了请求,但没有返回任何内容。
205重置内容服务器成功处理了请求,但没有返回任何内容。
206部分内容服务器成功处理了部分 GET 请求。
207多种状态由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。
代码状态说明
300多种选择针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。
301永久移动请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302临时移动服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
303查看其他位置请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
304未修改自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
305使用代理请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。
306已经不再被使用。
307临时重定向服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
代码状态说明
400错误请求服务器不理解请求的语法。
401未授权请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
403禁止服务器拒绝请求。
404未找到服务器找不到请求的网页。
405方法禁用禁用请求中指定的方法。
406不接受无法使用请求的内容特性响应请求的网页。
407需要代理授权此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。
408请求超时服务器等候请求时发生超时。
409冲突服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。
410已删除如果请求的资源已永久删除,服务器就会返回此响应。
411需要有效长度服务器不接受不含有效内容长度标头字段的请求。
412未满足前提条件服务器未满足请求者在请求中设置的其中一个前提条件。
413请求实体过大服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
414请求的 URI 过长请求的 URI(通常为网址)过长,服务器无法处理。
415不支持的媒体类型请求的格式不受请求页面的支持。
416请求范围不符合要求如果页面无法提供请求的范围,则服务器会返回此状态代码。
417未满足期望值服务器未满足"期望"请求标头字段的要求。
421连接过多从当前客户端所在的iP地址到服务器的连接数超过了服务器许可的最大范围。通常,这里的iP地址指的是从服务器上看到的客户端地址(比如用户的网关或者代理服务器地址)。在这种情况下,连接数的计算可能涉及到不止一个终端用户。
422错误实体请求格式正确,但是由于含有语义错误,无法响应。(RFC 4918 WebDAV)
423锁定当前资源被锁定。(RFC 4918 WebDAV)
424错误接洽关系由于之前的某个请求发生的错误,导致当前请求失败,例如 PROPPATCH。(RFC 4918 WebDAV)
425无序集合在WebDav Advanced Collections 草案中定义,但是未出现在《WebDAV 顺序集协议》(RFC 3658)中。
426进级请求客户端应当切换到TLS/1.0。(RFC 2817)
428要求先决条件先决条件是客户端发送 HTTP 请求时,如果想要请求能成功必须满足一些预设的条件。
429太多请求当你需要限制客户端请求某个服务数量时,该状态码就很有用,也就是请求速度限制。
431请求头字段太大某些情况下,客户端发送 HTTP 请求头会变得很大,那么服务器可发送 431 Request Header Fields Too Large 来指明该问题。
451因法律原因而被官方审查由于法律原因产生的后果而被官方拒绝访问
代码状态说明
500服务器内部错误服务器遇到错误,无法完成请求。
501尚未实施服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
502错误网关服务器作为网关或代理,从上游服务器收到无效响应。
503服务不可用服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
504网关超时服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505HTTP 版本不受支持服务器不支持请求中所用的 HTTP 协议版本。
506变体协商由《透明内容协商协议》(RFC 2295)扩展,代表服务器存在内部配置错误:被请求的协商变元资源被配置为在透明内容协商中使用自己,因此在一个协商处理中不是一个合适的重点。
507存储不足服务器无法存储完成请求所必须的内容。这个状况被认为是临时的。WebDAV (RFC 4918)
509超过带宽限制服务器达到带宽限制。这不是一个官方的状态码,但是仍被广泛使用。
510不可拓展获取资源所需要的策略并没有满足。(RFC 2774)
511要求网络认证如果你频繁使用笔记本和智能手机,你可能会注意到大量的公用 WIFI 服务要求你必须接受一些协议或者必须登录后才能使用。
代码状态说明
600没有返回响应头部源站没有返回响应头部,只返回实体内容
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值