输入一个网址之后都发生了什么?
在输入一个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 服务器远远比上面示例的复杂的多,因为要考虑的因素实在是太多了,比如:
- 缓存机制:讲一些经常被访问的页面缓存起来,提高响应速度;
- 安全:防止黑客的各种攻击,比如 SYN Flood 攻击;
- 并发处理:如何响应不同客户端同

本文详细介绍了输入网址后HTTP的工作流程,包括TCP连接建立、HTTP请求与响应。接着,阐述了Web服务器的角色、功能以及常用服务器如Apache、Nginx等。文章还讨论了Web程序和动态资源处理,提到了CGI技术以及Web框架如Django、Flask,解释了Web框架如何简化开发。最后,简要说明了Node.js与Express的关系以及如何构建简单的Web服务器。

680

被折叠的 条评论
为什么被折叠?



