输入一个网址之后都发生了什么?
在输入一个URL后,浏览器首先会进行域名解析拿到域名对应的主机IP(包括搜索浏览器的DNS缓存、操作系统的DNS、对DNS服务器发起请求等)。然后浏览器会对该IP发起TCP连接,即TCP的三次握手。在成功建立起TCP连接后,浏览器会发起HTTP Request。服务器在收到请求后作出相应的响应,比如返回一个HTML文件等。在收到响应的数据后,如果是一个HTML文件,浏览器会对其进行解析和渲染,在这个过程中浏览器会继续按照上面的方式请求HTML中的资源,比如js、css、图片等
HTTP的工作流程
- HTTP服务端监听端口,等待来自客户端的请求
- HTTP客户端与HTTP服务器建立TCP连接
- HTTP客户端发起HTTP请求
- HTTP服务端响应请求
- 关闭HTTP连接
Web服务器
Web服务器的作用
上面的例子中与浏览器进行交互的HTTP服务器就是Web服务器。而Web服务器的主要工作也就是响应客户端(比如浏览器)的请求。概括地说,Web服务器是可以向发出请求的浏览器提供文档(可以是一个HTML网页、文件等等)的程序。
虽然说Web服务器的主要工作就是响应客户端的请求。但是实际中的 Web 服务器远远比上面示例的复杂的多,因为要考虑的因素实在是太多了,比如:
- 缓存机制&#x