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等加密手段进行通信。
- 隧道的目的:确保客户端与服务器进行安全的通信
- 隧道本身是透明的,客户端不用在意隧道的存在
保存资源的缓存
有效期限
- 会造成缓存不是最新的内容。
- 解决:向源服务器确认资源的有效性
客户端的缓存
参考
原文地址:https://www.cnblogs.com/xuwanwei/p/14503321.html