WEB

http 1.0的会话方式

建立连接

发出请求信息

会送响应信息

关闭连接

浏览器于WEB服务器的连接过程是短暂的,每次连接指处理一个请求和响应,对每一个页面的访问,浏览器与Web服务器都要建立一次单独的连接。

浏览器到Web服务器之间的所欲通讯都是完全独立分开的请求和响应对。

是打开附件

 

HTTP1.1的特点

在一个TCP连接上可以传多个HTTP请求和响应

多个请求和响应过程可以重叠惊醒

HTTP请求消息

请求消息的结构:一个请求行、若干消息头、以及实体内容,其中一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。

HTTP响应消息

一个状态行、若干消息头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。

 

HTTP消息——》其他细节

响应消息的实体内容就是网页文件的内容,也就是再浏览器中使用查看问价的方式看到的内容

一个使用GET方式的请求消息中不能包含实体内容,只有使用POST、PUT、DELETE方式的请求消息中才可以包含实体内容

对于HTTP1.1来说,如果HTTP消息中包括实体内容,且没有采用chunked传输编码方式,那么消息头部分必须包含内容长度的字段,否则,客户和服务程序就无法知道实体内容何时结束

在HTTP协议中,还可以使用简单的请求消息和响应消息,它们都没有消息头部分,简单的请求消息只能用GET方式,且请求行中不能指定HTTP版本号。对于简单的请求消息,服务器返回简单的响应消息,简单的响应消息中只返回实体内容。

HTTP消息头

使用消息头,可以实现HTTP客户机与服务器之间的条件请求和应答,消息头相当于服务器和浏览器之间的一些暗号指令

每个消息头包含一个头字段名称,然后依次是冒号、空格、值、回车和换行符

消息头字段名是不区分大小写的,但习惯上将每个单词的第一个字母大写。

整个消息头部分中的各行消息头可按任何顺序排列。 

消息头又可以分为通用信息头、请求头、响应头、实体头等四类。

许多请求头字段都允许客户端在值部分指定多个可接受的选项,多个项之间以逗号分隔。

有些头字段可以出现多次

 

请求行于状态行

请求行:

格式:请求方式  资源路径 HTTP版本号<CRLF>

请求方式:POST、HEAD、 OPTIONS、 DELETE、 TRACE、 PUT

状态行:

格式:HTTP版本号 状态码原因叙述<CRLF>

使用GET和POST方式传递参数

GET方式特点:传送数据量的限制的,一般限制在1KB一下

POSt方式特点:传送的数据量要比GET方式传送的数据量大得多

 

通用信息头

通用信息头字段既能用于请求消息,也能用于响应消息,它包括一些与被传输的实体内容没有关系的常用消息头字段。

Cache-Control:no-cache    (*)

Connection:close/Keep-Alive     (*)

Date: Tue, 11 Jul2000 18:23:51 GMT

Pragma:no-cache           (*)

Trailer: Date

Transfer-Encoding:chunked    (*)

Upgrade: HTTP/2.0,SHTTP/1.3

Via: HTTP/1.1Proxy1, HTTP/1.1 Proxy2  

Warning: any text

 

请求头

请求头字段用于客户端在请求消息中向服务器传递附加信息,主要包括客户端可以接受的数据类型、压缩方法、语言、以及发出请求的超链接所属网页的URL地址等信息。

Accept:text/html,image/*    (*)

Accept-Charset:ISO-8859-1,unicode-1-1  (*)

Accept-Encoding:gzip,compress  (*)

Accept-Language:en-gb,zh-cn (*)

uthorization:Basic enh4OjEyMzQ1Ng== (*)

Expect:100-continue

From:zxx@it315.org

Host:www.it315.org:80   (*)

If-Match:"xyzzy", "r2d2xxxx"

 

If-Modified-Since:Tue, 11 Jul 2000 18:23:51 GMT (*)

If-None-Match:"xyzzy", "r2d2xxxx"

If-Range: Tue, 11Jul 2000 18:23:51 GMT

If-Unmodified-Since:Tue, 11 Jul 2000 18:23:51 GMT

Max-Forwards: 1

Proxy-Authorization:Basic enh4OjEyMzQ1Ng==

Range: bytes=100-599(*)

Range: bytes=100-

Range: bytes=-100

Referer:http://www.it315.org/index.jsp (*)

TE:trailers,deflate

User-Agent:Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) (*)

 

响应头

响应头字段用于服务器在响应消息中向客户端传递附加信息,包括服务程序名,被请求资源需要的认证方式,被请求资源已移动到的新地址等信息。

Accept-Range:bytes (*)

Age: 315315315

Etag: b38b9-17dd-367c5dcd

Location:http://www.it315.org/index.jsp (*)

Proxy-Authenticate:BASIC realm="it315"

Retry-After: Tue,11 Jul 2000 18:23:51 GMT

Server:Microsoft-IIS/5.0 (*)

Vary:Accept-Language

WWW-Authenticate:BASIC realm="it315" (*)

 

实体头

实体头用作实体内容的元信息,描述了实体内容的属性,包括实体信息类型、长度、压缩方法、最后一次修改时间、数据有效期等。

Allow: GET,POST

Content-Encoding:gzip (*)

Content-Language:zh-cn (*)

Content-Length: 80(*)

Content-Location:http://www.it315.org/java_cn.html

Content-MD5: ABCDABCDABCDABCDABCDAB==

Content-Range:bytes 2543-4532/7898 (*)

Content-Type:text/html; charset=GB2312 (*)

Expires: Tue, 11Jul 2000 18:23:51 GMT(*)

Last-Modified:Tue, 11 Jul 2000 18:23:51 GMT(*)

 

扩展头

在HTTP消息中,也可以使用一些在HTTP1.1正式规范里没有定义的头字段,这些头字段统称为自定义的HTTP头或扩展头,它们通常被当作是一种实体头处理。

现在流行的浏览器实际上都支持Cookie、Set-Cookie、Refresh和Content-Disposition等几个常用的扩展头字段。

Refresh头字段

Refresh: 1

Refresh:1;url=http://www.it315.org

Content-Disposition头字段  

              Content-Type:application/octet-stream

              Content-Disposition: attachment;filename=aaa.zip

 

 

 

 

 

 

 

 

 

 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