第1章 Web系统组成与工作原理
合集下载
Web概述本章主要内容精品PPT课件

1.2 Web工作原理
静态网页与动态网页: 1. 静态网页仅仅使用HTML语言编写; 2. 动态网页需要使用脚本语言编写,根据网页内容依赖于数据库的内容。
1.3 Web服务
Web服务定义: • W3C(国际标准化组织)定义 • Microsoft定义 • IBM定义 • UDDI规范中定义
定义内容详见PP7-12。
1.3 Web服务
Web服务
UDDI Web服务&WSDL
SOAP、XML HTTP、HTTPS、SMTP、FTP
图1-2 Web服务的多层构成
服务发现层 服务描述层 基于XML的消息层 网络层
1.3 Web服务
UUID等于的四种基本结构: • 商业实体(Business entiy):描述商业信息,如名称和类
器; 4. 如果URL指向脚本语言文本*(或HTML文档中嵌入有脚本语言文本),
则Web服务器运行脚本语言的程序(一般是解释执行脚本程序),将 其输出结果送浏览器; 5. URL也可以执行其他的脚本语言程序,例如:VRML和Ruby等等。
* 常用的脚本语言有PHP、ASP、和每一个人,既是信息 的接收者,也是信息的传播者,大家通过相互协作 来完成各自的任务和实现各自的目的。
分享精神指接入互联网的每一个人,将各自拥 有的信息分享在互联网上,使得任何人都可以使用。
1.1 Web概念
Web的五要素: •URL •HTTP •HTML •Web浏览器 •Web服务器
第1 章Web概述
Web应用举例(续): •Social networking service(SNS,社会化网络服务) •Online shopping(在线购物) •Web search engine(搜索引擎) •Internet governance(网络政务) •Browse game(页游,网页游戏) •Webcam(网络摄像) •Electronic business(e-business,电子商务)
Web 开发技术 第一章 绪论

14/42
TCP/IP模型
• TCP/IP参考模型是4层结构:
– 网络接口层:也称数据链路层,通常包括操作系统中的设备驱 动程序和计算机中的网卡,一起处理与电缆 (或其他任何传输 媒介) 的物理接口细节 – 互联网层:也称网络层,其作用是处理分组在网络中的活动, 例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协 议 (网际协议) ,ICMP协议 (互联网控制报文协议) ,以及 IGMP协议 (互联组管理协议)
Web是一种体系结构,通过它可以访问遍布于Internet主机上的链接文档
Web是存储在全世界Internet主机中数量巨大的文档的集合
Web 上的信息由彼此关联的文档组成,这些文档称为主页或页面 Web的内容保存在Web站点中,用户可通过浏览器访问站点
3/42
1.2 Web的架构(B/S模式)
通过这些文字或图象,可以跳转至其它位置。
超文本链接
超文本链接(Hypertext Link)是指超文本中用以链接到其它文件的 文字或图像,简称超链接;超文本中的任何文字或图像都可以被指定 为超链接。
IP地址和域名
IP地址和域名是Internet使用的网络地址,符合TCP/IP协议规定的地址 方案,与日常生活中涉及的通信地址和电话号码相似。TCP/IP协议要 求每一个主机都有惟一的一个网络地址,简称IP地址。在Internet中, 域名可以通过域名服务系统 (DNS) 映射为IP地址,以方便人们记忆。
7/42
• HTTP
超文本传输协议HTTP(Hypertext Transport Protocol)是Web浏 览器与Web服务器之间进行数据传输的应用层通信协议, 它建立在TCP/IP协议的基础上,用以传输超文本文档。 在WWW中,“客户”与“服务器”是一个相对的概念, 只存在于一个特定的连接期间,即在某个连接中的客户在 另一个连接中可能作为服务器。 基于HTTP协议的客户/服务器模式的信息交换过程,它分 四个过程:建立连接、发送请求信息、发送响应信息、关 闭连接。
章Web程序设计基础

