什么是 浏览器/服务器(Browser/Server) 架构?
客户机与服务器
我们之前的演示都是在自己的机器上安装和运行的,但显然,如果要让更多的人能访问到我们的博客站点,我们就必须:
把电脑搬到电信机房中或购买阿里云等云平台上的虚拟服务器,以获得可公共访问公网IP地址及空间
因此,在实际生活当中,要能运行和访问一个网站,一般需要两台机器
- 客户机:访问者的电脑,需要安装有Web浏览器
- 服务器:被访问的电脑,需要安装有Web服务器
浏览器、WEB服务器、HTTP协议
显然,我们之前的演示并没有使用两台机器,在一台机器上也演示成功了。这说明:一台或两台电脑并非关键,实际上只需要WEB服务器和浏览器这两个软件即可构成一个最小的Web系统。
- WEB服务器(WEB Server):如apache、nginx、iis等。 WEB服务务器的作用可以简单描述为按照访问者(即浏览器)的链接,将本地磁盘上相 应的html文件读取后发送给访问者
- 浏览器(browser): 如chrome、firefox、ie等。浏览器的作用可以简单描述为将服务器返回的html文件中的文本内容渲染成电脑屏幕上的画面
- HTTP协议: 任何两个实体之间进行通讯,都需要明确的通讯协议。WEB服务器与浏览器之间的协议采用的即是HTTP协议。它是一个公共协议。
什么是渲染? 譬如编辑 index.html中的内容为
'<h1>Hello World</h1>'
, 很容易发现浏览器里显示的只有'hello world',没有'<h1>'
等字符,但显示的文本字体明显变大了
HTTP 协议
超文本传输协议(HTTP)是一个用于传输超媒体文档(例如 HTML)的应用层协议。它是为 Web 浏览器与 Web 服务器之间的通信而设计的,但也可以用于其他目的。HTTP 遵循经典的客户端—服务端模型,客户端打开一个连接以发出请求,然后等待直到收到服务器端响应。HTTP 是无状态协议,这意味着服务器不会在两个请求之间保留任何数据(状态)。
如果要深入Web应用开发,http协议是必须掌握的知识
简单介绍 https://www.cnblogs.com/dhui/p/14653792.html 详细手册 https://developer.mozilla.org/zh-CN/docs/Web/HTTP
WEB前端与WEB后端
从之前wordpress的安装中我们还可以看到,要成功运行一个类似wordpress这样较为复杂的WEB站点,不但需要安装php、mysql等软件,还需要编辑php代码(即wordpress的源代码); 同样,如果你使用过一些功能较复杂的浏览器插件,就会知道在浏览器中可以实现许多原网页中没有的功能。
也就是说,如果着眼于WEB站点的功能,又可划分为:
- WEB后端:即由WEB服务器(apache/nginx/iis)、数据库服务器(mysql/postgrel)、后端编程语言环境(php/jsp/asp)等共同组成的集合
- WEB前端:即由浏览器(chrome/firefox/ie),以及在浏览器里可以运行的html、css、javascript等前端编程语言环境的集合