公司网站制作需要多少钱,河北省住房城乡建设厅网站,线上推广方式都有哪些,苏州有哪些互联网大厂目录 DNS 查询服务器的基本流程DNS 采用 TCP 还是 UDP#xff0c;为什么#xff1f;默认使用 UDP 的原因需要使用 TCP 的场景#xff1f;总结 DNS 劫持是什么#xff1f;解决办法#xff1f;浏览器输入一个 URL 到显示器显示的过程#xff1f;URL 解析TCP 连接HTTP 请求页… 目录 DNS 查询服务器的基本流程DNS 采用 TCP 还是 UDP为什么默认使用 UDP 的原因需要使用 TCP 的场景总结 DNS 劫持是什么解决办法浏览器输入一个 URL 到显示器显示的过程URL 解析TCP 连接HTTP 请求页面渲染断开连接 PING 如何工作Cookie 和 Session 的区别是什么CookieSession差别 IPv4 和 IPv6 的区别什么是跨域什么情况下会发生跨域请求概念解决办法 DNS 查询服务器的基本流程
首先用户在浏览器输入域名后浏览器会先检查自身缓存若缓存中存在且未过期则直接返回对应的 IP 地址。若浏览器中无缓存则操作系统检查本地 Hosts 文件和系统 DNS 缓存。若前两步骤未命中则向本地 DNS 服务器发送递归查询请求本地 DNS 服务器无缓存则以 DNS 客户的身份向根域名服务器发出解析请求根域名服务器收到请求后判断该域名所属域将对应的顶级域名服务器的 IP 地址返回给本地域名服务器本地域名服务器向顶级域名服务器发出解析请求报文顶级域名服务器收到请求后将对应的授权域名服务器的 IP 地址返回给本地域名服务器本地域名服务器向授权域名服务器发起解析请求授权域名服务器收到请求后将查询结果返回给本地域名服务器本地域名服务器将查询结果保存到本地缓存同时将 IP 地址返回给客户机用户通过获得的 IP 地址与目标服务器建立 TCP 连接然后开始传输数据。
DNS 采用 TCP 还是 UDP为什么
DNS 主要使用 UDP用户数据报协议但在某些特定场景下会切换到 TCP传输控制协议。具体原因如下
默认使用 UDP 的原因
高效性UDP 是无连接的协议无需建立和断开连接减少了通信延迟。DNS 查询通常是简单的请求-响应模式UDP 能更快地完成单次交互。
小数据包的适用性DNS 的查询和响应通常较小不超过 512 字节UDP 单词传输即可满足需求。
低资源消耗UDP 的头部开销更小8 字节 vs. TCP 的 20 字节适合高频的 DNS 查询场景。
需要使用 TCP 的场景
响应数据过大当 DNS 响应数据超过 512 字节超过 UDP 的最大限制时服务器会返回截断标志TC 位客户端改用 TCP 重新请求TCP 支持分段传输。
区域传输主 DNS 服务器向从服务器同步全量区域数据时需通过 TCP 端口 53 完成确保大量数据的可靠传输。
DNSSEC 拓展启用 DNSSEC DNS 安全拓展后数字签名会增加响应大小可能超过 UDP 限制强制使用 TCP。
可靠性要求TCP 提供丢包重传、按需到达等机制适合数据完整性要求高的场景比如关键配置同步。
总结
常规查询UDP快速、高效
大规模传输及可靠性要求TCP如区域传输、大响应、DNSSEC。
DNS 劫持是什么解决办法
DNS 劫持是一种网络攻击手段攻击者通过篡改域名解析结果将用户引导至虚假网站或插入广告。
常见形式如下
路由器劫持攻击者入侵路由器修改 DNS 设置本地劫持恶意软件修改设备 hosts 文件或 DNS 配置ISP 劫持网络服务商主动劫持用于广告投放中间人攻击在传输链路中截获并篡改 DNS 响应。
解决办法
更换可信 DNS设备检查路由器防护网络加密定期更换重要账户密码启用双重身份验证使用网络监控工具比如 Wireshark检测异常请求
浏览器输入一个 URL 到显示器显示的过程
URL 解析
用户在浏览器输入域名后浏览器首先从自身的缓存中查找是否存在域名存在就取出对应的 IP 地址否则去 OS 缓存查找。前两步均未命中的情况下浏览器调用 OS 的 API 使操作系统开启 DNS 解析服务递归地从本地 DNS 到 根域 DNS 再到顶级域 DNS 最后到权威域 DNS 请求解析最终由权威域 DNS 返回域名的 IP 地址浏览器会对其进行缓存。
TCP 连接
在 URL 解析过程中得到真实的 IP 地址后浏览器会调用 Socket 函数根据 IP 和端口与目标建立 TCP 连接。
HTTP 请求
浏览器向服务器发送一个 HTTP 请求HTTP 协议是建立在 TCP 协议之上的应用层协议其本质是在建立起的 TCP 连接之上按照 HTTP 协议标准发送一个索要网页的请求。请求包括请求行、请求头、请求体三部分有 GET、POST 等方法。
页面渲染
服务器在收到浏览器发送的 HTTP 请求之后会将收到的 HTTP 报文封装成 HTTP Request 对象并通过不同的 Web 服务器进行处理处理完的结果以 HTTP Response 对象的形式返回包括状态码、响应头和响应报文三部分。
断开连接
数据传输完毕后客户端和服务端通过四次挥手断连。
PING 如何工作
PINGPacket Internet Groper是一种网络诊断工具用于测试两台设备之间的连通性。其核心原理是通过 ICMP 协议Internet Control Message Protocol发送探测数据包并等待响应。 ICMP主要的功能包括确认IP包是否成功送达目标地址、报告发送过程中IP包被废弃的原因、改善网络设置等。在IP通信中如果某个IP包因为某种原因未能达到目标地址具体的原因将由ICMP通知。 PING 的工作流程如下
发送 Echo Request首先源设备构造一个 ICMP Echo Request 数据包包括目标 IP、序列号和时间戳数据包经过路由器逐跳转发没经过一个路由TTL 减一若 TTL 归零则路由器丢弃包并返回 ICMP Time Exceeded 消息目标设备收到 Echo Request 后检查 ICMP 报文合法性构造 ICMP Echo Reply 报文将 Reply 发回源设备源设备收到 Echo Reply 之后计算往返时间 RTT统计丢包率。
Cookie 和 Session 的区别是什么
Cookie
Cookie 是服务器发送到用户浏览器并保存在本地的一小块数据它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常它用于告知服务器两个请求是否来自同一浏览器。
作用
会话状态管理如用户登录状态、购物车、游戏分数等其它需要记录的信息个性化设置如用户自定义设置、主题等浏览器行为跟踪分析用户行为等
Session
Session代表着服务器和客户端一次会话的过程。Session 对象存储特定用户会话所需的属性及配置信息。这样当用户在应用程序的 Web 页之间跳转时存储在 Session 对象中的变量将不会丢失而是在整个用户会话中一直存在下去。当客户端关闭会话或者 Session 超时失效时会话结束。
差别
保存形式不同Cookie 保存在客户端浏览器Session 保存在服务器存取方式不同Cookie 只能保存 ASCIISession 可保存任意数据类型有效期不同Cookie 可设置为长时间保持比如默认登录Session 一般时效较短客户端关闭或超时Session 都会失效。存储大小不同单个 Cookie 保存的数据不超过 4KSession 可存储的数据远高于 Cookie。
IPv4 和 IPv6 的区别
IPv6 的首部长度是 40 个字节相对 IPv4 的首部长度 24 字节要长但 IPv6 首部结构比 IPv4 简单。IPv6 把 IP 地址由 32 位增加到 128 位从而能够支持更大的地址空间。IPv6 简化了路由 加快了路由速度。IPv6 的可选项不放入报头而是放在一个个独立的扩展头部。如果不指定路由器不会打开处理扩展头部 IPv6 放宽了对可选项长度的严格要求 (IPv4 的可选项总长最多为 40 字节) 并可根据需要随时引入新选项。IPv6 协议支持地址自动配置这是一种即插即用的机制。IPv6 节点通过地址自动配置得到 IPv6 地址和网关地址。IPv6 支持无状态地址自动配置和状态地址自动配置两种地址自动配置方式。它会给配置 128 位的地址带来很大的方便特别是无状态地址自动配置。在 IPv6 中加入了关于身份验证、数据一致性和保密性的内容。
什么是跨域什么情况下会发生跨域请求
概念
跨域Cross-Origin是指浏览器出于安全考虑限制不同源协议、域名、端口之间的资源交互。常见的跨域场景包括
前后端分离开发时前端localhost:3000调用后端localhost:8080调用第三方 API如支付接口、地图服务多子域名系统CDN 资源加载
解决办法
Nginx使用 Nginx 作为代理服务器和用户交互用户就只需要在 80 端口上进行交互就可以了这样就避免了跨域问题。JSONP网页通过添加一个 script 元素向服务器请求 JSON 数据服务器收到请求后将数据放在一个指定名字的回调函数的参数位置传回来。缺点是只支持 get 请求不支持 post 请求。CORS跨域资源分享。