第1章 Web 程序设计基础
内容简介:
本章主要介绍Web程序设计必需的基础知识,其中包 括Web的基本概念和工作方式及特点、Internet网 络协议、IP地址、与Web有关的协议和统一资源定位 器URL、超文本标记语言HTML、样式表CSS、可扩 展标记语言XML的基本语法和规则,并给出一些简单 的应用实例帮助理解,为Web程序设计奠定基础 。
– Net Work ID网络标识符,每个网络区段都有一个网络标识。网络标识代表 一个网络。
– Host ID 主机标识符,每个网络区段中每台计算机都被赋予一个主机标识符。
• IP协议规定了五类IP地址A—E。其中A,B,C三类是基本的,它们由IP 地址的高位来区分。
– A类IP地址共有27=128个,均分配给大型网络使用。 – B类IP地址共有214=16384个,适用于中等规模的网络。 – C类IP地址最多,有222 ≈419万个,主要分配给小型网络使用。
1.2.3 Telnet协议
• Telnet是TCP/IP的一个应用层协议,即Internet远程登录服务协议, 是Internet上强有力的功能。要实现此功能,用户计算机上必需安 装和运行名为Telnet的程序。使用该功能用户可以访问连在 Internet上的任何一台Telnet服务器,用户主机成为该主机的终端 而访问各种所需的信息。实时地使用远程计算机上对外开放的全部 资源包括各种数据资源和软件资源及其硬件资源,以达到资源共享 之目的。
说明:#RRGGBB是指色彩红—绿—蓝(red—green—blue,RGB)的值,
用16进制数码表示:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f ,
根据规范前面需加“#”。
1.3.1 HTML的基本语法(2)
内容简介:
本章主要介绍Web程序设计必需的基础知识,其中包 括Web的基本概念和工作方式及特点、Internet网 络协议、IP地址、与Web有关的协议和统一资源定位 器URL、超文本标记语言HTML、样式表CSS、可扩 展标记语言XML的基本语法和规则,并给出一些简单 的应用实例帮助理解,为Web程序设计奠定基础 。
– Net Work ID网络标识符,每个网络区段都有一个网络标识。网络标识代表 一个网络。
– Host ID 主机标识符,每个网络区段中每台计算机都被赋予一个主机标识符。
• IP协议规定了五类IP地址A—E。其中A,B,C三类是基本的,它们由IP 地址的高位来区分。
– A类IP地址共有27=128个,均分配给大型网络使用。 – B类IP地址共有214=16384个,适用于中等规模的网络。 – C类IP地址最多,有222 ≈419万个,主要分配给小型网络使用。
1.2.3 Telnet协议
• Telnet是TCP/IP的一个应用层协议,即Internet远程登录服务协议, 是Internet上强有力的功能。要实现此功能,用户计算机上必需安 装和运行名为Telnet的程序。使用该功能用户可以访问连在 Internet上的任何一台Telnet服务器,用户主机成为该主机的终端 而访问各种所需的信息。实时地使用远程计算机上对外开放的全部 资源包括各种数据资源和软件资源及其硬件资源,以达到资源共享 之目的。
说明:#RRGGBB是指色彩红—绿—蓝(red—green—blue,RGB)的值,
用16进制数码表示:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f ,
根据规范前面需加“#”。
1.3.1 HTML的基本语法(2)
Web基础知识

