网站建设需要那些基础国内设计好的网站案例
你在浏览器中输出了一个地址,回车后,一直到显示页面,中间经历了哪些过程 ?
1. 用户输入 URL 并按下回车
- 用户在浏览器的地址栏中输入一个 URL(例如 
http://example.com)并按下回车键。 
2. DNS 解析
- 浏览器检查本地缓存中是否有该域名对应的 IP 地址。
 - 如果本地缓存没有,浏览器会向本地 DNS 服务器(通常是由 ISP 提供)发送 DNS 查询请求。
 - 本地 DNS 服务器查找该域名的 IP 地址,如果找不到,会递归查询上级 DNS 服务器,直到找到对应的 IP 地址。
 - 找到 IP 地址后,DNS 服务器将其返回给浏览器。
 
3. 建立 TCP 连接
- 浏览器使用之前获得的 IP 地址,通过 TCP/IP 协议与目标服务器建立连接。
 - 浏览器向服务器的默认端口(通常是 80 或 443)发送 TCP SYN 请求,开始三次握手过程: 
- 浏览器发送 SYN 包。
 - 服务器收到 SYN 包后,回复 SYN-ACK 包。
 - 浏览器收到 SYN-ACK 包后,回复 ACK 包,三次握手完成,TCP 连接建立。
 
 
4. 发送 HTTP 请求
- TCP 连接建立后,浏览器向服务器发送 HTTP 请求: 
- 请求行(Request Line):包含请求方法(GET、POST 等)、请求 URL 和 HTTP 版本。
 - 请求头(Headers):包含浏览器的各种信息,如 User-Agent、Accept、Host 等。
 - 请求体(Body):在 GET 请求中通常为空,在 POST 请求中包含提交的数据。
 
 
5. 服务器处理请求
- 服务器收到请求后,根据请求的 URL 和其他信息,进行处理。
 - 服务器可能需要: 
- 读取静态资源(如 HTML、CSS、JavaScript 文件等)。
 - 调用后台程序(如 PHP、Python、Java 等)生成动态内容。
 - 查询数据库以获取数据。
 
 - 处理完成后,服务器将生成 HTTP 响应。
 
6. 服务器发送 HTTP 响应
- HTTP 响应包含以下部分: 
- 状态行(Status Line):包含 HTTP 版本、状态码(如 200 OK、404 Not Found 等)。
 - 响应头(Headers):包含服务器信息、内容类型、内容长度等。
 - 响应体(Body):包含请求的实际内容(如 HTML 页面、图像等)。
 
 
7. 浏览器接收响应并渲染页面
- 浏览器接收到服务器的响应后,开始解析 HTML 内容。
 - 浏览器根据 HTML 内容,逐步下载并解析嵌入的资源(如 CSS、JavaScript、图像等)。
 - 浏览器构建 DOM 树(Document Object Model)和 CSSOM 树(CSS Object Model),结合成渲染树(Render Tree)。
 - 浏览器根据渲染树进行布局计算,将元素放置在正确的位置。
 - 浏览器绘制页面,将内容显示在屏幕上。
 
8. 执行 JavaScript 和动态更新页面
- 浏览器继续解析并执行嵌入的或外部引用的 JavaScript 代码。
 - JavaScript 代码可能进行 DOM 操作或通过 AJAX 请求获取更多数据,动态更新页面内容。
 
总结
整个过程涉及 DNS 解析、TCP 连接、HTTP 请求和响应、页面解析和渲染、JavaScript 执行等多个步骤。每个步骤都可能涉及多个底层协议和技术细节,共同确保用户最终能够看到完整的网页。

