图解http(返回结果的HTTP状态码四 与http协作的web服务器五 http首部六)

来源:互联网 发布:最有名的网络武侠小说 编辑:程序博客网 时间:2024/05/29 17:51

HTTP状态码负责表示客户端HTTP请求的返回结果、标记你服务器端的处理是否正常。

1** 信息性状态码  接受的请求正在处理

2** 成功                请求正常处理完毕

3** 重定向状态码   需要进行附加操作以完成请求

4** 客户端错误状态码  服务器无法处理请求

5**  服务器错误状态码   服务器处理请求出错


200 ok

204 not content

206 partial content

301 moved permanently

302 found

303 see other

304 not found

307 temporary redirect

400 bad request

401 unauthorized

403 forbidden

404 not found

500 internal server error

503 service unavailable


一台web服务器可搭建多个独立域名的web网站,也可作为通信路径上的中转服务器提升传输效率。

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

代理:一种有转发功能的应用程序

网关:网关是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理

隧道:隧道是在相隔甚远的客户端和服务端之间进行中转,并进行双方通信连接的应用程序。

FTP:传输文件时使用的协议

NNTP:用于NetNews电子会议室内传送消息的协议

Archie:搜索anonymous FTP公开的文件信息的协议

WAIS:以关键词检索多个数据库使用的协议

Gopher:查找与互联网连接的计算机内信息的协议


http协议的请求和响应报文中必定包含http首部

HTTP请求报文由方法、URL、HTTP版本、HTTP首部字段等部分构造。

HTTP首部字段是构成HTTP报文的要素之一,在客户端与服务器端之间以HTTP协议进行通信的过程中,无论是请求还是响应都会使用首部字段,她=祈祷传递额外重要信息的作用。


HTTP首部字段是由首部字段和字段值构成的,中间用:分割

首段字段名:字段值‘

Content-type:表示报文主体的对象类型


4种HTTP首部字段类型:

通用首部字段:请求报文和响应报文两房都会使用的首部;

请求首部字段:从客户端向服务器发送请求报文时使用的首部。

响应首部字段:从服务器向客户端返回报文时使用的首部

实体首部字段:针对请求报文和响应报文备份使用的首部。

通用首部字段:

cache-control:控制缓存行为,


   

public:表示其他用户也可以缓存

private:响应只以特定的用户作为对象

缓存服务器会对该特定用户提供资源缓存的服务,对于其他用户发送过来的请求,代理服务器则不会返回缓存。

no-cache:防止从缓存中返回过期的资源。

no-store:暗示请求或响应中包含机密信息,该指令规定缓存不能载本地存储请求或响应的任一部分。

指定缓存期限和认证的指令

s-maxage:供多为用户使用的公共缓存服务器;

max-age:如果判定缓存资源的缓存时间数值比指定时间的数值更小,那么客户端就接收缓存的资源

min-fresh:缓存服务器返回至少还未过指定时间的缓存资源

max-stale:可指示缓存资源,即使过期也照常接收

only-if-cached:表示客户端仅在缓存服务器本地缓存目标资源的情况下才会要求其返回。

must-revalidate:代理会向源服务器再次验证即将返回的响应缓存目前是否仍然有效。

proxy-revalidate:要求所有的缓存服务器在接收到客户端带有该指令的请求返回响应时,必须再次验证缓存的有效性。

no-trancform:无论在请求还是在响应中,缓存都不能改变实体主体的媒体类型。

cache-extension:通过cache-extension,可以扩展cache-control首部字段内的指令。


                                            

connection:逐跳首部、连接的管理

                       1、控制不再转发给代理的首部字段,connection:不再转发的首部字段名

                       2、管理持久连接,http /1.1 默认是持久连接,当服务器端想明确断开连接,则指定首部字段的值为close

                                                          http/1.1之前是 非持久连接,为此如果想在旧版本的http协议上维持持续连接,则需要指定Connection

                                                            的首部字段的值为keep-Alive。   

date:创建报文的日期时间

pragma:报文指令

Trailer:报文末端的首部一览

Transfer-encoding:指定报文主体的传输编码方式

Upgrade:升级为其他协议

Via:代理服务器的相关信息

Warning:错误通知

请求首部字段(客户端往服务器端发送请求报文中所使用的字段,用于补充请求的附加信息、客户端信息、对响应内容相关的优先级等内容):

Accept:用户代理可处理的媒体类型

Accept—Charset:优先的字符集

Accept—Encoding:优先的内容编码

Accept-Language:优先的语言(自然语言)

Expect:期待服务器的特定行为

From:用户的电子邮箱地址

Host”请求资源所在服务器

if—Match:比较实体标记(ETag)

if—Modified—Since:比较资源的更新时间,如果字段指定的日期时间后,资源发生了更新,服务器就会接受。

if—None—Match:比较实体标记(与if-Match相反)

if—Range:资源未更新时发送实体BYTE的方位要求

if—unmodified-since:比较资源的更新时间

Max-Forwards:最大传输逐跳数

Proxy-Authorrization:代理服务器要求客户端的认证信息

Range:实体的字节范围要求

Referer:传输编码的优先级

User-Agent”HTTP客户端程序的信息


响应首部字段(服务器向科幻段返回响应报文中所使用的字段,用于补充的附加信息,服务器信息以及对客户端的附加要求等信息):

Accept-Ranges:是否接受字节范围请求

Age:推算资源创建经过时间

ETag:资源的匹配信息

Location:令客户端重定向至指定URL

Proxy-Authenticate:代理服务器对客户端的认证信息

Retry-After:对再次发起请求的实际要求

Server:HTTP服务器的安装信息

Vary:代理服务器缓存的管理信息

WWW-Authenticate:服务器对客户端的认证信息


实体首部字段(包含在请求报文和响应报文中的实体部分所使用的首部):

Allow:资源可支持的HTTP

Content-Encoding:实体主体适用的编码方式

Content-Lauguage:实体主体的自然语言

Content-Length:实体主体的大小

Content-Location:替代对于资源的大小

Content-MD5:实体主体的报文摘要

Content-Range:死体主体的位置范围

Content-Type:实体主体的媒体类型

Expires:实体主体股权哦I的日期时间

Last-Modified:资源的最后修改时间


HTTP首部字段将定义成缓存代理和非缓存代理,一般氛围两种类型:


端到端首部:

逐跳首部


阅读全文
0 0
原创粉丝点击