关注
一、四层模型分层
TCP/IP四层模型包括以下层次:
1. **应用层**:处理特定应用程序的细节,例如HTTP、FTP等协议都在此层工作。
2. **传输层**:为两台主机上的应用程序提供端到端的通信。主要协议有TCP(传输控制协议)和UDP(用户数据报协议)。
3. **网络层**:负责数据包的路由和转发,通过IP协议实现。
4. **网络接口层**:也称为数据链路层和物理层,处理物理层上的比特流的接收和发送。
二、HTTP和HTTPS的区别
1. **安全性**:
- HTTPS比HTTP更安全,因为它在传输数据前***L/TLS握手进行加密,防止数据被窃取或篡改。HTTP则以明文形式传输数据,安全性较低。
2. **连接方式**:
- HTTP是无状态、明文传输的协议,连接较简单。
- HTTPS在TCP三次握手后,还需进行SSL/TLS握手以建立安全连接,过程更复杂且耗时。
3. **端口号**:
- HTTP默认使用80端口。
- HTTPS默认使用443端口。
4. **证书要求**:
- HTTPS需要数字证书验证服务器身份,确保连接到正确的服务器。HTTP则不需要证书。
三、TCP头部
TCP头部通常为20字节,包含以下主要字段:
1. **源端口和目的端口**:各16位,标识发送和接收方的应用程序端口号。
2. **序列号**:32位,标识TCP报文段中数据字节流的顺序。
3. **确认号**:32位,期望收到对方下一个报文段的第一个数据字节的序号。
4. **数据偏移**:4位,指示TCP报文段数据起始处与TCP报文段起始处的距离。
5. **保留**:6位,保留供未来使用,当前应设为0。
6. **控制位**:6位,包括URG(紧急指针有效)、ACK(确认号有效)、PSH(尽快将报文段交给应用层)、RST(重置连接)、SYN(发起连接同步序号)、FIN(发送端完成发送任务)。
7. **窗口大小**:16位,用于流量控制,表示接收方愿意接收的字节数。
8. **校验和**:16位,检查TCP报文段在传输过程中是否出错。
9. **紧急指针**:16位,仅在URG标志置1时有效,指出报文段中紧急数据的最后一个字节的序号。
四、InnoDB的索引
InnoDB是MySQL数据库的一种存储引擎,支持多种索引类型:
1. **聚簇索引**:即主键索引,数据行的物理存储顺序与索引顺序一致。InnoDB会自动为主键创建聚簇索引,若无主键则选择唯一非空索引代替,若无此类索引则隐式定义主键作为聚簇索引。
2. **二级索引**:即非聚簇索引,叶子节点存储索引值及对应的主键值。通过二级索引查找数据时,先在二级索引中找到主键值,再通过主键值在聚簇索引中查找具体数据行。
3. **联合索引**:由多个列组成的索引。使用联合索引查询时,需根据最左匹配原则,即查询条件必须包含联合索引的最左列,才能利用该联合索引优化查询。
查看原帖
点赞 评论
相关推荐
03-09 19:54
韶关学院 算法工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 三月的小目标 #
59952次浏览 866人参与
# 滴滴笔试 #
35810次浏览 204人参与
# 美团笔试 #
704259次浏览 4678人参与
# AI岗位暴涨12倍,你会转AI赛道吗? #
6494次浏览 118人参与
# 你听到的“最没用”的秋招建议 #
53788次浏览 326人参与
# 米哈游笔试 #
559183次浏览 1109人参与
# 金三银四,你的春招进行到哪个阶段了? #
18911次浏览 256人参与
# 你上一次加班是什么时候? #
138362次浏览 769人参与
# vivo笔试 #
13320次浏览 124人参与
# 小米编程考试 #
32419次浏览 153人参与
# 今天你投了哪些公司? #
183472次浏览 3120人参与
# 27届实习投递记录 #
1233次浏览 24人参与
# 秋招你经历过哪些无语的事 #
104396次浏览 600人参与
# 字节7000实习来了,你投了吗? #
5823次浏览 26人参与
# 职场上哪些行为很加分? #
337651次浏览 3736人参与
# 你感受到金三银四了嘛? #
83482次浏览 678人参与
# AI项目实战 #
8182次浏览 402人参与
# 虽然0面试,但今天___,夸夸自己 #
11138次浏览 196人参与
# 实习学不到东西正常吗? #
9670次浏览 209人参与
# 实习进度记录 #
1213752次浏览 11766人参与
