0.什么是网络协议,为什么要对网络协议分层?
网络协议是计算机在通信过程中要遵循的一些约定好的规则。
网络协议分层的原因:
- 易于实现和维护,因为各层之间是独立的,层与层之间不会受到影响
- 有利于标准化的制定
1.说说HTTP常用的状态码及其含义?
思路:主要考察是否掌握HTTP状态码这个基础知识点
不管面试是否需要,我们都要知道,日常开发中的这几个状态码的含义:
2.HTTP常用的请求方式,区别和用途?
思路:这道题主要考察,是否掌握 HTTP 请求方式这个基础知识点,我们用的比较多的就是 GET 和 POST。
3.请简单说一下你了解的端口及对应的服务?
4.说一下计算机网络体系结构?
思路:这道题主要考察 计算机网络体系结构这个基础知识点。计算机网络体系结构有三层:ISO 七层模型、TCP/IP四层模型、五层体系结构。大家需要记住如下图
4.1 ISO 七层模型
ISO七层模型师国际标准化组织(International Organization for Standization)指定的一个用于计算机或通信系统间互联的标准体系。OSI七层模型详解
- 应用层:网络服务与最终用户的一个接口:常见的协议有 HTTP FTP SMTP DNS
- 表示层:数据的表示、安全、压缩。确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。
- 会话层:建立、管理、终止会话,对应主机进程,指本地主机与远程主机正在进行的对话。
- 传输层:定义传输数据的协议端口号,以及流控与差错校验,协议有TCP UDP
- 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择,协议有 ICMP IGMP IP 等等
- 数据链路层:在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路。
- 物理层:建立、维护、断开物理连接。
4.2 TCP/IP 四层模型
- 应用层:对应于 OSI 参考模型的(应用层、表示层、会话层)。
- 传输层: 对应 OSI 的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。
- 网际层:对应于 OSI 参考模型的网络层,主要解决主机到主机的通信问题。
- 网络接口层:与 OSI 参考模型的数据链路层、物理层对应。
4.3 五层体系结构
- 应用层:对应于 OSI 参考模型的(应用层、表示层、会话层)。
- 传输层:对应 OSI 参考模型的的传输层
- 网络层:对应 OSI 参考模型的数据链路层
- 数据链路层:对应 OSI 参考模型的数据链路层
- 物理层:对应 OSI 参考模型的物理层
5.如何理解 HTTP 协议是无状态的
思路: 这道题主要考察候选人,是否理解 Http 协议,它为什么是无状态的呢?如何使它有状态呢?
如何理解无状态这个词呢?
HTTP的无状态,指协议对于事务处理没有记忆能力,不对通信状态进行保存,服务器无法判断用户身份。即打开一个服务器上的网页和上一次打开这个服务器上的网页之间没有任何联系。服务器不会去记住你是谁,所以是无状态协议。
可以通过一个生活中的例子,来更好理解并记住它:
有状态场景:
●小红:今天吃啥子?
●小明:罗非鱼~
●小红:味道怎么样呀?
●小明:还不错,好香。
无状态的场景:
●小红:今天吃啥子?
●小明:罗非鱼~
●小红:味道怎么样呀?
●小明:?啊?你说啥?什么鬼?什么味道怎么样?
Http 加了 Cookie 的话:
●小红:今天吃啥子?
●小明:罗非鱼~
●小红:你今天吃的罗非鱼,味道怎么样呀?
●小明:还不错,好香。
6. 从浏览器地址栏输入 url 到显示主页的过程
思路: 这道题主要考察的知识点是 HTTP 的请求过程,DNS 解析,TCP 三次握手,四次挥手这几个要点,我们都可以讲下。
1.DNS 解析,查找域名对应的 IP 地址。
2.与服务器通过三次握手,建立 TCP 连接
3.向服务器发送 HTTP 请求
4.服务器处理请求,返回网页内容
5.浏览器解析并渲染页面
6.TCP 四次挥手,连接结束