HTTP Code和一些Web服务器介绍

状态码

类别 原因短语
1XX Informational,信息 接收的请求正在处理。服务器收到请求,请继续执行请求
2XX Success,成功 请求被成功接收并处理。
3XX Redirection,重定向状态码 需要进行附加操作以完成请求
4XX Client Error,客户端错误 服务器无法完成请求,或请求包含语法错误
5XX Server Error,服务端错误 服务器在处理请求时出错
  • 在响应报文内,随状态码一起返回的信息会因方法的不同而发生改变。

1XX

  • 100:Continue 继续,请求者应当继续提出请求,服务器已收到请求的一部分,正在等待其余部分。
  • 101:切换协议,请求者已要求服务器切换协议,服务器已确认并准备切换。

2XX

  • no 状态码 信息
    200 OK 成功 请求已经被服务器成功处理了
    201 已创建 请求成功并且服务器创建了新的资源
    202 已接受 服务器已接收请求,但尚未处理
    203 非授权信息 服务器已成功处理了请求,但返回的信息可能来自另一源
    204 No Content,无内容 服务器成功处理了请求,但没有返回任何内容(响应报文中不包含实体的主体部分)(浏览器显示的页面不发生更新)(一般只在需要从客户端往服务器发送消息,而对客户端不需要发送新信息的情况下使用)
    205 重置内容 服务器成功处理了请求,内容被重置
    206 Partial Content 服务器成功处理了部份请求。客户端进行了范围请求,响应报文中包含content-Range指定范围的实体内容

3XX 重定向

  • 浏览器需要执行某些特殊的处理以正确处理请求
NO Info description
300 多种选择 针对请求,服务器可执行多种操作
301 Moved Permanently,永久性重定向 请求的资源已经被分配了新的URI
302 Found 临时性重定向 请求的资源已经被分配了新的URI,希望用户本次使用新的URI访问
303 See Other,查看其它位置 由于请求对应的资源存在着另一个URI,应使用GET方法定向获取请求的资源。
304 Not Modified,未修改 客户端发送附带条件的请求时,服务器允许访问该资源,单位满足条件的情况。
请求返回的网页未修改,继续使用上次的资源
305 使用代理 请求者应该使用代理访问该网页
307 Temporary Redirect,临时重定向 与302Found又相同的含义,但是307会遵守浏览器标准,不会从POST改为GET
请求的资源临时从其他位置响应
  • 301,302,303返回时,几乎所有浏览器都会把POST改为GET。删除请求报文内的主题,之后请求会自动再次发送
  • 301,302标准时禁止将POST改为GET的,但实际大家都这样用
  • 附带条件:
    • If-Match
    • If-Modified-Since
    • If-None-Match
    • If-Range
    • If-Unmodified-Since

4XX 客户端错误

  • 客户端时发生错误的原因
NO Info Description
400 Bad Request, 错误请求 请求报文中存在语法错误,服务器无法解析该内容
401 Unauthorized,未授权 发送的请求需要通过HTTP认证,用户认证失败
403 Forbidden,禁止访问 对请求资源的访问被服务器拒绝了,不用给出具体的详细理由
404 Not Found 未找到 服务器找不到请求的网页
405 Method Not Allowed, 方法不被允许 服务器禁用了请求中指定的方法
406 不接受 无法使用请求的内容响应请求的网页
407 需要代理授权 请求者需要使用代理授权
408 Request Timeout,请求超时 服务器请求超时
409 Conflict 指令冲突 服务器在完成请求时发生冲突
410 已删除 请求的资源已永久删除
411 需要有效长度服务器 不接受不含有有效内容长度标头字段的请求
412 未满足前提条件 服务器未满足请求者在请求中设置的其中一个条件
413 Request Entity Too Large,请求实体过大 请求实体过大,超出服务器的处理能力
414 Request-URI Too Long,所请求的URL地址过长 网址过长,服务器无法处理
415 不支持类型 请求的格式不受请求页面的支持
416 Requested Range Not Satisfiable, 请求的范围无法被满足
417 未满足期望值 服务器未满足期望请求标头字段要求
  • 401 Unauthorized
    • 发送请求
    • 第一次返回401(WWW-Authenticate首部以质询用户信息)
    • 第二次返回401(认证失败)

5XX 服务器错误

  • 服务器本身发生错误
NO info Description
500 Ineternal Server Error,服务器内部错误 服务器在执行请求的时候发生了错误
501 为实现 服务器不具备完成请求的功能
502 错误网关 服务器作为网关或代理,从****服务器收到无效响应。
503 Service Unavailable,服务不可用 服务器暂时处于超负载或正在进行停机维护,现在无法处理请求
504 网管超市 服务器作为网关或代理,但是没有及时从上游服务器收到请求
505 HTTP版本不支持 服务器不支持请求中所用的HTTP协议版本

与HTTP协作的Web服务器

用单台虚拟主机实现多个域名

  • 虚拟主机(虚拟服务器)功能:即使物理层面只有一台服务器,但是只要使用虚拟主机功能,则可以假象具有多台服务器
  • 域名通过DNS映射到IP,当请求发送到服务器的时候,就已经是IP形式的了。
  • 在相同的IP下,由于虚拟注意可以寄存多个不同主机名和域名耳朵Web网站,一次在发送HTTP请求时,必须在Host首部内完整指定主机名或域名deURI

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

代理

  • 具有转发功能的应用程序,作为中间人的角色。
  • 代理不改变请求URI,会直接发送给签放只有资源的目标服务器
  • 每次通过代理服务器转发or响应时,会追加写入Via首部信息。
  • 优点:
    • 利用缓存技术减少网络宽带的流量
    • 组织内部针对特定网站的访问控制,以获取访问日志为主要目的?
  • 缓存代理(也有非缓存代理)
    • 会预先将资源的副本保存在代理服务器上
    • 当代理再次接收到相同资源的请求时,就可以不从源服务器获取
  • 透明代理(同理非透明代理)
    • 不对报文做任何加工的代理即透明代理

网关

  • 网关时转法其他服务器通信数据的服务器
  • 网关的工作机制与代理类似,但是网关能使通信线路上的服务器提供非HTTP协议服务
  • 可提高通信安全性,可在客户端与网关之间加密以保证安全

隧道

  • 是在相隔甚远的客户端和服务器之间进行中转,并保持双方通信连接的应用程序
  • 使用SSL等加密手段进行通信。
  • 隧道的目的:确保客户端与服务器进行安全的通信
  • 隧道本身是透明的,客户端不用在意隧道的存在

保存资源的缓存

  • 缓存:代理服务器客户端本地磁盘内的资源副本

有效期限

  • 会造成缓存不是最新的内容。
  • 解决:向源服务器确认资源的有效性

客户端的缓存

  • 也会判定缓存是否国企,向源服务器确认资源有效性

参考

HTTP Code和一些Web服务器介绍

上一篇:[CSS] 弥散阴影


下一篇:httpd配置(yum)