注册过域名后怎么建设网站,网站开发 打标签,软件开发在哪能看,wordpress模板页文章目录 前言计算机网络基础一、网络分层模型 HTTP一、从输入URL到页面显示发生了什么#xff1f;二、Http的状态码有哪些#xff1f;三、 HTTP与HTTPS有什么区别#xff1f;四、URI 和 URL 的区别是什么?五、Cookie和Session有什么区别#xff1f;六、GET与POST WebSock… 文章目录 前言计算机网络基础一、网络分层模型 HTTP一、从输入URL到页面显示发生了什么二、Http的状态码有哪些三、 HTTP与HTTPS有什么区别四、URI 和 URL 的区别是什么?五、Cookie和Session有什么区别六、GET与POST WebSocket一、什么是 WebSocket? Ping一、PING命令的作用是什么 DNS一、DNS的作用是 TCP与UDP一、TCP与UDP的区别二、什么时候选择 TCP什么时候选 UDP?三、TCP 三次握手和四次挥手非常重要四、全连接和半连接五、为什么要三次握手?六、TCP四次挥手七、TCP如何保证传输的可靠性 IP一、IP 协议的作用是什么二、什么是 IP 地址IP 寻址如何工作 ARP地址解析协议一、什么是 Mac 地址二、ARP 协议解决了什么问题 前言
主要强化计算机基础中的计算机网络本篇主要深入理解计算机网络的重点面试题 计算机网络基础
一、网络分层模型
首先是osi七层模型分别是物数网传会表应。OSI七层模型是一种理想模型把网络通信过程分为七层。
物理层主要负责物理介质上的传输。数据链路层负责同一网络之间的可靠数据传输包括帧的封装、传输、确认和错误检测与纠正。网络层负责数据包的路由与转发。传输层负责提供端到端的传输服务确保数据的完整性和可靠传输。会话层负责管理控制应用程序之间的会话。表示层负责数据格式化和转换确保不同系统之间的数据能够被正确理解。应用层负责提供直接面向用户的网络服务和应用程序的接口。 现在基本都用的是TCP/IP四层模型该模型简化了OSI七层模型。由应用层、传输层、网络层、网络接口层组成。 HTTP
一、从输入URL到页面显示发生了什么 在浏览器中输入指定网页的 URL。浏览器通过 DNS 协议获取域名对应的 IP 地址。浏览器根据 IP 地址和端口号向目标服务器发起一个 TCP 连接请求。浏览器在 TCP 连接上向服务器发送一个 HTTP 请求报文请求获取网页的内容。服务器收到 HTTP 请求报文后处理请求并返回 HTTP 响应报文给浏览器。浏览器收到 HTTP 响应报文后解析响应体中的 HTML 代码渲染网页的结构和样式同时根据 HTML 中的其他资源的 URL如图片、CSS、JS 等再次发起 HTTP 请求获取这些资源的内容直到网页完全加载显示。浏览器在不需要和服务器通信时可以主动关闭 TCP 连接或者等待服务器的关闭请求。
二、Http的状态码有哪些 200 成功 400 参数不合法 401 需要认证 403 请求不合法 404 资源未找到
三、 HTTP与HTTPS有什么区别
端口号不同、前缀不同、安全性和资源消耗不同、SEO搜索引擎优化。
四、URI 和 URL 的区别是什么?
URI是统一资源标志符可以唯一标识一个资源。 URL是统一资源定位符可以提供该资源的路径。
URI 的作用像身份证号一样URL 的作用更像家庭住址一样。URL 是一种具体的 URI它不仅唯一标识资源而且还提供了定位该资源的信息。
五、Cookie和Session有什么区别
Session的主要作用就是通过服务端记录用户的状态。因为 HTTP 协议是无状态的。服务端给特定的用户创建特定的 Session 之后就可以标识这个用户并且跟踪这个用户了。
Cookie的主要作用在客户端记录用户状态。Cookie 数据保存在客户端(浏览器端)Session 数据保存在服务器端。相对来说 Session 安全性更高。如果使用 Cookie 的一些敏感信息不要写入 Cookie 中最好能将 Cookie 信息加密然后使用到的时候再去服务器端解密。
六、GET与POST
GET 和 POST 是 HTTP 协议中两种常用的请求方法。
语义主要区别GET 通常用于获取或查询资源而 POST 通常用于创建或修改资源。
格式GET 请求的参数通常放在 URL 中形成查询字符串querystring而 POST 请求的参数通常放在请求体body中。
安全性GET 请求和 POST 请求如果使用 HTTP 协议的话那都不安全因为 HTTP 协议本身是明文传输的必须使用 HTTPS 协议来加密传输数据。另外GET 请求相比 POST 请求更容易泄露敏感数据因为 GET 请求的参数通常放在 URL 中。
WebSocket
一、什么是 WebSocket?
WebSocket是一种网络通讯协议它允许在单个TCP连接上进行全双工通讯。这意味着客户端和服务器可以同时发送和接收数据而不需要等待对方的响应。WebSocket 常用于需要实时通信的应用场景比如在线游戏、股票交易、聊天应用等。
Ping
一、PING命令的作用是什么
PING 命令是一种常用的网络诊断工具经常用来测试网络中主机之间的连通性和网络延迟。
DNS
一、DNS的作用是
DNSDomain Name System域名管理系统是当用户使用浏览器访问网址之后使用的第一个重要协议。DNS 要解决的是域名和 IP 地址的映射问题。
TCP与UDP
一、TCP与UDP的区别 是否面向连接UDP 在传送数据之前不需要先建立连接。而 TCP 提供面向连接的服务在传送数据之前必须先建立连接数据传送结束后要释放连接。是否是可靠传输远地主机在收到 UDP 报文后不需要给出任何确认并且不保证数据不丢失不保证是否顺序到达。TCP 提供可靠的传输服务TCP 在传递数据之前会有三次握手来建立连接而且在数据传递时有确认、窗口、重传、拥塞控制机制。通过 TCP 连接传输的数据无差错、不丢失、不重复、并且按序到达。是否有状态这个和上面的“是否可靠传输”相对应。TCP 传输是有状态的这个有状态说的是 TCP 会去记录自己发送消息的状态比如消息是否发送了、是否被接收了等等。为此 TCP 需要维持复杂的连接状态表。而 UDP 是无状态服务简单来说就是不管发出去之后的事情了这很渣男。传输效率由于使用 TCP 进行传输的时候多了连接、确认、重传等机制所以 TCP 的传输效率要比 UDP 低很多。传输形式TCP 是面向字节流的UDP 是面向报文的。
二、什么时候选择 TCP什么时候选 UDP?
UDP一般用于即时通讯比如语音、 视频、直播等等。这些场景对传输数据的准确性要求不是特别高比如你看视频即使少个一两帧实际给人的感觉区别也不大。TCP 用于对传输准确性要求特别高的场景比如文件传输、发送和接收邮件、远程登录等等。
三、TCP 三次握手和四次挥手非常重要
建立一个 TCP 连接需要“三次握手”缺一不可
一次握手:客户端发送带有 SYNSEQx 标志的数据包 - 服务端然后客户端进入 SYN_SEND 状态等待服务端的确认二次握手:服务端发送带有 SYNACK(SEQy,ACKx1) 标志的数据包 – 客户端,然后服务端进入 SYN_RECV 状态三次握手:客户端发送带有 ACK(ACKy1) 标志的数据包 – 服务端然后客户端和服务端都进入ESTABLISHED 状态完成 TCP 三次握手。
四、全连接和半连接
半连接队列也称 SYN Queue当服务端收到客户端的 SYN 请求时此时双方还没有完全建立连接它会把半连接状态的连接放在半连接队列。全连接队列也称 Accept Queue当服务端收到客户端对 ACK 响应时意味着三次握手成功完成服务端会将该连接从半连接队列移动到全连接队列。如果未收到客户端的 ACK 响应会进行重传重传的等待时间通常是指数增长的。如果重传次数超过系统规定的最大重传次数系统将从半连接队列中删除该连接信息。
五、为什么要三次握手?
三次握手的目的是建立可靠的通信信道说到通讯简单来说就是数据的发送与接收而三次握手最主要的目的就是双方确认自己与对方的发送与接收是正常的。
第一次握手Client 什么都不能确认Server 确认了对方发送正常自己接收正常第二次握手Client 确认了自己发送、接收正常对方发送、接收正常Server 确认了对方发送正常自己接收正常第三次握手Client 确认了自己发送、接收正常对方发送、接收正常Server 确认了自己发送、接收正常对方发送、接收正常
六、TCP四次挥手
TCP 是全双工通信可以双向传输数据。任何一方都可以在数据传送结束后发出连接释放的通知待对方确认后进入半关闭状态。当另一方也没有数据再发送的时候则发出连接释放通知对方确认后就完全关闭了 TCP 连接。
举个例子A 和 B 打电话通话即将结束后。
第一次挥手A 说“我没啥要说的了”第二次挥手B 回答“我知道了”但是 B 可能还会有要说的话A 不能要求 B 跟着自己的节奏结束通话第三次挥手于是 B 可能又巴拉巴拉说了一通最后 B 说“我说完了”第四次挥手A 回答“知道了”这样通话才算结束。
七、TCP如何保证传输的可靠性
数据包编号TCP给每个数据包分配一个序列号这样接收方就可以按正确的顺序重新组装数据。确认应答ACK接收方收到数据包后会发送一个确认应答给发送方表明数据包已成功接收。超时重传如果发送方在一定时间内没有收到确认应答它会重新发送数据包。流量控制TCP使用滑动窗口机制来控制发送速率防止接收方被大量数据淹没。拥塞控制TCP通过检测网络拥塞并相应地调整数据传输速率来减少丢包。数据校验TCP使用校验和来检测数据在传输过程中是否出现错误。
IP
一、IP 协议的作用是什么
IPInternet Protocol网际协议 是 TCP/IP 协议中最重要的协议之一属于网络层的协议主要作用是定义数据包的格式、对数据包进行路由和寻址以便它们可以跨网络传播并到达正确的目的地。目前 IP 协议主要分为两种一种是过去的 IPv4另一种是较新的 IPv6目前这两种协议都在使用但后者已经被提议来取代前者。
二、什么是 IP 地址IP 寻址如何工作
每个连入互联网的设备或域如计算机、服务器、路由器等都被分配一个 IP 地址Internet Protocol address作为唯一标识符。
当网络设备发送 IP 数据包时数据包中包含了 源 IP 地址 和 目的 IP 地址 。源 IP 地址用于标识数据包的发送方设备或域而目的 IP 地址则用于标识数据包的接收方设备或域。这类似于一封邮件中同时包含了目的地地址和回邮地址。
网络设备根据目的 IP 地址来判断数据包的目的地并将数据包转发到正确的目的地网络或子网络从而实现了设备间的通信。
这种基于 IP 地址的寻址方式是互联网通信的基础它允许数据包在不同的网络之间传递从而实现了全球范围内的网络互联互通。IP 地址的唯一性和全局性保证了网络中的每个设备都可以通过其独特的 IP 地址进行标识和寻址。
ARP地址解析协议
一、什么是 Mac 地址
MAC 地址的全称是 媒体访问控制地址Media Access Control Address。如果说互联网中每一个资源都由 IP 地址唯一标识IP 协议内容那么一切网络设备都由 MAC 地址唯一标识。
可以理解为MAC 地址是一个网络设备真正的身份证号IP 地址只是一种不重复的定位方式比如说住在某省某市某街道的张三这种逻辑定位是 IP 地址他的身份证号才是他的 MAC 地址也可以理解为 MAC 地址是身份证号IP 地址是邮政地址。MAC 地址也有一些别称如 LAN 地址、物理地址、以太网地址等。
二、ARP 协议解决了什么问题
ARP 协议全称 地址解析协议Address Resolution Protocol它解决的是网络层地址和链路层地址之间的转换问题。因为一个 IP 数据报在物理上传输的过程中总是需要知道下一跳物理上的下一个目的地该去往何处但 IP 地址属于逻辑地址而 MAC 地址才是物理地址ARP 协议解决了 IP 地址转 MAC 地址的一些问题。