您好,欢迎访问三七文档
xuepub.com1-Web技术基础概念2015Spring,xi'anxuepub.com本章内容•网站和网络应用•Web1.02.03.0•网络浏览器•硬件服务器•网络服务器•客户端服务器架构•3层/多层架构•面向服务的架构(SOA)xuepub.comWeb站点和Web应用xuepub.comWebPage网页•适合于(WorldWideWeb)万维网的文档或信息资源•能够通过Web浏览器访问并在显示器或移动设备上显示•信息通常是HTML或XHTML格式,并且提供超文本链接的导航到其他页面•网页经常引用其他资源,如样式表(CSS),脚本(Javascript)和图像到最终呈现上xuepub.comWebSite网站•相关网页的集合,包含了网络资源(网页,图像,视频,CSS文件,JS文件和其他数字资源)•在网页间普通导航•网站至少建立在一个webserver网络服务器上•通过Network网络能够访问(如互联网)•所有公开访问的网站共同构成了网络应用•网站的下一个级别•高交互•高可访问性(Cloud云端)•AJAX,Silverlight,Flash,Flex,等•应用通常分解为逻辑块称为层,每一层都扮演一种角色•在网络浏览器中,类桌面的应用程序•在桌面的网络应用(Windows8)xuepub.comWeb浏览器和布局引擎xuepub.comWebBrowser网络浏览器•这种程序被设计为让用户从网上获取,检索和查看文档及其他资源•主要职责:•将信息资源带给用户(发出请求给网络服务器,处理任何通过请求产生的结果)•呈现网络内容(渲染HTML,CSS,JS)•有能力在相一上下文中像查看文档一样处理应用(Flash)xuepub.comLayoutEngine布局引擎•软件组件,在屏幕上综合显示格式化内容:•标记的内容(如HTML,XML,图像,文件,等)•格式信息(如CSS,XSL等)•其在窗体(可在屏幕或打印机显示)的内容区上绘制•典型嵌入在网络浏览器,邮件客户端,在线帮助系统或其他需要显示(及编辑)网络内容的应用中xuepub.com布局引擎和网络浏览器•基于Trident•InternetExplorer,遨游,等•基于Gecko•Firefox,等•基于Blink•Chrome,Opera•基于WebKit•OldChrome,Safari,遨游,等•基于Presto•OldOperaxuepub.com用户代理字符串•标识出网络浏览器和它们的版本•能够有一些如布局引擎每用户操作系统等的额外信息•示例:•网络浏览器:火狐Firefox/7.0.1•渲染(布局)引擎:Gecko/20100101•操作系统:64位Windows7•WOW64=Windows-On-Windows64位•WindowsNT6.1=Windows7Mozilla/5.0(WindowsNT6.1;WOW64;rv:7.0.1)Gecko/20100101Firefox/7.0.1xuepub.com硬件服务器xuepub.com硬件服务器•物理电脑(一个硬件系统)用来运行一个或多个服务•服务器托管在配置中心•服务器可以是:•数据库服务器•文件服务器•邮件服务器•打印服务器•VPS虚拟专用服务器xuepub.com网络服务器Apache,IIS,nginx,lighttpd,等xuepub.com网络服务器做什么?•所有的物理服务器都有硬件•硬件被操作系统控制•WebServer是软件产品,使用操作系统处理网络请求•网络服务器服务于网络内容•这些请求依靠网络服务器上的设置重定向到其他软件产品(ASP.NET,PHP,等)xuepub.com2014二月网络服务器市场份额•Apache•38.22%•IIS(byMicrosoft)•32.80%•nginx(byIgorSysoev)•15.00%•GWS(byGoogle)•2.30%xuepub.com客户端-服务器架构经典客户端-服务器模型xuepub.com客户端-服务器C/S架构•客户端-服务器模型包括:•Server服务器–单一机器或机器集群,为多用户提供了网络应用(或服务)•示例:•网络服务器运行PHP脚本或ASP.NET页面•基于IIS网络服务器•基于WCF服务•云端服务xuepub.com客户端-服务器架构•客户端-服务器模型包括:•Client客户端–软件应用,提供了用来访问服务器端服务的UI(前端)•示例:•网络浏览器•WPF应用•HTML5应用•Silverlight应用•ASP.NET消费服务xuepub.com客户端-服务器模型服务器桌面客户端移动客户端客户端设备xuepub.com客户端-服务器模型-示例•网络服务器(Apache,IIS)–网络浏览器•FTP服务器(ftpd)–FTP客户端(FileZilla)•邮件服务器(qmail)–邮件客户端(Outlook)•SQLServer–SQLServerManagementStudio•BT追踪器–BT客户端(μTorrent)•DNS服务器(bind)–DNS客户端(resolver)•DHCP服务器(无线路由固件)–DHCP客户端(手机/安卓DHCP客户端/)•SMB服务器(Windows)–SMB客户端(Windows)xuepub.com三层/多层架构软件系统的经典层次结构xuepub.com三层架构•三层架构由下列层次组成:•前端(客户端层)•客户端软件-提供系统的UI•中间层(商业层)•服务器软件–提供核心系统逻辑•实现商业流程/服务•后端(数据层)•管理系统数据(数据库/云端)xuepub.com三层架构模型商业逻辑桌面客户端移动客户端客户端设备数据库数据层(后端)中间层(商业层)客户端层(前端)xuepub.com典型中间层的层次•中间层通常由前端,商业逻辑和后端组成:呈现逻辑实现应用的UI(HTML5,Silverlight,WPF,等)商业逻辑实现应用的核心流程/服务数据访问逻辑实现数据访问功能(通常用ORM框架)xuepub.com多层架构xuepub.comMVC(模型-视图-控制)什么是MVC且如何运行?xuepub.com模型-视图-控制(MVC)•模型-视图-控制(MVC)架构•分离商业逻辑,从应用数据和呈现中•模型•存储了应用状态(数据)•视图•显示数据给用户(显示UI)•控制•处理和用户的交互xuepub.comMVC蓝图xuepub.com基于MVC的框架•.NET•ASP.NETMVC,MonoRail•Java•JavaServerFaces(JSF),Struts,SpringWebMVC,Tapestry,JBossSeam,Swing•PHP•CakePHP,Symfony,Zend,Joomla,Yii,Mojavi•Python•Django,ZopeApplicationServer,TurboGears•RubyonRailsxuepub.comMVC和多层架构Model(Data)DataAccessLogicViews(Presentation)Controllers(BusinessLogic)•MVC并不能取代多层架构•两者经常用于一起•典型的多层架构使用MVC•为了分离逻辑、数据和呈现xuepub.com面向服务的架构(SOA)xuepub.com什么是服务?•在真实世界中,服务是:•服务提供者完成的一系列工作•通过输入参数,提供给用户(消费者)一些期望的结果•需求和结果已知•易于使用•总是可用的•有量的特性(价格,执行时间,常量,等)xuepub.com面向服务的应用•面向服务的应用类似真实世界中的服务-消费者模型•由服务提供者(服务器端)和服务消费者(客户端)组成•典型示例为RIA富客户端应用•服务提供者提供一些服务•服务消费者访问服务•标准协议用XML,JSON,SOAP,WSDL,RSS,HTTP,…xuepub.com什么是SOA?•SOA(面向服务架构)是开发软件系统的一种概念•用于可重用的代码块(组件)称为服务•服务在SOA中是:•自制•无状态的商业函数•接受请求和返回响应•使用良好定义的标准接口xuepub.comSOA服务•自制•每个服务自制运行•没有任何意识其他服务存在•无状态•没有记忆,无法记住状态•易于伸缩•请求-响应模型•客户端询问,服务器返回答案xuepub.comSOA服务(2)•通过标准协议通信•XML,SOAP,JSON,RSS,...•HTTP,FTP,SMTP,RPC,MSMQ,...•不依赖于操作系统、平台、编程语言•可发现•服务注册xuepub.com什么是云?xuepub.com什么是云?•Cloud云=多台硬件机器合并它们的计算能力和资源•在多个应用中共享•节省成本,更有效的使用资源•公有云•按需提供计算资源•互联网公开•付费或免费(有限制)•AmazonAWS,GoogleAppEngine,MicrosoftAzure,Rackspace,PHPFog,Heroku,AppHarborxuepub.com云计算模型•基础设施即服务(IaaS)•按需的云端虚拟机•用户安装他们需要的操作系统和软件•平台即服务(PaaS)•为开发者准备的平台,服务和API•如Java+JBoss+JSF+JPA+MongoDB或JavaScript+Node.js+MongoDB+RabbitMQ•软件即服务(SaaS)•按需建立应用(如WordPress.com)xuepub.comxuepub.com
本文标题:1-Web技术基础
链接地址:https://www.777doc.com/doc-3853435 .html