前言
分享一篇我在edx课程中看到的一篇英文文章,这篇文章详细阐述了Web、Web Server的含义,然后进一步介绍什么是Web API、Web Server、SOAP以及RESTFUL Web API的一些基础概念。本文根据个人的理解对原文进行了翻译,限于我的知识水平,若有翻译不到位的地方还请批评指正。
正文
Web究竟是什么意思?
如今,网络十分普及。运行在不同电脑上的软件可以互相“对话”。软件们进行交流时所使用的语言称之为“协议”(protocols)。比如你可能听说过的TCP、HTTP以及FTP协议。
Web其实就是在某一网络中的一组计算机,它们通过HTTP协议进行交流。Web可大可小,比如:
-
在公司的内网中,如果有一些计算机通过HTTP协议交流,借助Web浏览器分享文件,那它们构成的是一个小型网络(SMALL Web)。
-
在互联网(the Internet)上,数以亿计的电脑和设备通过HTTP协议组成了一个大型网络(BIG Web)。事实上,它是地球上最大的东西之一,即万维网(the Would Wide Web)。
什么是网络服务器(Web Server)?
通常,当软件通过网络进行交流的时候,每个软件程序所扮演的角色可能是不同。如果一个程序持有某些资源,例如数据或者一组逻辑指令,此外,它还能提供这些资源给其他程序,便可将该程序以及运行该程序的电脑称之为服务器(Server),即服务提供者。相反,如果一个程序没有它所需要的资源,不得不向网络中的其他程序请求资源,我们可以将它称之为客户端(Client)。
当程序通过网络来提供数据或者计算资源(computing power,直译为计算能力,但显得有些生硬,此处我译为计算资源,表示计算机它所能提供的计算能力)的时候,便称之为Web服务器(Web server)。因为在网络上的计算机/设备是通过HTTP协议相连接的,我们可以轻松的推断出:网络服务器必须通过HTTP协议提供或者暴露自身所持有的资源。
网络服务器能够提供给客户端的资源是庞大的,但是总体上我们能分成两类:数据和计算资源。服务器上数据的表征形式很多,比如HTML页面、PNG 图像、MP3/MP4文件或者在数据库中的一连串记录。计算资源是指服务器所能提供的计算能力,而服务器的计算性能通常要比客户端强很多,当然这取决于客户计算机上的硬件条件。
通过请求,客户端可以向服务器发送参数,在服务器接受参数并且执行某些计算以后,将通过一个响应(response)返回相应的结果给客户端。
-
如果网络服务器提供数据资源,并且数据是HTML格式的(我们知道浏览器能够渲染HTML编写的页面),我们称这个网络服务器的资源为站点(Website)。
<