3.19
项目 当日详情
所花时间(包括上课) 课堂学习 3 小时,课后知识点梳理、代码实践与博客撰写 1.5 小时,总计 4.5 小时
代码量(行) 基于 Java Socket 实现 TCP 客户端与服务端简易通信 Demo,累计有效代码 23 行
博客量(篇) 1 篇(本篇学习日报)
了解到的知识点 1. OSI 七层模型与 TCP/IP 四层模型的分层架构与各层级核心职责;2. TCP 协议三次握手、四次挥手的可靠传输实现原理;3. UDP 协议的核心特性与适用业务场景;4. HTTP/HTTPS 协议的完整通信流程与安全加密机制;5. IP 寻址、端口号、子网掩码的核心作用与网络通信基础逻辑
今天的计算机网络课程学习,让我跳出了单纯的理论记忆,真正站在软件工程的视角,理解了网络通信是如何支撑一款软件的完整运行,也补齐了我过往软件开发中 “只知接口调用,不知底层逻辑” 的认知短板。
课堂上系统梳理网络分层模型时,我最大的收获是发现,网络分层的设计理念,和软件工程核心的 “模块化开发、高内聚低耦合” 思想完全相通。每一层只聚焦自身的核心职责,层与层之间通过标准化接口交互,这和我们做软件项目时拆分功能模块、定义接口规范的思路完全一致。这也让我意识到,软件工程的核心设计思想,贯穿在软件开发的全链路,哪怕是底层的网络通信,也遵循着同样的设计逻辑。
TCP 协议的三次握手与四次挥手是今天学习的核心重点。过去做后端接口开发时,我只知道调用 HTTP 客户端发起请求,却从未思考过 “连接如何建立”“为什么请求能可靠地传到服务端”。今天的学习让我明白,TCP 的可靠传输机制,正是绝大多数企业级软件稳定性的底层保障。比如分布式系统中服务之间的 RPC 调用,底层依赖的就是 TCP 的可靠传输能力;而三次握手的过程,本质上是通信双方的 “收发能力双向确认”,这和软件工程里接口联调前的可用性验证,有着异曲同工的逻辑。同时我也清晰认识到,四次挥手的设计,是为了保证通信双方的数据都能完整传输,这也提醒我,在后续的软件开发中,资源释放、连接关闭必须和资源申请同等重视,否则就会出现连接泄漏、资源浪费的问题,直接影响软件的整体性能。
课后我动手完成了 Socket 通信的 Demo 开发,在敲代码的过程中,真正把课堂上的理论完成了落地。从服务端绑定端口、监听连接,到客户端发起连接、收发数据,每一步都对应着课堂上学的 TCP 通信全流程。过去我总觉得计算机网络是偏底层的理论,和日常的软件工程开发距离很远,但这次实践让我明白,哪怕是最简单的 Web 应用,前后端的每一次交互,都离不开这些底层的网络逻辑。理解了这些原理,后续我在做接口调试、排查网络问题、优化接口性能时,就能从底层定位问题根源,而不是只停留在表面的代码报错上。
除此之外,HTTP 与 HTTPS 的相关学习,也让我对软件的安全性有了全新的认知。HTTPS 的对称加密 + 非对称加密结合的机制,本质上是为软件的网络通信加上了一层安全防护,这也是软件工程里 “安全设计左移” 的重要一环。在后续的项目开发中,我不能只关注功能的实现,更要从网络底层就考虑数据传输的安全,比如敏感数据的加密处理、HTTPS 证书的规范配置、接口的防篡改设计,这些都是一名合格的软件工程师必须纳入考量的内容。
浙公网安备 33010602011771号