HTTP
HTTP是一种通信标准,它负责管理客户端浏览器在和网络服务器交互时产生的请求和响应。
C/S
这里讲的CS,跟合理的叫法应该是BS。但是Browser在前端开发者,起作用也是client,为了和后端开发术语统一,因此也称CS。
Server
服务器的工作是接收从客户端发来的请求,并尝试以一种有意义的方式回应该请求,通常是提供一个被请求的网页。一个Web服务器通常都能处理多个并行的连接,并且在客户端没有连接出现时保持监听状态。一旦监听到客户端的连接信息,服务器端会返回一个响应消息给客户端,确认已经收到连接消息。
Client
服务器端对应的自然就是client(客户端),网络浏览器和运行着该浏览器的电脑都可以被称为客户端。
Request/Response处理流程
- 在浏览器的地址栏输入网址http://server.com。
- 浏览器会查询server.com对应的IP地址。
- 浏览器向server.com的主页发送一个请求。
- 这个请求通过Internet传输到达server.com的网络服务器端。
- 接收到这个请求的网络服务器会在它的硬盘上寻找这个网页。
- Web服务器注意到现在内存中的主页页面是一个包含PHP脚本的文件,将该页面传送给PHP解释器。
- PHP解释器运行这些PHP代码。
- 某些PHP包含MySQL语句,PHP解释器将这些MySQL语句传送给MySQL数据库引擎。
- MySQL数据库引擎将MySQL语句的执行结果返回给PHP解释器。
- PHP解释器将PHP代码的执行结果连带先前MySQL数据库引擎的执行结果返回给Web服务器。
- Web服务器将页面返回给发出请求的客户端,并由客户端显示页面。
一般而言,网页上的每个对象,例如一张图,一段内嵌的视频或Flash文件甚至一个CSS模板,上面的流程都会执行一次。
C/S通信过程中的设备
在客户端和服务器端之间还可以有几种其他设备,比如路由器、代理服务器、网关等。为了确保请求信息和响应信息能够在客户端和服务器端正确地传输,它们都扮演着各自不同的角色。通常,它们都依靠Internet来传送信息。
WAMP、MAMP、LAMP
WAMP➱“Windows,Apache,MySQL,PHP”、
MAMP➱“Mac,Apache,MySQL,PHP”
LAMP➱“Linux,Apache,MySQL,PHP”
这些缩写完整地描述了创建一个动态网站所需要的功能组织。
WAMP、MAMP以及LAMP通常都是捆绑为一个整体的包的形式,所以无需单独地安装和设置它们。这意味着只需要简单下载和安装一个程序,然后按照一些简单的提示就能在最短的时间和最少的麻烦下,把网络开发服务器安装和运行起来。在安装的过程中,创建几个默认的设置。这样安装的安全设置不会像企业级网络服务器那样严密,因为它是为本地使用而优化的。正是因为这些,永远也不要把这种安装当做企业级服务器。但是,为了开发和测试网站及应用,安装其中的一套就够了。