DNS查询过程
答:
DNS
用来将主机名和域名转换为IP地址, 其查询过程一般通过以下步骤:
- 本地DNS缓存检查:首先查询本地DNS缓存,如果缓存中有对应的IP地址,则直接返回结果。
- 如果本地缓存中没有,则会向本地的DNS服务器(通常由你的互联网服务提供商(ISP)提供, 比如中国移动)发送一个DNS查询请求。
- 如果本地DNS解析器有该域名的ip地址,就会直接返回,如果没有缓存该域名的解析记录,它会向根DNS服务器发出查询请求。根DNS服务器并不负责解析域名,但它能告诉本地DNS解析器应该向哪个顶级域(.com/.net/.org)的DNS服务器继续查询。
- 本地DNS解析器接着向指定的顶级域名DNS服务器发出查询请求。顶级域DNS服务器也不负责具体的域名解析,但它能告诉本地DNS解析器应该前往哪个权威DNS服务器查询下一步的信息。
- 本地DNS解析器最后向权威DNS服务器发送查询请求。 权威DNS服务器是负责存储特定域名和IP地址映射的服务器。当权威DNS服务器收到查询请求时,它会查找
"example.com"
域名对应的IP地址,并将结果返回给本地DNS解析器。 - 本地DNS解析器将收到的IP地址返回给浏览器,并且还会将域名解析结果缓存在本地,以便下次访问时更快地响应。
- 浏览器发起连接: 本地DNS解析器已经将IP地址返回给您的计算机,您的浏览器可以使用该IP地址与目标服务器建立连接,开始获取网页内容。
CDN是什么,有什么作用?
答:
CDN是一种分布式网络服务,通过将内容存储在分布式的服务器上,使用户可以从距离较近的服务器获取所需的内容,从而加速互联网上的内容传输。
- 就近访问:CDN 在全球范围内部署了多个服务器节点,用户的请求会被路由到距离最近的 CDN 节点,提供快速的内容访问。
- 内容缓存:CDN 节点会缓存静态资源,如图片、样式表、脚本等。当用户请求访问这些资源时,CDN 会首先检查是否已经缓存了该资源。如果有缓存,CDN 节点会直接返回缓存的资源,如果没有缓存所需资源,它会从源服务器(原始服务器)回源获取资源,并将资源缓存到节点中,以便以后的请求。通过缓存内容,减少了对原始服务器的请求,减轻了源站的负载。
- 可用性:即使某些节点出现问题,用户请求可以被重定向到其他健康的节点。
Cookie和Session是什么?有什么区别?
答:
(1) Cookie和Session是什么?
Cookie
和 Session
都用于管理用户的状态和身份, Cookie
通过在客户端记录信息确定用户身份,Session
通过在服务器端记录信息确定用户身份。
- Cookie
- 通常,服务器会将一个或多个
Cookie
发送到用户浏览器,然后浏览器将这些Cookie
存储在本地。 - 服务器在接收到来自客户端浏览器的请求之后,就能够通过分析存放于请求头的
Cookie
得到客户端特有的信息,从而动态生成与该客户端相对应的内容。
- Session
客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session
。Session 主要用于维护用户登录状态、存储用户的临时数据和上下文信息等。服务器为每个用户分配一个唯一的Session ID
,通常存储在Cookie
中。
(2) Cookie和Session的区别?
- 存储位置:
Cookie
数据存储在用户的浏览器中,而Session
数据存储在服务器上。 - 数据容量:
Cookie
存储容量较小,一般为几 KB。Session
存储容量较大,通常没有固定限制,取决于服务器的配置和资源。 - 安全性:由于
Cookie
存储在用户浏览器中,因此可以被用户读取和篡改。相比之下,Session 数据存储在服务器上,更难被用户访问和修改。 - 生命周期:
Cookie
可以设置过期时间,Session
依赖于会话的持续时间或用户活动。 - 传输方式:
Cookie
在每次HTTP
请求中都会被自动发送到服务器,而Session ID
通常通过Cookie
或 URL 参数传递。