一、基础篇
- OSI和TCP/IP网络分层模型(之间对应的关系!!!)
- TCP/IP四层中的网络接口层对应TCP/IP五层中的(物理层+数据链路层)
- TCP/IP五层中的应用层对应OSI七层中的(会话层+表示层+应用层)
- OSI七层网络模型
- 各层的功能、各层有的协议
- TCP/IP四层模型
- TCP/IP五层模型(各层作用与OSI七层相似)
- 为什么网络要分层?
- 使网络更加模块化、可扩展、易维护
二、HTTP篇
1、基本概念
- HTTP是什么
- 超文本传输协议,基于TCP。(注意理解“超文本、传输、协议”)
- HTTP常见状态码
- 200 OK、301 Moved Permanently、302 Found、400 Bad Request、403 Forbidden、404 Not Found、505 HTTP Version Not Supported
- 1××、2××、3××、4××、5××
2、Get和Post
- get和post区别
- get和post方法都是安全幂等的吗?
- get方法参数有大小限制吗?
3、HTTP/1.1、HTTP/2、HTTP/3 演变
4、HTTP和HTTPS
- HTTP和HTTPS区别?
- HTTPS = HTTP + SSL/TLS
- SSL安全协议、建立连接、端口号、CA证书
- SSL/TLS的工作原理
- TLS基于SSL。
- SSL/TLS的核心要素是非对称加密。但SSL/TLS实际对消息的加密使用的是对称加密。
三、TCP篇
❤TCP基本认识
- 什么是TCP?
- 什么是TCP连接?
- TCP头格式有哪些?
- 如何确定一个TCP连接?
- 四元组(源地址、源端口、目标地址、目标端口)
- 如何在Linux中查看TCP状态?
- netstat -napt
- TCP和UDP的区别
- 选择UDP而不选择TCP的原因
- 关于发送什么数据以及何时发送的应用层控制更为精细、无需建立连接、无连接状态、分组首部开销小
❤TCP重传、滑动窗口、流量控制、拥塞控制
- TCP协议是如何保证可靠数据传输的?
- 重传机制(解决了什么问题;了解超时重传、快速重传、SACK、D-SACK)
- TCP半连接队列和全连接队列
- TCP拆包
- 发生拆包原因、解决方案(添加首部、设置固定长度、增加边界)
- TCP粘包
- 什么是粘包?
- TCP粘包是怎么产生的?(发送端将多条消息合并在一个包中发送;接收方不能及时接收,导致收到的数据包不完整或丢失)
- TCP粘包现象处理方法(固定长度的消息、特殊字符作为边界、自定义消息结构)