HTTP协议学习心得体会

上传人:宝路 文档编号:7521386 上传时间:2017-09-22 格式:DOC 页数:7 大小:43.03KB
返回 下载 相关 举报
HTTP协议学习心得体会_第1页
第1页 / 共7页
HTTP协议学习心得体会_第2页
第2页 / 共7页
HTTP协议学习心得体会_第3页
第3页 / 共7页
HTTP协议学习心得体会_第4页
第4页 / 共7页
HTTP协议学习心得体会_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《HTTP协议学习心得体会》由会员分享,可在线阅读,更多相关《HTTP协议学习心得体会(7页珍藏版)》请在金锄头文库上搜索。

1、HTTP 协议学习心得体会HTTP (HyperText Transfer Protocol)=是 TCP/IP 协议集中的一个应用层协议,用于定义浏览器和 Web 服务器之间交换数据的过程以及数据本身的格式。现在被广泛使用的是 HTTP1.1,相对于 1.0,1.1 的最大特点是支持持续连接。基于 HTTP1.0 协议的客户机与服务器的信息交换过程包括四个步骤:建立连接;发送请求信息;回送响应信息;关闭连接。通信过程总是通过浏览器发送请求来启动的,Web 服务器则是被动地对这些请求作出响应。HTTP协议是无状态的。HTTP1.1 与 HTTP1.0 的比较-HTTP1.0 规定浏览器与服务器

2、只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP 连接,服务器完成请求处理后立即断开 TCP 连接。服务器不跟踪每个客户机,也不记录过去的请求。为了克服 HTTP1.0 的这个缺陷,HTTP1.1 支持持久连接,在一个 TCP 连接上可以传送多个 HTTP 请求和响应,减少了建立和关闭连接的消耗和延迟。HTTP1.1 还允许客户端不用等待上一次请求结果返回,就可以发送下一次请求,但服务器端必须按照接受到客户端请求的先后顺序依次回送响应结果,以保证客户端能够区分出每次请求的响应内容。HTTP1.1 还增加了 host 请求头字段,用于明确表示访问服务器上的哪个 web 站点,可以在

3、一个 IP地址和端口号上使用不同的主机名来创建多个虚拟 web 站点。HTTP1.1 还有 keep-alive 请求头来支持持续连接。HTTP 消息的格式-一个完整的请求消息包括:一个请求行,若干消息头,以及实体内容,其中消息头和实体内容都是可选的。消息头和实体内容之间要用空行隔开。浏览器使用 GET 方式的请求消息可以放松不含实体内容的请求消息。只有使用 POST, PUT, DELETE 方式的请求消息中才可以包含实体内容。Hypertext Transfer ProtocolGET / HTTP/1.1rnRequest Method: GETRequest URI: /Request

4、 Version: HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/x-shockwave-flash, application/vnd.ms-excel, application/vnAccept-Language: zh-cnrnUA-CPU: x86rnAccep

5、t-Encoding: gzip, deflaternUser-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)rnHost: rnConnection: Keep-Alivernrn一个完整的响应消息包括:一个状态行,若干消息头,以及实体内容。同样,消息头和实体内容都是可选的。消息头和实体内容之间要用空行隔开。消息响应的实体内容就是网页文档的内容。Hypertext Transfer ProtocolHTTP/1.1 200 OKrn

6、Request Version: HTTP/1.1Response Code: 200Cache-Control: privaternContent-Type: text/html; charset=UTF-8rnSet-Cookie: PREF=ID=7f53f6f0b1511417:NW=1:TM=1205568884:LM=1205568884:S=zHreYqNC-Z3rmOc6; expires=Mon, 15-Mar-2010 08:14:44 GMT; path=/; domain=rnContent-Encoding: gziprnServer: gwsrnTransfer-E

7、ncoding: chunkedrnDate: Sat, 15 Mar 2008 08:14:44 GMTrnrnHTTP chunked responseData chunk (1025 octets) Chunk size: 1025 octetsData (1025 bytes)HTTP 消息头-HTTP 请求和响应都使用消息头来描述 HTTP 消息本身的信息,可以实现 HTTP 客户机与服务器之间的条件请求和应答。消息头可以分为:通用消息头,请求头,响应头,实体头四类。请求行与状态行-请求消息的请求行包括三个部分:请求方式,资源路径,以及使用的 HTTP 版本。如:GET / HTTP

