48、万维网之三(应用层)

本文探讨了Web从静态页面向动态内容转变的过程,重点介绍了动态Web页面的生成,包括服务器端的CGI和PHP处理以及客户端的JavaScript脚本。动态内容的生成使得Web能够支持各种应用,如电子商务、邮件和地图服务。服务器端,CGI和PHP用于处理表单数据、与数据库交互生成HTML响应。客户端,JavaScript允许在用户交互时更新页面,提供更响应式的体验。文章还提到了其他技术,如JSP、ASP.NET、VBScript和Applet,以及AJAX在实现高性能Web应用中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

动态Web页面和Web应用
  • 到目前为止我们使用的静态页面模型将页面作为多媒体文档处理,这些文档被方便地链接在一起。这是Web 初期的一个拟合模型,因为大量的信息都可在线查询。如今,围绕着Web 的许多兴奋点在于可将它用作应用程序和服务。应用例子包括在电子商务网站购买产品、检索图书馆目录、探索地图、阅读和发送电子邮件,以及进行文档合作。
  • 这些新的用途犹如传统的应用软件(例如,邮件阅读器和文字处理器〉。扭曲的只是这些应用程序运行在浏览器内部,而用户数据存储在Internet 数据中心的服务器上。它们利用Web 协议通过Internet 访问信息,而浏览器显示用户界面。这种方法的优点是用户不需要安装单独的应用程序,可以从不同的计算机访问用户数据,而且由服务提供商负责备份。它被证明是如此地成功,几乎可以和传统的应用软件相媲美。当然,这些应用程序由大型服务提供商免费提供的事实也有助于推动应用的进一步展开。这种模式就是云计算( cloud computing)的普遍形式, 它将计算从个人台式电脑转移到Internet 上的共享服务器集群。
  • 为了运行应用程序, Web 页面不能再是静态的了,动态内容是必需的。例如,一个图书馆目录的页面应该反映出哪些书籍当前可借和哪些书籍已经借出因而不可用等书籍的当前状态。类似地, 一个有用的股票市场页面将允许用户与页面交互,以便查看不同时期的股票价格,以及计算利润和亏损。这些事例表明,动态内容可以由服务器上或浏览器内〈或者同时运行在两个地方)运行的程序产生。
  • 在本节中,我们将依次考查这两种情况。一般的情况如图所示。例如,考虑一个地图服务:让用户输入一个街道地址,然后给出相应位置的地图。给定一个位置请求, Web服务器必须使用一个程序来创建一个页面,该页面显示了该街道地址在地图上的对应位置,而位置信息则是从一个街道数据库和其他地理信息数据库中提取出来的。这一系列动作反映在图中的第1 ~3 步。请求(第1 步〉导致在服务器上运行一个程序: 该程序查询一个数据库以便生成相应的页面(第2 步〉,并将该页面返回给浏览器(第3 步〉。在这里插入图片描述
  • 然而,有更多的动态内容。返回的页面本身还可能包含着在浏览器中运行的程序。以我们的地图为例,该程序将允许用户发现一条路线,以及不同详细程度地探索周围的附近区域。它会更新页面,跟随用户的指示缩小或放大(第4 步〉。为了处理一些交互事件,该程序可能需要从服务器端获取更多的数据。在这种情况下, 程序将给服务器发送一个请求(第5 步〉,服务器从数据库中检索出更多的信息(第6 步),并且给浏览器返回一个响应(第7 步)。然后,该程序将继续更新页面( 第4 步)。请求和响应都发生在后台,用户甚至可能根本意识不到它们的存在, 因为页面的URL 和标题通常不会改变。通过引入客户端程序,页面可以提供一个比单靠服务器端程序更能响应用户的接口。

服务器端动态Web 页面生成

  • 让我们更详细地来看服务器端是如何生成动态页面内容的.服务器端必须处理的一个简单情况是表单的使用。加入一个用户填写了邮购表单,然后点击“提交订单”按钮。当用户点击该按钮后, 一个请求就被发送到由URL指定的服务器,请求包含表单以及用户填写的表单内容(如到http://widget.com/cgi-bin/order.cgi 的POST)。这些数据必须由某个程序或脚本来处理。因此,该URL 指定了要运行的程序,提供的数据作为该程序的输入。在这种情况下, 处理将涉及在内部系统输入订单、更新客户记录和收取信用卡的付费。这个请求返回的页面将取决于处理过程中发生的事情,它并不像一个静态页面那样固定不变。如果订单成功,返回的页面可能给出了预计的出货日期:如果订单不成功,返回的页面可能会给出订购的部件缺货或出于某种原因信用卡不再有效等有关信息。
  • 究竟如何在服务器上运行一个程序而不是检索一个文件则取决于Web 服务器的设计。Web 协议本身没有说明。这是因为该接口可以是专有的,浏览器并不需要知道里面的细节。至于浏览器,它仅仅负责发出请求和获取页面。然而,为了让Web 服务器能够调用程序,已经开发出了标准的API 。这些接口的存在使得开发人员更加容易地把不同的服务器扩展到Web 应用程序。我们将通过简要地考查两个API ,让你感觉它们是如何工作的。
  • 第一种处理动态页面请求的方法称为公共网关接口( CGI, Common Gateway Interface),由RFC 3875 定义,这是自从有了Web 就一直可用的方法。CGI 提供了一个接口,允许Web 服务器与后端程序及脚本通信:这些后端程序和脚本接受输入信息(例如,来自表单),并生成HTML 页面作为响应。通常,这些后端程序可以用任何一种开发者便利的语言编写,通常都
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值