《图解http》三

返回结果的http状态码

借助状态码,用户可以知道服务器端是否正常处理了请求。
状态码由三位数字和原因短语组成。
状态码的类别
1xx:接收的请求正在处理
2xx:请求正常处理完毕
3xx:重定向,需要进行附加操作以完成请求
4xx:客户端错误码
5xx:服务器服务码

2xx

  1. 200ok 请求正常处理
  2. 204 no content 服务器接收的请求已经成功处理,但不会返回任何实体的主体。 一般在只需要从客户端往服务器发送信息,而对客户端不需要发送信息的情况下使用
  3. 206 partial content 进行范围请求并处理成功

3xx重定向

  1. 301Moved permanently 永久性重定向
    请求的资源uri 发生了改变,也就是说,如果把资源对应的uri保存为书签了,这时应该按照location首部字段提示的uri重新保存。(此时请求是无法得到资源的)
  2. 302 Found 临时重定向 和301类似,资源的uri更换了,但不是被永久移动,只是临时性质的。比如用户把uri保存为书签,但不会像301一样去更新书签,而是仍旧保留返回302状态码的页面对应的uri(会返回)
  3. 303 see other 表示请求的资源存在另一个uri,应使用GET方法定向获取请求的资源,明确表示使用GET,这是与302的一个区别。
  4. 304 not modified 客户端发送附带条件的请求时,服务器端允许访问资源,但未满足条件,返回该状态码时,不包含任何响应的主体部分。
  5. 307 temporary redirect 与302有相同的含义

4XX 客户端错误

  1. 400 bad request 存在语法错误 浏览器会像200一样对待该状态码(这里的意思是表示客户端认为成功了吗?)
  2. 401 unauthorized 需要认证
  3. 403 forbidden 禁止访问 可返回拒绝的理由
  4. 404 not found 无法找到请求资源或拒绝请求并不想说明理由

5xx 服务器错误

  1. 500 internal server error 服务器执行请求时发生错误
  2. 503 service unavailable 服务器超负荷,或正在停机维修。

以下内容刚刚写完了,结果没保存,只好再来一遍(难过),就当再加深一遍印象。。。(希望CSDN来一个返回时提示是否保存为草稿的功能)

与http协作的web 服务器

通过虚拟主机,可以实现一个服务器代理多个web站点,为了区分,此时需要在请求报文中,host首部内完整指定主机名或域名的uri。

通讯数据转发程序 :代理,网关,隧道。
可以将请求转发给通信线路的下一站服务器,并能接收从那台服务器发送的响应再转发给客户端。

代理服务器
转发请求或响应时,会追加写入via首部信息
按两种基准分类:一种是是否使用缓存(缓存代理),一种是是否修改报文(透明代理)

网关
可以使通信线路上的服务器提供非http协议,还能提高通信的安全性。

隧道
和远距离服务器安全通信。隧道本身是透明的

缓存机制
缓存是指代理服务器或客户端本地磁盘内保存的资源副本,利用缓存可以减少对源服务器的访问,节省了通信流量和通信时间。
客户端可以就近从缓存服务器上获取资源,或从本地磁盘中读取(客户端缓存称为临时网络文件)

但要考虑缓存的时效性,若判定失效,需要再次请求资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值