WEB开发技术 第四章 CGI编程原理课件

上传人:我*** 文档编号:145099867 上传时间:2020-09-16 格式:PPT 页数:64 大小:468.50KB
返回 下载 相关 举报
WEB开发技术 第四章 CGI编程原理课件_第1页
第1页 / 共64页
WEB开发技术 第四章 CGI编程原理课件_第2页
第2页 / 共64页
WEB开发技术 第四章 CGI编程原理课件_第3页
第3页 / 共64页
WEB开发技术 第四章 CGI编程原理课件_第4页
第4页 / 共64页
WEB开发技术 第四章 CGI编程原理课件_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《WEB开发技术 第四章 CGI编程原理课件》由会员分享,可在线阅读,更多相关《WEB开发技术 第四章 CGI编程原理课件(64页珍藏版)》请在金锄头文库上搜索。

1、第四章 CGI编程原理,HTTP原理 CGI的基础知识 CGI的工作原理 CGI编程,2,HTTP概要 超文本传输协议HTTP(Hypertext Transport Protocol)是Web浏览器与Web服务器之间进行数据传输的应用层通信协议,它建立在TCP/IP协议的基础上,用以传输超文本文档(它是网络上最主要的资源)。,基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。 在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。,HTTP原理,3,HTTP

2、在TCP/IP协议族中的位置,4,TCP/IP模型,TCP/IP参考模型是4层结构: 网络接口层:也称数据链路层,通常包括操作系统中的设备驱动程序和计算机中的网卡,一起处理与电缆 (或其他任何传输媒介) 的物理接口细节 互联网层:也称网络层,其作用是处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议 (网际协议) ,ICMP协议 (互联网控制报文协议) ,以及IGMP协议 (互联组管理协议),5,TCP/IP模型,传输层:主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP (传输控制协议) 和UDP (用户数

3、据报协议)。TCP为两台主机提供高可靠性的数据通信,UDP则为应用层提供一种低可靠的简单服务。,6,TCP/IP模型,应用层:包括所有的高层协议。早期的应用层有远程登录协议 (telnet) 、文件传输协议 (FTP) 和简单邮件传输协议 (SMTP) 等协议。最近几年出现了一些新的应用层协议,如用于将网络中的主机的名字地址映射成网络地址的域名服务 (DNS) ,用于传输网络新闻的协议 (NNTP) 和用于从WWW网上读取页面信息的超文本传输协议 (HTTP) 等。,7,HTTP协议基于请求/响应模式 (相当于C/S) 一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为:统一

4、资源标识符 (URL) 、协议版本号,后边是MIME (多用途的网际邮件扩充协议) 信息,包括请求修饰符、客户机信息和可能的内容 服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息,包括服务器信息、实体信息和可能的内容,8,MIME意为多目的Internet邮件扩展(Multipurpose Internet Mail Extensions ),它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。每个MIME类型由两部分组成,前面是数据的大类别,例如声音audio、图象image等,后面

5、定义具体的种类。常见的MIME类型: 超文本标记语言文本 .htm,.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,.mpegvideo/mpeg AVI文件 .avi vi

6、deo/x-msvideo GZIP文件 .gz application/x-gzip TAR文件 .tar application/x-tar 返 回,9,富文本格式(Rich Text Format,RTF)是一种文件格式,它使你能在不同的操作系统下的不同的文字处理软件间更换文本文件。比如,你可以在Windows 98下用Microsoft Word创建一个文件,把它存为RTF文件(文件名后缀为“.rtf”),然后你可以将文件发给一个在Windows 3.1下使用WordPerfect 6.0的人,他是可以打开这个文件阅读它的。(在某些情况下,RTF性能可以被做到文字处理软件中。而在其他情

7、况下可能需要一个独立的阅读器或编辑器。),10,11,HTTP工作原理示意图,浏览器,服务器,发出请求,返回HTML文档,HTTP,12,HTTP原理详解,一个客户端应用(如Web浏览器)打开到Web服务器的HTTP端口的一个“套接字”(缺省为80)。例如:http:/localhost:8080/internet4.html,HTTP规范:Internet工程制定组织(IETF)发布的RFC指定Internet标准。 RFC:Request For Comments的简称, 是Internet的标准(草案),多是一些技术标准文档,可在www.rfc-editor.org/rfc.htm找到。

8、大多数的网络协议最初都是以RFC文档发布的,最终确立为协议。 RFC用编号来区分。HTTP的几个重要RFC:RFC1945HTTP1.0描述RFC2068HTTP1.1初步描述RFC2616HTTP1.1标准 资源标识符URI(UniformResourceIdentifter,URI),1.连接至Web服务器,13,注: 1)套接字(Socket )是IP地址和端口的组合,用于进行网络通讯,任何应用程序需要和网络上的其他应用程序进行通信时,必须具有相应的套接字,例如Web站点侦听客户的HTTP请求,那么它就绑定在相应的套接字(IP地址和端口,例如端口为标准的TCP 80)上。 2)TCP层用

9、端口号来区别不同的会话。用户程序通常使用或多或少的随机产生的端口 号,特定的端口号被指派给等待请求的程序。,14,通过连接,客户端写一个ASCII文本请求行,后跟0或多个HTTP头标,一个空行和实现请求的任意数据。一个请求由四个部分组成:请求行、请求头标、空行和请求数据。,2. 发送HTTP请求,1)请求行 由三个标记组成:请求方法、请求URI和HTTP版本,它们用空格分隔。 例如: GET /index.html HTTP/1.1 HOST: 两次回车发送请求,(用telnet做实验),15,HTTP规范定义了8种可能的请求方法: GET检索URI中标识资源的一个简单请求 HEAD与GET方

