Web 开发者的基本修养

1 从用户在浏览器地址栏输入URL 开始,发生了什么?

2 DNS Query

浏览器和服务器之间的连接是HTTP 连接,HTTP 是一个无状态的协议,HTTP 不 保留两个Request 之间的任何数据。HTTP 一般是建立在TCP/IP 传输层协议之上。 所以要建立HTTP 连接,浏览器需要知道服务器的IP 地址。浏览器通过查询DNS 找到服务器IP 地址。

3 HTTPS

因为HTTP 传输内容是明文,没有加密,所以客户端和服务器之间的任何一个第 三者都可以看到传输内容。HTTPS 是建立TLS(Transport Layer Security) 之上, 利用TLS 实现HTTP 加密传输。

4 负载均衡

在互联网上一个流行的服务,客户端数量往往是多于服务器,绝大多数情况下, 一台应用服务器难以支撑所有的客户端请求,所以在应用服务器之前会有负载均 衡服务器来把客户端请求发送给后台多个应用服务器。同时负载均衡服务器也可 以部署TLS 证书,HTTPS 的请求在负载均衡服务器上会被解密成原始HTTP 请求。 负载均衡服务器然后将HTTP 请求根据负载均衡策略发送给后台应用服务器。

5 应用服务器

后端开发人员的代码主要部署在应用服务器。应用服务器主要任务是接收HTTP 请求(Request),然后执行业务逻辑,返回对应的HTTP 回复(Response)。

应用服务器主要任务是执行业务逻辑,但是一般不保存数据。需要保存的数据一般保存在数据库。根据数据访问和存储特征,常用的数据库有内存数据库和传统关系型数据库。内存数据库(比如Redis)存取速度快,但是存储数据量小。关系型数据库(比如Postgres)存取速度慢,但是存储数据量大。

我们一般用内存数据库Redis 保存用户Session 数据,用Postgres 保存业务数据。


© 2015-2020 tendant