前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《图解HTTP》梳理(二)

《图解HTTP》梳理(二)

作者头像
逆葵
发布2019-04-24 19:05:30
5760
发布2019-04-24 19:05:30
举报
文章被收录于专栏:FECodingFECoding

第四章 返回结果的 HTTP 状态码

  • 状态码类别

类别

原因短语

1XX

Informational(信息性状态码)

接收的请求正在处理

2XX

Success(成功状态码)

请求正常处理完毕

3XX

Redirection(重定向状态码)

需要进行附加操作以完成请求

4XX

Client Error(客户端错误状态码)

服务器无法处理请求

5XX

Server Error(服务器错误状态码)

服务器处理请求出错

  • 代表性状态码
    • 200 OK
    • 204 No Content:一般在只需要从客户端往服务器发送信息,而对客户端不需要发送新信息内容的情况下使用
    • 206 Partial Content:响应报文中包含由 Content-Range 指定范围的实体内容
    • 301 Moved Permanently:永久性重定向。请求的资源已被分配了新的 URI
    • 302 Found:临时性重定向。希望用户本次能使用新的 URI 访问
    • 303 See Other:该状态码和 302 有着相同功能,但是 303 明确表示客户端应当采用 GET 方法获取资源
    • 备注:301、302、303 响应码返回时,几乎所有的浏览器都会把 POST 改为 GET,并删除请求报文内的主体,之后请求会自动再次发送。
    • 304 Not Modified:客户端发送附带条件的请求(采用 GET 方法的请求报文中包含 If-Match/If-Modified-Since/If-None-Match/If-Range/If-Unmoodified-Since 中任一首部)时,服务器允许请求访问资源,但未满足条件的情况。304 返回时不包含任何响应的主体部分。304 与重定向无关系。
    • 307 Temporary Redirect:临时重定向。与 302 含义相同。302 标准禁止将 POST 变换成 GET,但是使用时大家并不遵守。而 307 会遵守浏览器标准,不会将 POST 变为 GET。
    • 400 Bad Request:报文中存在语法错误,浏览器无法理解,但会像对待 200 OK 一样对待该状态码。
    • 401 Unauthorized:发送的请求需要有通过 HTTP 认证(BASIC 认证、DIGEST 认证)的认证信息。此外,如果之前已经进行过 1 次请求,则表示用户认证失败。返回 401 的响应必须包含一个适用于被请求资源的 WWW-Authenticate 首部用以质询用户信息。当浏览器初次接收到 401 响应,会弹出认证用的对话窗口。
    • 403 Forbidden:服务器拒绝访问,原因可能是未获得文件系统的访问授权,访问权限出现某些问题等。
    • 404 Not Found:服务器上无法找到请求的资源,也可以在服务器端拒绝请求且不想说明理由时使用。
    • 500 Internal Server Error:服务器端执行请求时发生错误。
    • 503 Service Unavailable:服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。
  • 注:不少返回的状态码响应都是错的,比如 Web 应用程序内部发生错误,状态码依然返回 200 OK。

第五章 与 HTTP 协作的 Web 服务器

  • 相同的 IP 地址下,虚拟主机可以寄存多个不同主机名和域名的 Web 网站。发送 HTTP 请求时,必须在 Host 首部内完整指定主机名或域名的 URI。
  • HTTP 通信时,除客户端和服务器以外,还有一些用于通信数据转发的应用程序,如代理、网关和隧道。
    • 代理:一种具有转发功能的应用程序;不改变请求 URI;每次通过代理服务器转发请求或者响应时,会追加写入 Via 首部信息(Via: proxy 2, proxy1);代理可级联;
      • 使用代理服务器的理由包括:
        • 利用缓存技术减少网络带宽的流量。
        • 组织内部针对特定网站的访问控制
        • 以获取日志为主要目的
      • 代理有多种使用方法,按两种基准分类:一种时是否使用缓存,另一种是是否会修改报文
        • 缓存代理:代理转发响应时,缓存代理(Caching Proxy)会预先将资源的副本(缓存)保存在代理服务器上
        • 透明代理:转发请求或响应时,不对报文做任何加工的代理类型被称为透明代理(Transparent Proxy),反之为非透明代理
    • 网关:转发其他服务器通信数据的服务器。接收从客户端发送来的请求时,其就像自己拥有资源的源服务器一样对请求进行处理;利用网关可以由 HTTP 请求转化为其他协议通信;网关可以提高通信的安全性,因为可以在客户端与网关之间的通信线路上加密以确保连接的安全;网关可以连接数据库,使用 SQL 语句查询数据
    • 隧道:在相隔很远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序;可使用 SSL 等加密手段
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第四章 返回结果的 HTTP 状态码
  • 第五章 与 HTTP 协作的 Web 服务器
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档