10、法相同,服务器只返回状态行和头标,并不返回请求文档 POST服务器接受被写入客户端输出流中的数据的请求 PUT服务器保存请求数据作为指定URI新内容的请求 DELETE服务器删除URI中命名的资源的请求 OPTIONS关于服务器支持的请求方法信息的请求 TRACEWeb服务器反馈Http请求和其头标的请求 CONNECT已文档化但当前未实现的一个方法,预留做隧道处理,16,2)请求头标 由“关键字:值”对组成,每行一对,关键字和值用冒号(:)分隔。请求头标通知服务器有关于客户端的功能和标识,典型的请求头标有:User-Agent 客户端厂家和版本Accept 客户端可识别的内容类型列表Cont

11、ent-Length附加到请求的数据字节数 3)空行 最后一个请求头标之后是一个空行,发送回车符和退行,通知服务器以下不再有头标。 4)请求数据 使用POST传送数据,最常使用的是Content-Type和Content-Length头标。,17,Web服务器解析请求,定位指定资源。服务器将资源副本写至套接字,在此处由客户端读取。一个响应由四个部分组成;状态行、响应头标、空行、响应数据。 1)状态行 由三个标记组成:HTTP版本、响应代码和响应描述。 HTTP版本:向客户端指明其可理解的最高版本。 响应代码:3位的数字代码,指出请求的成功或失败,如果失败则 指出原因。HTTP响应码: 1xx:

12、信息,请求收到,继续处理 2xx:成功,行为被成功地接受、理解和采纳 3xx:重定向,为了完成请求,必须进一步执行的动作 4xx:客户端错误 响应描述:为响应代码的可读性解释。例如:HTTP/1.1200OK,3.服务端接受请求并返回HTTP响应,18,1)浏览器首先解析状态行,查看表明请求是否成功的状态代码 2)然后解析每一个响应头标,头标告知HTML的位置 3)读取响应数据HTML,根据HTML的语法和语义对其进行格式化,并在浏览器窗口中显示它 4)一个HTML文档可能包含其它需要被载入的资源引用,浏览器识别这些引用,对其它的资源再进行额外的请求,此过程循环多次。,2)响应头标:像请求头标

13、一样,它们指出服务器的功能,标识 出响应数据的细节 3)空行:最后一个响应头标之后是一个空行,发送回车符和退行,表明服务器以下不再有头标 4)响应数据:HTML文档和图像等,也就是HTML本身,无状态连接:HTTP模型是无状态的,在处理一个请求时,Web服务器并不记住来自同一客户端的请求。,4.服务器关闭连接,浏览器解析响应,19,20,HTTP的无状态特点,HTTP协议的目的:支持超文本的传输 支持资源的传输: 发送请求和响应请求的过程 客户端和服务器谁需要记录? 一般而言: 一个URL对应着唯一的超文本 无论对谁,HTTP服务器都会根据接收到的URL请求返回相同的超文本 该唯一性使得记录用

14、户的行为状态变得毫无意义 所以,HTTP协议被设计为无状态的连接协议符合它本身的需求。,21,既然HTTP协议的目的在于支持超文本的传输,更加广义一些就是支持资源的传输,那么在客户端浏览器向HTTP服务器发送请求,继而HTTP服务器将相应的资源发回给客户端这样一个过程中,无论对于客户端还是服务器,都没有必要记录这个过程,因为每一次请求和响应都是相对独立的,就好像你在自动售货机前投下硬币购买商品一样,谁都不会也不需要记住这样一个交易过程。一般而言,一个URL对应着唯一的超文本,而HTTP服务器也绝对公平公正,不管你是Michael,还是Jordon,它都会根据接收到的URL请求返回相同的超文本。

15、正是因为这样的唯一性,使得记录用户的行为状态变得毫无意义,22,CGI的概念及功能,CGI是Common Gateway Interface的缩写,即通用网关接口。它是Web服务器的一部分,是外部扩展程序与WWW服务器交互的一个标准接口。 按照CGI标准编写的外部扩展应用程序可以处理客户端输入的需要协同工作的数据,完成客户端与服务器的交互操作。 通俗地说,CGI是一个运行在WWW服务器上,提供同客户端HTML页面接口的软件包。 CGI的主要功能是在WWW环境下,提供客户端HTML页面接口,使客户与网页作者之间产生互动作用。 CGI加入到WWW中,使得WWW的环境不仅有单向的信息浏览,更有双向的

16、信息交流。,CGI的基础知识,23,通过 CGI,Web服务器可以调用(激活)一个程序,同时将用户提交的数据传给这个程序,随后,又将该程序的响应(输出)返回给浏览器。,24,CGI的特点及运行环境,CGI的特点: CGI程序可以用任何语言编写,可以在任何平台上开发,而且无须做太大的修改就可以在不同的平台间移植。 CGI的主要运行环境有: WIN95/98/2000/NT/XP;UNIX;LINUX等。 CGI运行的服务器主要有: IIS;Sambar;Apache Web;OmniHTTPd服务器等。,25,CGI的调用方式,CGI程序调用方式 1)通过URL直接调用。在浏览器的URL栏里直接写入程序的地址 就可以调用该程序。 如:“http:/202.114.2.182/cgi-win/cgiprogram.exe” 2)通过交互式主页里的FORM栏调用,通常都是用户在填完一 张输入信息主页后按“确认”按钮启动CGI程序。 系统设置 1) IIS中要设置CGI目录的属性(XP):我的电脑管理服务和应用程序

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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