文章目录
- 前言
- 计算机网络基础
- 一、网络分层模型
- HTTP
- 一、从输入URL到页面显示发生了什么?
- 二、Http的状态码有哪些?
- 三、 HTTP与HTTPS有什么区别?
- 四、URI 和 URL 的区别是什么?
- 五、Cookie和Session有什么区别?
- 六、GET与POST
前言
主要强化计算机基础中的计算机网络,本篇主要深入理解计算机网络的重点面试题
计算机网络基础
一、网络分层模型
首先是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 中。