8、/1.1rn。响应消息的状态行包括三个部分:HTTP 协议的版本号,一个表示成功或者失败的整数代码(状态码)和对状态码进行描述的文本信息。如:HTTP/1.1 200 OKrn。使用 GET 和 POST 方式传递参数-在 URL 地址后面可以附加一些参数,每个参数由参数名和参数值组成,例如:http:/ GET 方式提交表单内容时,浏览器将各个表单字段元素及其数据按照 URL 参数的格式附加在请求行中的资源路径后面。使用 GET 方式传送的数据量有限制,一般在 1KB 以下。当使用 POST 方式提交表单内容时,浏览器将个表单字段元素及其数据作为 HTTP 消息的实体内容发送给服务器。因此数

9、据量可以比 GET 方式大的多。使用 POST 方式时,还必须将 Content-Type 消息头设置为application/x-www-form-urlencoded,将 Content-length 消息头设置为实体内容的长度。响应状态码-1. 100199: 成功接受请求,要求客户端继续提交下一次请求才能完成整个处理过程。2. 200299: 成功接受请求并已完成整个处理过程。3. 300399: 为完成请求,客户端需要进一步细化请求。4. 400499: 客户端的请求有错误。5. 500599: 服务器段出现错误。通用信息头=即能用于请求消息,也能用于响应消息,包括一些与被传输的实体

10、内容没有关系的常用消息头字段。1. Cache-Control2. Connection3. Date4. Pragma5. Trailer6. Transfer-Encoding7. Upgrade8. Via9. WarningCache-Control-如果位于请求消息头,用于通知位于客户机和服务之间的代理服务器如何使用已缓存的页面,可以取值为:no-cache, no-store, max-age, max-stale, min-fresh, no-transform, only-if-cached 等。如果位于响应消息头,用于通知客户机和代理服务器如何缓存该页面,可以取值为:publ

11、ic, private, no-cache, no-store, no-transform, must-revalidate, proxy-revalidate, max-age, s-maxage 等。Connection-用于指定处理完本次请求/响应后,客户端与服务器是否还要继续保持连接。如果为 Keep-Alive,则保持连接,如果为 close,则关闭。 HTTP1.1 默认采用持久连接。Date-表示 HTTP 消息产生的当前时间。服务器回送的正常响应消息中,应该总是设置 Date 头字段。如果客户机发送的请求消息中包含有实体内容,也要设置 Date。Pragma-只能固定为 no-

12、cache.Trailer-一些头字段可以放置在整个 HTTP 消息的尾部。Transfer-Encoding-指定传输编码方式,目前标准的设置值只有 chunked,用于把整个消息分成一连串的分段后进行传输。Upgrade-允许客户机指定它所支持并希望将当前协议切换到的通信协议。Via-用于指定 HTTP 消息所途径的中介代理服务器名称和所使用的协议。请求头=客户端可以接受的数据类型,压缩方法,语言,以及发出请求的超链接所属页面的 URL 地址等信息。Accept:指出客户端程序能够处理的 MIME 类型。Accept-Charset:用于指出客户端程序可以使用的字符集。Accept-Enc

13、oding:客户机能够进行解码的数据编码方式。Accept-Language:指定客户机期望服务器返回哪个国家语言的文档。Authorization:两种认证方式 BASIC,和 DIGEST.Except:From:Host: 指定资源所在的主机号和端口号。HTTP1.1 中每个请求消息中都必须包含 Host 请求字段。If-Match: If-Modified-Since:If-None-Match:If-RangeIf-Unmodified-SinceMax-Forwards:Proxy-Authorization:Range:Referer: 当单击另一个网页上的超链接时发出的请求在

14、Referer 字段中指定 URL。TE:User-Agent:响应头=Accept-Range, Age, Etag,Location: 用于通知客户机应当到哪个新的地址去获取文档。状态码为 300399 的响应消息都应该使用 Location 字段将新的文档地址告诉客户机,以便客户机自动重新连接到新地址并检索新文档。使用Location 头的 HTTP 消息不应该有实体内容。所以,HTTP 消息头中不能同时出现 Location 和 Content-Type 这两个头字段。Proxy-Authenticate,Retry-After, Server, Vary, WWW-Authentic

15、ate。实体头=是实体内容的元信息,描述了实体内容的属性,包括实体信息类型、长度、压缩方法、最后一次修改时间、数据有效期等。Allow: 指定客户端请求的资源所支持的请求方法(如 GET,POST 等)。Content-Encoding: 指定实体内容的压缩编码方式。Content-Language:Content-Length: 用于表示实体内容的长度(字节数),浏览器与 Web 服务器之间使用持久连接时,这个字段在非 Chunked 传输编码的响应消息中是必不可少的。Content-Location: 指定响应消息中所封装的实体内容的实际位置路径。Content-MD5, Content-Range, Content-Typen

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号