网络应用开发3HTTP协议.ppt

上传人:sccc 文档编号:5451034 上传时间:2023-07-08 格式:PPT 页数:33 大小:2.23MB
返回 下载 相关 举报
网络应用开发3HTTP协议.ppt_第1页
第1页 / 共33页
网络应用开发3HTTP协议.ppt_第2页
第2页 / 共33页
网络应用开发3HTTP协议.ppt_第3页
第3页 / 共33页
网络应用开发3HTTP协议.ppt_第4页
第4页 / 共33页
网络应用开发3HTTP协议.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《网络应用开发3HTTP协议.ppt》由会员分享,可在线阅读,更多相关《网络应用开发3HTTP协议.ppt(33页珍藏版)》请在三一办公上搜索。

1、供电子商务专业使用,教学目标,理解HTTP的基本原理及运行机制 了解HTTP应用开发的基本方法 掌握HTML的标签、文档结构和基本语法,汤胤 http:/tangyin.tel,HTTP协议,汤胤供电子商务相关专业使用,供电子商务专业使用,HTTP协议是什么,HTTP协议(HypertextTransfer Protocol),即超文本传输协议浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页,供电子商务专业使用,HTTP协议简介,HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应

2、用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。HTTP协议是学习JavaWEB开发的基石,不深入了解HTTP协议,就不能说掌握了WEB开发,更无法管理和维护一些复杂的WEB站点。HTTP协议的版本:HTTP/1.0、HTTP/1.1,供电子商务专业使用,HTTP1.0和HTTP1.1的区别,在HTTP1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源。HTTP1.1协议,允许客户端与web服务器建立连接后,在一个连接上获取多个web资源。使用telnet举例说明。一个好多同学搞不清楚的问题:一个web页面中,使用img标签引用了三幅图片,当客户端访问服务器中

3、的这个web页面时,客户端总共会访问几次服务器,即向服务器发送了几次HTTP请求。,供电子商务专业使用,HTTP协议基础,HTTP协议分析HTTP 是一种请求/响应式的协议。一个客户机与服务器建立连接后,发送一个请求给服务器;服务器接到请求后,给予相应的响应信息。,供电子商务专业使用,HTTP的宏观工作原理,客户机(IE),服务器【server】,供电子商务专业使用,MIME类型,MIME的英文全称是“Multipurpose Internet Email Extension”多功能Internet 邮件扩充服务,服务器将MIME标志符放入传送的数据中来告诉浏览器使用哪种插件读取相关文件。常见

4、的MIME类型超文本标记语言文本.html,.html text/html 普通文本.txt text/plain RTF文本.rtf application/rtf GIF图形.gif image/gif JPEG图形.ipeg,.jpg image/jpeg au声音文件.au audio/basic MIDI音乐文件 mid,.midi audio/midi,audio/x-midi RealAudio音乐文件.ra,.ram audio/x-pn-realaudio MPEG文件.mpg,.mpeg video/mpeg AVI文件.avi video/x-msvideo GZIP文件

5、.gz application/x-gzip TAR文件.tar application/x-tar,供电子商务专业使用,实验工具,使用telnet程序连上web服务器,并使用HTTP协议获取某个页面,快速了解 HTTP协议的作用安装IE浏览器插件HttpWatch,查看IE浏览器通过HTTP协议获取某个页面安装Firefox浏览器插件Live HTTP headers安装抓包软件Fiddler安装抓包软件Wireshark for windows安装抓包软件Wireshark for ubuntu或minidwepsudo apt-get install wiresharksudo wire

