图解http笔记-3(HTTP状态码)

 一. 返回结果的HTTP状态码

状态码告知了从服务端返回的请求的结果

200 ok 3 位数字 原因短语 组成

样式 类别 原因短语
1xx Infomational(信息性状态码) 接收的请求正在处理
2xx Success(成功状态码) 请求正常处理完毕
3xx Redirection(重定向状态码) 需要进行附加操作已完成请求
4xx Client Error(客户端错误状态码) 服务器无法处理请求
5xx Server Error(服务端错误状态码) 服务器处理请求出错

状态码有很多种,下面列举了从常用的14种:

200 ok

表示客户端发来的请求在服务器被正常的处理了
在响应报文里,随状态码一起返回的信息会根据请求的方式不同而不同。例如Get方法会返回请求资源的主体,而Head方法就只返回首部。

204 No Content

表示服务器接收的请求已正常处理,但是不返回实体的主体部分,也不允许返回实体的主体部分。

206 Partical Content

表示客户端发送了范围请求,而服务器成功处理这部分Get请求。

301 Moved Permanently

永久性重定向。表示请求的资源已经被重新分配了新的URI,应该使用新的URI。

302 Found

临时性重定向。表示请求的资源已经分配了新的URI,希望用户(这次)使用新的URI访问。
与301不同的时,该资源的URI下次还可能改变。

303 See Other

表示由于请求的资源存在另一个URI,应该使用Get方法定向获取请求的资源。
和302状态码有着相同的功能,但是303表示客户端应该用Get方法在此请求资源

304 Not Modified

该状态码表示客户端发动附带条件的请求的时候,服务器允许访问资源,但是因 请求未满足条件 ,而直接返回304(服务器资源未更改,可直接使用客户端的缓存)。
返回304的时候,不返回任何主体部分。

307 Temporary Redirect

临时重定向。与302有着相同的含义。但是要求请求的方法不会从Post改到Get。

400 Bad Request

表示请求的报文中存在语法错误

401 Unauthorized

表示发送的请求需要有通过HTTP认证的认证信息,第一次接收到401,会弹出认证窗口;第二次宝石用户认证失败。

403 Forbidden

表示请求的资源的访问被服务器拒绝了。

404 Not Found

服务器上没有请求的资源(嗯,大家懂得...)、

500 Internal Server Error

表示服务器在处理请求的时候发生了故障

503 Service Unavailable

表示服务器处于超负载或者停机维护阶段,无法响应请求。

注:有时返回的状态码响应都是错误的。比如web程序发生内部错误,但是还是返回200 ok


二. 与HTTP协作的Web服务器

通信数据转发程序:代理、网关、隧道

代理

理服务器的基本行为就是接受客户端发送的请求后转发给其他服务器。而且不改变请求的URI,直接转发。
为什么使用代理:

  • 利用缓冲技术减少网络带宽的流量
  • 组织内部针对特定网站的访问控制
  • 以获取访问日志

基本分为两种代理:

  1. 缓冲代理:会缓存资源的副本保存下来
  2. 透明代理:转发请求时不对报文做任何加工的代理类型;反之称为非透明代理
网关

工作机制和代理很相似,而网关能够使通信线路上的服务器提供非HTTP服务。还可以提高通信的安全性,因为能再客户端和网关之间的线路上加密通信。

隧道

隧道会保持原样转发请求,而且会使用ssl等加密手段加密。


保存资源的缓存

缓存就是指代理服务器火族客户端保存的资源的副本,用于节省带宽资源。

缓存的有效期限

即使缓存服务器上有缓存,但是有时由于服务器上资源的更新,这些缓存也会过期。所以会向服务器发送请求判断资源的有效期,如果缓存失效,缓存服务器就会重新请求资源。

客户端的缓存

即缓存也可以存在客户端浏览器中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值