2)客户端动态技术3
插件技术(1996年)
1996年的Netscape 2.0引入了对QuickTime插件的支持,在 HTML页面中实现音频、视频等多媒体应用,插件这种开发 方式也迅速风靡了浏览器的世界。 1996年,IE 3.0正式支持在HTML页面中插入ActiveX控件的 功能 1999年,RealPlayer插件先后在Netscape和IE浏览器中取 得了成功 1996年,Macromedia公司收购了FutureWave,并将Jonatha n Gay的发明改名为我们熟悉的Flash。从此,Flash动画成 了Web开发者表现自我、展示个性的最佳方式。
16
1.1 Web基本概念—12.Web开发技术概述
1)静态页面时代
从Web架构的技术层面,其特点主要有3:
用超文本技术(HTML)实现信息与信息的连接; 用统一资源定位技术(URL)实现全球信息的精确定位; 用新的应用层协议(HTTP)实现分布式的信息共享。
这一时期的Web设计更像是平面设计,而不是程 序设计。这样设计出来的页面,只能呈现静态的 文本和图像,无法提供满足用户需求的交互模式, 也无法展示动态的信息。 第2章将重点介绍静态页面设计技术
返回的HTML文档(包含嵌入的程序代码)
客户机
服务器 24
1.1 Web基本概念—13.Web开发工具
网页设计工具
1. FrontPage 2. Dreamweaver MX 3. Fireworks MX 4. Flash MX 5. Visual Studio 2005 /2008 6. 记事本/Word等
Web服务器向浏览器提供服务的步骤 : 1、用户打开计算机(客户机),启动浏览器程序,在浏览器中指定一个 URL,浏览器便向该URL所指向的Web服务器发出请求。 2、Web服务器接到浏览器请求后,把URL转换成页面所在服务器上的文 件路径名。 3、如果URL指向的是普通的HTML文档,Web服务器直接将它送给浏览 器。 4、如果HTML文档中嵌有ASP或CGI程序Web服务器就运行ASP或CGI程 序,并将结果传送至浏览器
插件技术(1996年)
1996年的Netscape 2.0引入了对QuickTime插件的支持,在 HTML页面中实现音频、视频等多媒体应用,插件这种开发 方式也迅速风靡了浏览器的世界。 1996年,IE 3.0正式支持在HTML页面中插入ActiveX控件的 功能 1999年,RealPlayer插件先后在Netscape和IE浏览器中取 得了成功 1996年,Macromedia公司收购了FutureWave,并将Jonatha n Gay的发明改名为我们熟悉的Flash。从此,Flash动画成 了Web开发者表现自我、展示个性的最佳方式。
16
1.1 Web基本概念—12.Web开发技术概述
1)静态页面时代
从Web架构的技术层面,其特点主要有3:
用超文本技术(HTML)实现信息与信息的连接; 用统一资源定位技术(URL)实现全球信息的精确定位; 用新的应用层协议(HTTP)实现分布式的信息共享。
这一时期的Web设计更像是平面设计,而不是程 序设计。这样设计出来的页面,只能呈现静态的 文本和图像,无法提供满足用户需求的交互模式, 也无法展示动态的信息。 第2章将重点介绍静态页面设计技术
返回的HTML文档(包含嵌入的程序代码)
客户机
服务器 24
1.1 Web基本概念—13.Web开发工具
网页设计工具
1. FrontPage 2. Dreamweaver MX 3. Fireworks MX 4. Flash MX 5. Visual Studio 2005 /2008 6. 记事本/Word等
Web服务器向浏览器提供服务的步骤 : 1、用户打开计算机(客户机),启动浏览器程序,在浏览器中指定一个 URL,浏览器便向该URL所指向的Web服务器发出请求。 2、Web服务器接到浏览器请求后,把URL转换成页面所在服务器上的文 件路径名。 3、如果URL指向的是普通的HTML文档,Web服务器直接将它送给浏览 器。 4、如果HTML文档中嵌有ASP或CGI程序Web服务器就运行ASP或CGI程 序,并将结果传送至浏览器
第1章_Web数据库技术概述

模型1:JSP+JavaBean阶段
把业务处理代码从JSP中提取出来,然后形成 JavaBean;JSP完成输入、输出和控制功能; 需要的时候JSP调用JavaBean的功能。
JSP页面
JavaBean
优点:处理功能从JSP页面中分离出来,由 JavaBean完成,减少了页面中的代码。 缺点:页面中仍然存在用于控制的代码。
Java企业级应用架构
Java Web技术的发展历史
Servlet技术 JSP技术 模型1:JSP+JavaBean 模型2:JSP+JavaBean+Servlet 框架 可视化开发
Servlet技术阶段
Java技术中最早的Web解决方案,页面中的所 有信息需要通过输出语句来生成。
基于Java的Web数据库访问技术 Java Applet:将Java 小程序(Applet)从服务 器端下载到客户端Web浏览器中执行,通过 JDBC驱动程序访问服务器端的数据库。 Java servlet:Java Servlet是运行于Web服务器 端的小程序,其作用类似于CGI程序,但比 CGI程程序的效率更高。利用Java Servlet可以 实现网页中很多交互式效果,在动态网页设计 中具有广泛应用。用户通过Web浏览器访问服 务器端的Java servlet程序,Java servlet负责实 现对数据库的访问,并动态生成HTML格式的 结果文件,交给Web浏览器显示。
--Servlet技术:用于系统流程控制。 -- JavaBean技术:完成核心功能,是一个比较特 殊的Java类,编写方法与普通Java类相同。 --JDBC技术:Java访问数据库的中间件,完成与 数据库的交互。 --XML技术: Java Web应用中的配置文件采用 XML文件的形式,另外JSP页面也可以采用 XML文档的形式。
第一章Web技术概述

