用户访问一个 Web 站点的过程
一个 Web 服务器也被称为 HTTP 服务器,它通过 HTTP 协议与客户端通信。这个客户端通
常指的是 Web 浏览器(其实手机端客户端内部也是浏览器实现的)。
Web 服务器的工作原理可以简单地归纳为:
• 客户机通过 TCP/IP 协议建立到服务器的 TCP 连接
• 客户端向服务器发送 HTTP 协议请求包,请求服务器里的资源文档
• 服务器向客户机发送 HTTP 协议应答包,如果请求的资源包含有动态语言的内容,
那么服务器会调用动态语言的解释引擎负责处理“动态内容”,并将处理得到的数据返回给
客户端
• 客户机与服务器断开。由客户端解释 HTML 文档,在客户端屏幕上渲染图形结果
一个简单的 HTTP 事务就是这样实现的,看起来很复杂,原理其实是挺简单的。需要注意的
是客户机与服务器之间的通信是非持久连接的,也就是当服务器发送了应答后就与客户机
断开连接,等待下一次请求。
URL 和 DNS 解析
我们浏览网页都是通过 URL 访问的,那么 URL 到底是怎么样的呢?
URL(Uniform Resource Locator)是“统一资源定位符”的英文缩写,用于描述一个网络上的
资源, 基本格式如下
schema://host[:port#]/path/.../?query-string
scheme 指定低层使用的协议(例如:http, https, ftp)
host HTTP 服务器的 IP 地址或者域名
port# HTTP 服务器的默认端口是 80,这种情况下端口号可以省略。如果使用了别的端口,必须指
明,例如 http://www.cnblogs.com:8080/
path 访问资源的路径
query-string 发送给 http 服务器的数据
anchor 锚
DNS(Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机
和网络服务命名系统,它用于 TCP/IP 网络,它从事将主机名或域名转换为实际 IP 地址的
工作。DNS 就是这样的一“翻译官”。