一、Web 应用:客户端/服务器计算
Web 客户端是浏览器,即允许用户在万维网上查询文档的应用程序。另一边是 Web 服务器端,指的是运行在信息提供
商的主机上的进程。这些服务器等待客户端和及其文档请求,进行相应的处理,并返回相关的数据。
客户端可以向 Web 服务器端发出各种不同的请求。这些请求可能包括获得一个用于查看的网页视图,或者提交一个包含待处理数据的表单。 Web 服务器端首先处理请求,然后会以特定的格式(HTML 等)返回给客户端浏览。Web 客户端和服务器端交互需要用到特定的“语言”,即 Web 交互需要用到的标准协议,称为 HTTP(HyperText Transfer Protocol, 超文本传输)。 HTTP 是 TCP/IP 的上层协议,这意味着 HTTP 协议依靠 TCP/IP 来进行低层的交流工作。客户端可以随时发送新的请求,但是新的请求会处理成独立的服务请求。由于每个请求缺乏上下文,因此你可能注意到有些 URL 中含有很长的变量和值,这些将作为请求的一部分,以提供一些状态信息。另一种方式是使用“cookie”,即保存在客户端的客户状态信息。
二、因特网
为了对传输数据进行加密,需要在普通的套接字上添加一个额外的安全层,称为安全套接字层(Secure SocketLayer, SSL),用来创建一个套接字,加密通过该套接字传输的数据。开发者可以决定是否使用这个额外的安全层。
防火墙用来阻止对工作(或家庭)网络未授权的访问,如阻止已知的接入点、对每个网络基础进行配置。没有防火墙,入侵者就可能侵入装有服务器的计算机上未受保护的端口,并获得系统访问权限。网络管理员会封杀大部分端口,只留出常见的服务,如 Web 服务器和安全 shell 访问(SSH),以此降低入侵的概率。
代理服务器是另一个有用的工具,它可能会与防火墙一同工作。通过代理服务器,网络管理员可以只让一部分计算机访问网络,也可以更好地监控网络的数据传输。代理服务器另一个有用的是特性是其可以缓存数据。举例说明,如果 Linda 访问了一个代理缓存过的 Web页面,她的同事 Heather 后来再次访问这个页面时,网页加载速度会快很多,她的浏览器无须与 Web 服务器进行完整的交互,而是从代理服务器获得所有信息。另外,他们公司的 IT部门知道至少有两个员工在何时访问了这个页面。根据代理服务器的运作方式,这种称为正向代理。
另一种相似的计算机是反向代理。它与正向代理的作用相反(实际上,可以将一台计算机配置成同时进行正向代理和反向代理)。 反向代理的行为像是有一个服务器,客户端可以连接这个服务器。客户端访问这个后端服务器,接着后端服务器在网上进行真正的操作,获得客户端请求的数据。反向代理还可以缓存服务器的数据,如果其作为后端服务器,会将数据直接返回给客户端。
正向代理用来处理缓存数据,更接近客户端。反向代理更接近后端服务器,扮演服务器端角色,如缓存服务器的数据、负载平衡等。反向代理服务器还可以用来作为防火墙或加密数据(通过 SSL、 HTTPS、安全 FTP(SFTP) 等)。
拥有大型 Web 站点的公司一般会在他们的 ISP 那里有完整的 Web 服务器场。这种方式称为服务器托管,意思是这家公司的服
务器与 ISP 的其他客户的服务器放在一起。小公司的 Web 站点或许不需要很多硬件和网络设备,在他们的 ISP 那里也许只有一台或若干台托管服务器。不管是哪种情况,大部分 ISP 的托管服务器都位于骨干网上。由于更接近因特网的核心,因此这些服务器对因特网的访问速度更快,带宽也更大。这让客户端可以更快地访问服务器,由于服务器在主干网中,意味着客户端可以直接连接