13.通道(Tunnel):是作为两个连接中继的中介程序。一旦激活,通道 便被认为不属于HTTP通讯,尽管通道可能是被一个HTTP请求初始化的。 当被中继的连接两端关闭时,通道便消失。当一个门户(Portal)必须存 在或中介(Intermediary)不能解释中继的通讯时通道被经常使用。
14.缓存(Cache):反应信息的局域存储。
Internet(Inter Network)译为“因特网”, 也称国际互 联网,简称互联网。因特网是一个把世界范围内的众多计算 机、人、数据库、软件和文件连接在一起的,通过一个共同 的通信协议(TCP/IP协议)相互会话的网络。
14
Web技术基础
Internet主要技术: ·采用标准协议——TCP/IP协议,使网上各种不同的 计算机进行通信 ·通过路由器将不同网络互连 ·建立在TCP/IP协议基础之上的WWW浏览服务 ·应用DNS域名解析系统完成计算机和用户之间的地 址解析工作
网络病毒、保密、黑客(Huckman)
16
路由器 路由器
R
校园网子网
校园网
R
路由器 路由器
电子商务网站
R R
路由器
路由器
Internet
具有上网功能的手机 PDA掌上电脑 卫星接收系统
路由器
路由器
ISP网络
R R
路由器
路由器
企业子网
路由器
路由器
R
企业网
R
个人电脑
17
WWW的核心-HTTP
HTTP协议简介
20
10.源服务器(Originserver):是一个给定资源可以在其上驻留或被创 建的服务器。
11.代理(Proxy):一个中间程序,它可以充当一个服务器,也可以充当 一个客户机,为其它客户机建立请求。请求是通过可能的翻译在内部或 经过传递到其它的服务器中。一个代理在发送请求信息之前,必须解释 并且如果可能重写它。
Web技术概述

2020/3/9
36
2。Adobe Acrobat
PDF格式。 适用于所有主要平台,能在任何平台上读取并 提供了跨平台和打印机的高质量输出。
2020/3/9
37
3。 Quicktime
Apple计算机公司、数字媒体播放器 例如: /trailers/ 显示免费预告片(2005-10-24)
2020/3/9
20
1。 HTML
(1) HTML的定义 即超文本标识语言,是万维网的基本构件。
2020/3/9
21
1。 HTML
(2) HTML 的使用:HTML文件存放在Web服务器上, 由服务器把文件传送至Web浏览器,由Web浏览器根 据HTML代码中的指令部分进行翻译,然后创建Web页。
起
<p> 使用段落标记,才能起分行、空行作用。
</BODY>
</HTML>
2020/3/9
25
2。与在线商务的关系
(1)HTML是在Web浏览器中显示内容的底层支持技术。 (2)HTML的学习和实现非常简单,且成本低廉。
2020/3/9
26
三、动态Web
1。从静态Web站点转到动态Web站点 2。级联样式表(Cascading Style Sheet) 3。文档对象模型(DOM) 4。动态HTML(Dynamic HTML)
2020/3/9
52
3)运行平台的构建
2020/3/9
53
网络接入部分主要指Internet的接入设备,如路由器、调制解 调设备、防火墙、防病毒墙等。
商务应用软件部分包括网上办公的行政事务应用软件系统和公 众服务软件系统。
应用服务器是支撑商务应用软件的系统软件部分,包括Web服务 器、E-mail服务器、FTP服务器、BBS服务器、远程注册服务器 等。
第一章网页基础