6、shark,供电子商务专业使用,HTTP Request请求头,举例:GET/books/java.html HTTP/1.1Accept:*/*Accept-Language:en-usConnection:Keep-AliveHost:localhostReferer:http:/localhost/links.aspUser-Agent:Mozilla/4.0Accept-Encoding:gzip,deflate,客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求。一个完整的HTTP请求包括如下内容:一个请求行、若干消息头、以及实体内容,如下所示

7、:,请求行,一个空行,请求行用于描述客户端的请求方式、请求的资源名称,以及使用的HTTP协议版本号,消息头用于描述客户端请求哪台主机,以及客户端的一些环境信息等,供电子商务专业使用,HTTP请求的细节命令command,请求行中的GET称之为请求方式,请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT常用的有:GET、POST用户如没有设置,默认情况下浏览器向服务器发送的都是get请求,例如在浏览器直接输地址访问,点超链接访问等都是get,用户如想把请求方式改为post,可通过更改表单的提交方式实现。在Restful的架构中GET对应于资源的Read,PO

8、ST对应于CreatePUT对应于Update,DELETE对应于Delete不管POST或GET,都用于向服务器请求某个WEB资源,这两种方式的区别主要表现在数据传递上:如请求方式为GET方式,则可以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔,例如:GET/mail/1.html?name=abc&password=xyz HTTP/1.1GET方式的特点:在URL地址后附带的参数是有限制的,其数据容量通常不能超过1K。如请求方式为POST方式,则可以在请求的实体内容中向服务器发送数据,Post方式的特点:传送的数据量无限制。,供电子商务专业使用,HTTP

9、Request的消息头Head,用于HTTP请求中的常用头Accept:text/html,image/*Accept-Charset:ISO-8859-1Accept-Encoding:gzip,compressAccept-Language:en-us,zh-cn Host:www.it315.org:80If-Modified-Since:Tue,11 Jul 2000 18:23:51 GMTReferer:http:/www.it315.org/index.jspUser-Agent:Mozilla/4.0(compatible;MSIE 5.5;Windows NT 5.0)Coo

10、kieConnection:close/Keep-Alive Date:Tue,11 Jul 2000 18:23:51 GMT,供电子商务专业使用,CacheIf-Modified-Since vs.Last-Modified/Expires If-None-Match vs.ETagPragma vs.Cache-ControlClientAccept vs.Content-Type:text/html;charset=utf-8Accept-Encoding vs.Content-Encoding,VaryAccept-Language vs.Content-LanguageAccept

11、-Charset vs.CharsetUser-Agent vs.ServerCookies/LoginCookie vs.Set-CookieP3P 跨域设置Cookie,这样可以解决iframe跨域访问cookie的问题EntityContent-Length:38Content-Type,供电子商务专业使用,Miscellaneous 头域Referer:提供了Request的上下文信息的服务器,告诉服务器我是从哪个链接过来的,比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。(谁推荐过来的?)Transpo

12、rt 头域Connection:keep-alive|closeHost:(发送请求时,该报头域是必需的)即url中的主机,供电子商务专业使用,供电子商务专业使用,If-None-Match和ETag一起工作,工作原理是在HTTP Response中添加ETag信息。当用户再次请求该资源时,将在HTTP Request 中加入If-None-Match信息(ETag的值)。如果服务器验证资源的ETag没有改变(该资源没有更新),将返回一个304状态告诉客户端使用本地缓存文件。否则将返回200状态和新的资源和Etag.使用这样的机制将提高网站的性能If-Modified-Since 作用:把浏览

13、器端缓存页面的最后修改时间发送到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行对比。如果时间一致,那么返回304,客户端就直接使用本地缓存文件。如果时间不一致,就会返回200和新的文件内容。客户端接到之后,会丢弃旧文件,把新文件缓存起来,并显示在浏览器中.例如:If-Modified-Since:Thu,09 Feb 2012 09:07:57 GMT,供电子商务专业使用,供电子商务专业使用,HTTP Response响应,举例:HTTP/1.1 200 OKServer:Microsoft-IIS/5.0Date:Thu,13 Jul 2000 05:46:53 GMTCo

14、ntent-Length:2291Content-Type:text/htmlCache-control:private,一个HTTP响应代表服务器向客户端回送的数据,它包括:一个状态行、若干消息头、以及实体内容。,状态行,一个空行,状态行用于描述服务器对请求的处理结果。,消息头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据。,代表服务器向客户端回送的数据,供电子商务专业使用,HTTP Response状态行,状态行格式:HTTP版本号状态码原因叙述举例:HTTP/1.1 200 OK状态码用于表示服务器对请求的处理结果,它是

15、一个三位的十进制数。响应状态码分为5类,如下所示:,供电子商务专业使用,HTTP Reponse常用响应头,HTTP请求中的常用响应头Location:http:/www.it315.org/index.jsp Server:apache tomcatContent-Encoding:gzip Content-Length:80 Content-Language:zh-cn Content-Type:text/html;charset=GB2312 Last-Modified:Tue,11 Jul 2000 18:23:51 GMTRefresh:1;url=http:/www.it315.o

16、rgContent-Disposition:attachment;filename=aaa.zipTransfer-Encoding:chunked Set-Cookie:SS=Q0=5Lb_nQ;path=/searchETag:W/7777-1242234904000Expires:-1Cache-Control:no-cache Pragma:no-cache Connection:close/Keep-Alive Date:Tue,11 Jul 2000 18:23:51 GMT,供电子商务专业使用,HTTP实用头字段,HTTP请求头字段Range头指示服务器只传输一部分Web资源。这

17、个头可以用来实现断点续传功能。Range字段可以通过三种格式设置要传输的字节范围:Range:bytes=1000-2000传输范围从1000到2000字节。Range:bytes=1000-传输Web资源中第1000个字节以后的所有内容。Range bytes=1000 传输最后1000个字节。HTTP响应消息头字段Accept-Ranges:这个字段说明Web服务器是否支持Range支持,则返回Accept-Ranges:bytes,如果不支持,则返回Accept-Ranges:none.Content-Range:指定了返回的Web资源的字节范围。这个字段值的格式是:例子:Content

18、-Range:1000-3000/5000,供电子商务专业使用,Request/Response的结构,HTTP请求:请求行 请求头(Request Header)请求正文 HTTP 响应:状态行响应头(Response Header)响应正文,供电子商务专业使用,Request,供电子商务专业使用,Response,供电子商务专业使用,实验1 在命令行使用telnet,telnet:80请求:GET/HTTP/1.1host:,供电子商务专业使用,实验2 Live HTTP headers分析,供电子商务专业使用,使用firefox浏览器所带插件 Live HTTP headers分析,供电

19、子商务专业使用,GET/HTTP/1.1Host:User-Agent:Mozilla/5.0(Windows;U;Windows NT 5.2;zh-CN;rv:1.9.1.2)Gecko/20090729 Firefox/3.5.2Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language:zh-cn,zh;q=0.5Accept-Encoding:gzip,deflateAccept-Charset:GB2312,utf-8;q=0.7,*;q=0.7Keep-Alive:30

20、0Connection:keep-aliveCookie:PREF=ID=8cc8b2eb55b74f2a:NW=1:TM=1266683866:LM=1266683866:S=fCdngTNGhnC8064p;NID=31=oHQgPfAwotISZLam-YuXwG02CxD0VPR1TJXbOGVtcAqNCWji0WsjS2Set1TXWRiTRtWWMKnswdMp1vnowRZvTTu7J7xiz8Cq_ckDZ_TQQF4BM93uAZ_68JLlgUl2inI9Cache-Control:max-age=0,请求信息 页面,供电子商务专业使用,HTTP/1.1 200 OKDa

21、te:Sat,20 Feb 2010 16:38:43 GMTExpires:-1Cache-Control:private,max-age=0Content-Type:text/html;charset=UTF-8Set-Cookie:PREF=ID=8cc8b2eb55b74f2a:U=508220fd430fc31b:NW=1:TM=1266683866:LM=1266683923:S=hSB5vyj1PCQg_BMP;expires=Mon,20-Feb-2012 16:38:43 GMT;path=/;domain=Server:gws/google web server X-XSS

22、-Protection:0/过滤器不对其网站内容检查 Content-Encoding:gzip/数据被要求用gzip 压缩 Transfer-Encoding:chunked/Chunked编码传输,响应信息,供电子商务专业使用,请求信息:本地127.0.0.1页面,GET/HTTP/1.1Host:127.0.0.1User-Agent:Mozilla/5.0(Windows;U;Windows NT 5.2;zh-CN;rv:1.9.1.2)Gecko/20090729 Firefox/3.5.2Accept:text/html,application/xhtml+xml,applica

23、tion/xml;q=0.9,*/*;q=0.8Accept-Language:zh-cn,zh;q=0.5Accept-Encoding:gzip,deflateAccept-Charset:GB2312,utf-8;q=0.7,*;q=0.7Keep-Alive:300Connection:keep-aliveCookie:ASPSESSIONIDQSRCBSDT=CMOJLNPDGMILLEIPIFAFEMIKCache-Control:max-age=0,供电子商务专业使用,响应信息:,HTTP/1.1 200 OKDate:Sat,20 Feb 2010 15:15:48 GMTSe

24、rver:Microsoft-IIS/6.0X-Powered-By:ASP.NETContent-Length:3807Content-Type:text/htmlCache-Control:private,供电子商务专业使用,HTTP应用开发方法,HTTP协议从通信的角度贯穿了应用开发的多个层次,包括了:HTTP客户程序、HTTP服务器程序、服务器端应用程序,代理服务器,CGI JSP ASP PHP,IE 搜索引擎,供电子商务专业使用,作业,请写一篇关于HTTP协议的笔记,要求:描述清楚HTTP请求、响应的格式请求头和响应头中各个头字段的含义如果浏览器传递给WEB服务器的参数内容超过1K,应该使用那种方式发送请求消息?请描述200、302、304、404和500等响应状态码所表示的意义。请列举三种禁止浏览器缓存的头字段,并写出相应的设置值。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号