1、附录 A 译文 HTTP 和 Servlet 的基础知识 让我们从定义 Web 应用程序这一章开始。我们都看到过一般的客户端应用软件,但怎么样才是一个真正的 Web 应用程序?然而,它可以被定义为一个用于用户接入的运行在服务器上的程序,通过一个简单,一般用途的客户。今天,最常见的客户端是一种运行在 pc 机上的网页浏览器或工作站系统,但其他类型的用户正在迅速加入,如无线 PDA ,手机,和其他专门设备。 最崇高目标是从你面前的任何类型的设备上获得你所要的信息和服务。这意味着同样的简单客户端程序必须能够与许多不同的服务器应用通话,以及应用程序必须能够适用于许多不同 类型的客户。为了满足这一需要,
2、必须制定详细的客户端和服务器相互通信的协义。这正是超文本传输协议( HTTP )的目的。 通信模型所确定的 HTTP 形式的基础,所有的 Web 应用程序设计。基本了解HTTP 的关键应用,适合发展中国家的限制范围内的协议,无论哪个服务器端技术的使用。在本章中,我们看一下最重要的细节的 HTTP 您需要了解作为一个 Web应用程序开发。 另外一个项目:这本书是用 JSP 作为服务器端技术。 JSP 技术是基于 Java Servlet 技术。这两种技术有着大量的术语和概念,所以知道一点 servlets 将帮助你,即使你开发纯 JSP 的应用。要真正理解和使用的全部的 JSP ,你需要知道一点
3、 servlets 。因此,我们期待在 servlet的基本入在最后一章的这一节。 2.1 HTTP 请求 /响应模型 所有扩展 HTTP 和基于 HTTP 协议是基于一个非常简单的通信模式。其工作原理如下:客户端,通常是一个 Web 浏览器,发出了一个请求资源的服务器,服务器发回的响应相应的资源(或响应的错误信息,如果它不能处理请求出于某种原因) 。 A 资源是一些事情的数据,如一个简单的 HTML 文件逐字返回到浏览器或程序, 动态生成的响应。 这种简单的模式意味着三个重要的事实你需要了解: HTTP 是一种无状态协议。这意味着服务器不保留任何信息发出后客户端的反应,因此,它不能承认,多请
4、求来自同一客户端可能有亲缘关系。 Web 应用程序无法轻易地提供什么样的即时反馈信息中常见的独立的图形用户界面应用程序,如文字处理机或传统客户机 /服务器应用程序。每当它们之间的互动客户端和服务器需要一个请求 /响应交流时。执行请求 /响应交流当用户选择一个项目在一个列表框或填写表单元素通常是过于繁重的带宽提供给大多数的互联网用户。 这里没有什么协义告诉服务器如何提出要求 ;因此,服务器无法在客户端上区分各种方法触发的要求。例如,不允许 HTTP Web 服务器来区分一个明确的要求所造成的点击一个链接或提交表单和一个隐含的要求所造成的调整浏览器窗口或使用浏览器的后退按钮。此外,超文本传输协定不
5、包含任何手段服务器调用客户端的特定职能,例如回去在浏览器历史记录列表或发送的反应在一定范围内。另外,服务器无法检测什么时候用户关闭浏览器。 多年来,人们已经制定了各种技巧来克服务第一个问题 ;HTTP 的无国籍性。其他两个问题,没有及时反馈 ,也没有详细说明如何提出要求,更难处理,但有些金额的互动,才能实现所产生的反应,其中包括客户端代码(代码执行的浏览器) ,如 JavaScript 或 Java 小程序。 2.1.1 详叙 Requests 让我们仔细看看 Requests。用户发送请求到服务器,通过点击一个链接的网页上,提交表单时,或输入一个网页地址在浏览器的地址栏。发送请求后,浏览器需要知道与哪些服务器交换数据,并要求得到资源。 URL 必须跟据服务器名详细描术端口号 ,例如: http:/ 第一部分所显示的 URL 中指定的 Requests 是使用 HTTP 协议的。其次是服务器的名称,在这种情况下 。 Web 服务器等待请求将在某一特定的 TCP / IP 端口。端口号 80是标准端口,用于 HTTP 请求。如果 Web服务器使用另一个端口, URL 必须跟据服务器名称指定端口号。例如: http:/:8080/index.html 这一请求被发送到一台服务器,使用端口 8080而不是 80 。最后部分 的