- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
互联网及其应用客户服务器模型与软件设计
客户-服务器模型与软件设计 客户-服务器引言 从应用的观点看,就像大多数计算机通信协议一样,TCP/IP仅仅提供传输数据的基本机制。具体地说,TCP/IP允许程序员在两个应用程序之间建立通信并来回传递数据。因此,我们说,TCP/IP提供了对等(peer-to-peer)或端到端(end-to-end)通信。这些对等应用程序可在同一机器上执行,也可在不同的机器上执行。 尽管TCP/IP规定了数据如何在一对正在进行通信的应用程序间传递,但它并没有规定对等的应用程序在什么时间以及为什么要进行交互,也没有规定程序员在一个分布式环境下应如何组织这样的应用程序。在TCP/IP的使用中,客户-服务器的组织方法占有主导地位,几乎所有的应用都使用了客户-服务器范例这种模型。实际上在对等网络系统中,客户-服务器的交互是相当基本的形式,大多数计算机通信都采用了此交互形式。 本书使用客户-服务器范例描述所有应用程序的编写。它考虑了客户-服务器模型背后所蕴涵的动机,描述了客户和服务器的功能,还说明了如何构造客户和服务器软件。 在考虑如何构造软件之前,首先要定义客户-服务器的概念和术语。 动机 客户-服务器范例的基本动机来自会聚点(rendezvous)问题。为理解这一问题,设想一个人试图在两台独立的机器上启动两个程序并让它们进行通信。我们知道计算机的运行速度要比人快许多数量级。在这个人启动第一个程序后,该程序开始执行并向其对等程序发送报文。在几微秒内,它就判断出对等程序还不存在,于是就发出一条错误消息,然后退出。在这时,这个人启动了第二个程序。遗憾的是,当第二个程序开始执行时,它发现对等程序已经终止执行了。即便是两个程序继续尝试通信,但由于每个程序都执行得相当快,在同一时刻双方相互发送消息的概率还是很低的。 客户-服务器模型用一种直接的方式解决此会聚点问题:它要求在任何一对进行通信的应用进程中,有一方必须在启动执行后(无限期地)等待对方与其联系。这种解决方案减少了下层协议软件的复杂性,因为下层协议不必自己对收到的通信请求做出响应。 由于客户-服务器模型负责处理应用的会聚点问题,因此不需要TCP/IP在报文到达后提供自动创建运行程序的任何机制。但是要求有一个程序在任何请求到来前就一直运行,等待其他程序与之通信。 为确保计算机已准备好进行通信,多数系统管理员都安排通信程序在操作系统引导时就自动启动。每个程序启动后就一直运行,等待下一个服务请求的到来并为其提供服务。 客户和服务器 客户-服务器范例根据通信发起的方向对程序进行分类,即区别一个程序是客户还是服务器。一般来说,发起对等通信的应用程序称为客户。终端用户往往在其使用网络服务时调用客户软件(例如万维网浏览器就是一个客户程序)。多数客户软件与常规的应用程序实现是一样的。客户应用程序每次执行时都要与服务器联系,发出请求并等待响应。客户收到响应后再继续处理。客户通常比服务器容易构建,它的运行往往并不需要系统特权。 与之相比,服务器是等待接收客户通信请求的一种程序①。服务器接收一个客户的请求,执行必要的计算,然后将结果返回给客户。 特权和复杂性 为完成计算和返回结果,服务器软件经常要访问受操作系统保护的对象(如文件、数据库、设备或协议端口)。因此,服务器软件的执行通常带有一些系统特权。由于服务器在执行时带有特权,应注意不要将特权传递给使用服务的客户。例如,一个具有执行特权的文件服务器,必须仔细检查某个文件能否被某个客户访问。服务器不能依赖那些常规的操作系统检查,因为服务器的特权允许它访问任何文件。 通常,服务器含有处理以下安全问题的代码: ● 鉴别——验证客户的身份 ● 授权——判断某个客户是否被允许访问服务器所提供的服务 ● 数据安全——确保数据不被无意泄露或损坏 ● 保密——防止未经授权访问信息 ● 保护——确保网络应用程序不能滥用系统资源 标准和非标准客户软件 两大类客户应用程序:一类客户调用标准TCP/IP服务(如电子邮件);另一类客户调用网点定义的服务(例如,某家公司的私有数据库系统)。标准应用服务包括TCP/IP定义的服务,这些服务都被指派了熟知的、普遍都能识别的协议端口标识符。我们将所有其他的应用服务称为本地定义的应用服务(locally-defined application service)或非标准的应用服务(nonstandard application service)。 标准服务与其他服务的区别只有在与外界环境通信时才变得明显。在某个特定环境下,系统管理员往往使得那些定义的服务名让用户不能区分服务是本地的还是标准的。但程序员在构建网络应用时却应记住这个区别,不要让程序依赖那些只在本地才能用的服务,否则那些应用
您可能关注的文档
最近下载
- 合作协议书(15篇)(模板) .pdf VIP
- 《电动汽车充电站设计规范》GB50966-2014(完整).docx VIP
- 网御星云网闸技术宝典.pdf VIP
- 江淮CPC(D)20-30-CPC(D)30A叉车零件图册.pdf VIP
- DB32T 3610.2-2025 道路运输车辆智能监控系统技术规范 第2部分:终端及测试方法.docx VIP
- 驾驶员的夜间行车视觉与夜间驾驶技巧.pptx VIP
- 中医临床三基(医师)临床基本知识针灸推拿考试真题.docx VIP
- GB50156-2012(2014年版) 汽车加油加气站设计与施工规范.pdf VIP
- 临近既有地铁的异形深基坑支护设计与施工.pdf VIP
- 《葡萄沟》精品课件.pptx VIP
文档评论(0)