1.1.3静态网页与动态网页 1.1.3静态网页与动态网页
2. 动态网页 动态网页使用ASP、PHP和CGI等程序生成,动态网页中的某些脚本 只能在Web服务器上运行,而静态网页中的任何脚本都不能在Web 服务上运行。当Web服务器接收到对静态网页的请求时,服务器将 Web 该页发送到请求浏览器,而不进一步的处理。当Web服务器接收到 对动态网页的请求时,它将做出不同的反映:服务器根据URL携带 的参数通过应用服务软件(如IIS等)运行服务器端程序,产生的结 果页面再返回客户端。应用服务软件与Web服务器软件一并安装、 运行在同一台计算机上。
1.2 网站的基本结构
• 1.2.2 动态网站的层次结构 • Web服务器上存在许多HTML文件,用户可以使用浏览器通过HTTP 协议来访问并显示这些超文本页面。但是HTML文件仅仅是静态的网 页,不能动态更新,为了能动态访问网上的数据库资源,达到交互式 的访问的目的,Web服务器中包括了CGI(公共网关接口),提供了 与网上数据库资源连接的可能性。中间件可以实现Web服务器与数据 库资源的连接。对于嵌入了数据库访问检索项的网页,中间件可以将 检索项转换成SQL语句访问数据库,并将所需的数据库资源解释成浏 览器可以解释的HTML页面供用户浏览。数据库资源可以经局域网或 广域网与Web服务器连接。 • 另外,从站点的文件目录层次来看,网站内文件组织的第一层是站点 文件夹,可以看成是站点的根目录;将网站内容分类后,放在站点文 件夹下面的子目录,称为第二层;每个分类内容下面还有细节内容可 以放在第二层目录的下面,称为第三层。网站的目录结构设计主要考 虑是否方便浏览者进行浏览,这需要网站的设计者对网站的内容在整 体上进行规划。一般中小型的网站的层次不超过三层,层次过于复杂 容易使浏览者不易查找到想要浏览的内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
◦ 不需要安装客户端软件,它运行在客户端的浏览器之上,系统升级或维护
时只需更新服务器端软件即可
◦ 优点:
基于浏览器,具有统一的平台和UI体验。 具有分布性特点,可以随时随地进行查询、浏览等业务处理。 业务扩展简单方便,通过增加网页即可增加服务器功能。 维护简单方便,只需要改变网页,即可实现所有用户的同步更新 开发简单,共享性强
(6) 服务器给出响应,把文件 index.html 发给浏览器。
(7) TCP 连接释放。 (8) 浏览器显示“北京邮电大学主页”文件 index.html 中的所有文本。
怎样标志分布在整个因特网上的万维网文档? 使用统一资源定位符 URL (Uniform Resource Locator)来标志万维网上的各种文档。 使每一个文档在整个因特网的范围内具有唯一的 标识符 URL。 <协议>://<主机>:<端口>/<路径>
1、Date:Sun 27 Sep 2015 13:56:39 GMT指出服务器创建并发送 本响应消息的日期和时间。 2、Server:Apache/2.2.29 (Unix)指出本消息是由Apache服务器产 生的,服务器版本为2.2.29
3、Content—Type:text/html指出包含在实体中的对象是HTML文本。
HTTP消息报头
HTTP消息报头包括普通报头、请求报头、响应报头、实体报头。 每一个报头域都是由名字+“: ”+空格+值 组成,消息报头域的名字
是大小写无关的
1、普通报头 Date普通报头域表示消息产生的日期和时间 Connection普通报头域允许发送指定连接的选项。例如指定连接是连 续,或者指定“close”选项,通知服务器,在响应完成后,关闭连接 Cache-Control 用于指定缓存指令,请求时的缓存指令包括: nocache(用于指示请求或响应消息不能缓存)、no-store、 max-age 、 max-stale、 min-fresh、 only-if-cached;响应时的缓存指令包括: public、 private、 no-cache、 no-store、 notransform、 mustrevalidate、 proxy-revalidate、 max-age、 smaxage.
HTTP请求
Web浏览器
HTTP响应
Web服务器
客户
北京 邮电大学
链接到URL的超链
浏览器 程序 服务器 程序
服务器
HTTP
HTTP 使用此 TCP 连接
因特网
响应文档
建立 TCP 连接
请求文档
HTTP 请求报文
HTTP 响应报文 释放 TCP 连接
(1) 浏览器分析超链指向页面的 URL。 (2) 浏览器向 DNS 请求解析 的 IP 地址。 (3) 域名系统 DNS 解析出北京邮电大学服务器的 IP 地址。 (4) 浏览器与服务器建立 TCP 连接 (5) 浏览器发出取文件命令: GET index.html。
200 OK //客户端请求成功 400 Bad Request //客户端请求有语法错误,不能被服务器所理解 401 Unauthorized //请求未经授权 403 Forbidden //服务器收到请求,但是拒绝提供服务 404 Not Found //请求资源不存在, eg:输入了错误的URL 500 Internal Server Error //服务器发生不可预期的错误 503 Server Unavailable //服务器当前不能处理客户端的请求
示例:/doc/example.html
混合型架构:
混合型架构:
混合型架构:
◦ 1989年,欧洲粒子物理实验室(CERN)的Tim Berners-Lee构思了 Web(万维网)。他提出了HTTP协议和HTML语言,编写了世界上第
一个Web服务器HTTPD和第一个浏览器,并全部放在互联网上免费传
1.1 Web系统的发展历程 1.2 Web系统构成与工作原理 1.3 主流的Web应用程序平台
软件体系结构发展: 主机/哑终端的集中计算模式
C/S结构:客户机和服务器结构
◦ 如QQ、迅雷、魔兽争霸等需要下载安装客户端软件的系统
◦ 优点:
由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。 客户端为本地应用程序 ,运行效率高 操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。 C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务 流程。
可选的头域 (Header Field ),及实体(Entity-Body)
◦ 由于 HTTP 是面向正文的(text-oriented),因此在报文中的每一 个字段都是一些 ASCII 码串,因而每个字段的长度都是不确定的。
HTTP协议
◦ HTTP协议是无状态
同一个客户端的这次请求和上次请求是没有对应关系,对http服务器来说,
◦ 打开一个网页一般需要浏览器发送很多次Request
浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如图 片,CSS文件,JS文件。 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。
等所有的文件都下载成功后。 网页就被显示出来了。
请求行有3个元素:请求方法、URI、HTTP版本,最后以CRLF结尾。 1、请求方法:指出客户请求服务器执行的一般操作。 HTTP/1.1中定义了八种请求方法,其中GET、POST、HEAD是常用请求方法。
GET :请求获取Request-URI所标识的资源,“查操作” POST: 在Request-URI所标识的资源后附加新的数据, “改操作” HEAD: 请求获取由Request-URI所标识的资源的响应消息报头 PUT: 请求服务器存储一个资源,并用Request-URI作为其标识, “增操作” DELETE :请求服务器删除Request-URI所标识的资源 “删操作” TRACE: 请求服务器回送收到的请求信息,主要用于测试或诊断
HTTP协议
◦ RFC2616, HTTP1.1 ◦ HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。 ◦ HTTP 有两类报文:
请求报文——从客户向服务器发送请求报文。其组成包括:请求行
(Request-Line),可选的头域 (Header Field ),及实体(Entity-Body)。 响应报文——从服务器到客户的回答。组成包括状态行(Status-Line),
◦ 缺点:
需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络 条件的用户群体,不能够实现快速部署安装和配置。 兼容性差,一般不能跨平台,对于不同的开发工具,具有较大的局限性。 若采用不同工具,需要重新改写程序。 开发成本较高,需要具有一定专业水准的技术人员才能完成。
B/S架构:
它并不知道这两个请求来自同一个客户端。 为了解决这个问题, Web程序 引入了Cookie机制来维护状态. 无状态不代表 HTTP 不能保持 TCP 连接,从 HTTP/1.1 起,默认都开启了 Keep-Alive ,保持连接特性,即当一个网页打开完成后,客户端和服务器 之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服 务器上的网页,会继续使用这一条已经建立的连接。
• Web2.0
•html5
•css3
•JavaScript •Ajax •MVVM •……
•Fireworks
Web系统的构成
◦ Web服务器
◦ Web浏览器 ◦ 超文本传输协议HTTP (HyperText Transfer Protocol) ◦ 超文本标记语言HTML(HyperText Markup Language)
(HTTP/1.0使用非永久连接,HTTP/1.1默认使用永久连接)。 2、User-agent:Mozilla/5.0指定用户浏览器的类型。 3、Accept-Encoding:gzip,compress指出发送此请求的浏览器支持哪些压缩编 码方式。 4、Accept-languag:en指出客户浏览器支持的语言是英语(english),
传统的主要为单向向用户传递信息的Web应用
Web 2.0 核心:互动、分享与关系(不是一个技术标准)
博客、百科、社交网站、P2P、IM
Web 3.0
无处不联网:移动互联网 网络计算:SaaS软件即服务,云计算 语义网
◦ Web前端开发技术的变更 • Web1.0
•网页三剑客 •Flash •Dreamweaver
HTTP响应消息结构:
Full-Response =Status-Line
*(General-Header
| Response-Header | Entity-Header)
CRLF
[Entity-Body] 响应消息由状态行(status line)、报头和实体主体三部分组成。 Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF 例如: HTTP/1.1 200 OK 状态行由协议版本、状态码、原因短语3个元素组成
这个消息共有9行(每行以一个回车符和一个换行符结束),最后一行后面还有额外的
一个回车符和换行符。当然,一个请求消息可以不止这么多行,也可以仅仅只有一
行。请求消息的第一行称为请求行(request line),后续各行都称为报头行(header)。
报头
1、Connection:close是在告知服务器本浏览器不想使用永久连接方式
时只需更新服务器端软件即可
◦ 优点:
基于浏览器,具有统一的平台和UI体验。 具有分布性特点,可以随时随地进行查询、浏览等业务处理。 业务扩展简单方便,通过增加网页即可增加服务器功能。 维护简单方便,只需要改变网页,即可实现所有用户的同步更新 开发简单,共享性强
(6) 服务器给出响应,把文件 index.html 发给浏览器。
(7) TCP 连接释放。 (8) 浏览器显示“北京邮电大学主页”文件 index.html 中的所有文本。
怎样标志分布在整个因特网上的万维网文档? 使用统一资源定位符 URL (Uniform Resource Locator)来标志万维网上的各种文档。 使每一个文档在整个因特网的范围内具有唯一的 标识符 URL。 <协议>://<主机>:<端口>/<路径>
1、Date:Sun 27 Sep 2015 13:56:39 GMT指出服务器创建并发送 本响应消息的日期和时间。 2、Server:Apache/2.2.29 (Unix)指出本消息是由Apache服务器产 生的,服务器版本为2.2.29
3、Content—Type:text/html指出包含在实体中的对象是HTML文本。
HTTP消息报头
HTTP消息报头包括普通报头、请求报头、响应报头、实体报头。 每一个报头域都是由名字+“: ”+空格+值 组成,消息报头域的名字
是大小写无关的
1、普通报头 Date普通报头域表示消息产生的日期和时间 Connection普通报头域允许发送指定连接的选项。例如指定连接是连 续,或者指定“close”选项,通知服务器,在响应完成后,关闭连接 Cache-Control 用于指定缓存指令,请求时的缓存指令包括: nocache(用于指示请求或响应消息不能缓存)、no-store、 max-age 、 max-stale、 min-fresh、 only-if-cached;响应时的缓存指令包括: public、 private、 no-cache、 no-store、 notransform、 mustrevalidate、 proxy-revalidate、 max-age、 smaxage.
HTTP请求
Web浏览器
HTTP响应
Web服务器
客户
北京 邮电大学
链接到URL的超链
浏览器 程序 服务器 程序
服务器
HTTP
HTTP 使用此 TCP 连接
因特网
响应文档
建立 TCP 连接
请求文档
HTTP 请求报文
HTTP 响应报文 释放 TCP 连接
(1) 浏览器分析超链指向页面的 URL。 (2) 浏览器向 DNS 请求解析 的 IP 地址。 (3) 域名系统 DNS 解析出北京邮电大学服务器的 IP 地址。 (4) 浏览器与服务器建立 TCP 连接 (5) 浏览器发出取文件命令: GET index.html。
200 OK //客户端请求成功 400 Bad Request //客户端请求有语法错误,不能被服务器所理解 401 Unauthorized //请求未经授权 403 Forbidden //服务器收到请求,但是拒绝提供服务 404 Not Found //请求资源不存在, eg:输入了错误的URL 500 Internal Server Error //服务器发生不可预期的错误 503 Server Unavailable //服务器当前不能处理客户端的请求
示例:/doc/example.html
混合型架构:
混合型架构:
混合型架构:
◦ 1989年,欧洲粒子物理实验室(CERN)的Tim Berners-Lee构思了 Web(万维网)。他提出了HTTP协议和HTML语言,编写了世界上第
一个Web服务器HTTPD和第一个浏览器,并全部放在互联网上免费传
1.1 Web系统的发展历程 1.2 Web系统构成与工作原理 1.3 主流的Web应用程序平台
软件体系结构发展: 主机/哑终端的集中计算模式
C/S结构:客户机和服务器结构
◦ 如QQ、迅雷、魔兽争霸等需要下载安装客户端软件的系统
◦ 优点:
由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。 客户端为本地应用程序 ,运行效率高 操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。 C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务 流程。
可选的头域 (Header Field ),及实体(Entity-Body)
◦ 由于 HTTP 是面向正文的(text-oriented),因此在报文中的每一 个字段都是一些 ASCII 码串,因而每个字段的长度都是不确定的。
HTTP协议
◦ HTTP协议是无状态
同一个客户端的这次请求和上次请求是没有对应关系,对http服务器来说,
◦ 打开一个网页一般需要浏览器发送很多次Request
浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如图 片,CSS文件,JS文件。 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。
等所有的文件都下载成功后。 网页就被显示出来了。
请求行有3个元素:请求方法、URI、HTTP版本,最后以CRLF结尾。 1、请求方法:指出客户请求服务器执行的一般操作。 HTTP/1.1中定义了八种请求方法,其中GET、POST、HEAD是常用请求方法。
GET :请求获取Request-URI所标识的资源,“查操作” POST: 在Request-URI所标识的资源后附加新的数据, “改操作” HEAD: 请求获取由Request-URI所标识的资源的响应消息报头 PUT: 请求服务器存储一个资源,并用Request-URI作为其标识, “增操作” DELETE :请求服务器删除Request-URI所标识的资源 “删操作” TRACE: 请求服务器回送收到的请求信息,主要用于测试或诊断
HTTP协议
◦ RFC2616, HTTP1.1 ◦ HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。 ◦ HTTP 有两类报文:
请求报文——从客户向服务器发送请求报文。其组成包括:请求行
(Request-Line),可选的头域 (Header Field ),及实体(Entity-Body)。 响应报文——从服务器到客户的回答。组成包括状态行(Status-Line),
◦ 缺点:
需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络 条件的用户群体,不能够实现快速部署安装和配置。 兼容性差,一般不能跨平台,对于不同的开发工具,具有较大的局限性。 若采用不同工具,需要重新改写程序。 开发成本较高,需要具有一定专业水准的技术人员才能完成。
B/S架构:
它并不知道这两个请求来自同一个客户端。 为了解决这个问题, Web程序 引入了Cookie机制来维护状态. 无状态不代表 HTTP 不能保持 TCP 连接,从 HTTP/1.1 起,默认都开启了 Keep-Alive ,保持连接特性,即当一个网页打开完成后,客户端和服务器 之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服 务器上的网页,会继续使用这一条已经建立的连接。
• Web2.0
•html5
•css3
•JavaScript •Ajax •MVVM •……
•Fireworks
Web系统的构成
◦ Web服务器
◦ Web浏览器 ◦ 超文本传输协议HTTP (HyperText Transfer Protocol) ◦ 超文本标记语言HTML(HyperText Markup Language)
(HTTP/1.0使用非永久连接,HTTP/1.1默认使用永久连接)。 2、User-agent:Mozilla/5.0指定用户浏览器的类型。 3、Accept-Encoding:gzip,compress指出发送此请求的浏览器支持哪些压缩编 码方式。 4、Accept-languag:en指出客户浏览器支持的语言是英语(english),
传统的主要为单向向用户传递信息的Web应用
Web 2.0 核心:互动、分享与关系(不是一个技术标准)
博客、百科、社交网站、P2P、IM
Web 3.0
无处不联网:移动互联网 网络计算:SaaS软件即服务,云计算 语义网
◦ Web前端开发技术的变更 • Web1.0
•网页三剑客 •Flash •Dreamweaver
HTTP响应消息结构:
Full-Response =Status-Line
*(General-Header
| Response-Header | Entity-Header)
CRLF
[Entity-Body] 响应消息由状态行(status line)、报头和实体主体三部分组成。 Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF 例如: HTTP/1.1 200 OK 状态行由协议版本、状态码、原因短语3个元素组成
这个消息共有9行(每行以一个回车符和一个换行符结束),最后一行后面还有额外的
一个回车符和换行符。当然,一个请求消息可以不止这么多行,也可以仅仅只有一
行。请求消息的第一行称为请求行(request line),后续各行都称为报头行(header)。
报头
1、Connection:close是在告知服务器本浏览器不想使用永久连接方式