青训营X豆包MarsCode 技术训练营第四课 | 豆包MarsCode AI 刷题

121 阅读3分钟

坚持就是胜利! 今天讲http,一边上课一边写笔记,哈哈。今天居然听得懂了好多。 第一节: *http协议就是超文本传输,既然是协议,就有规则,http也是。 *post协议中包括请求行,请求头,请求体。 *回复是由http开始主导的。 第二节: *http应该需要分层(盖尔定律) *应用层:和用户直接打交道 1.提供合理的API:可理解性,简单性,兼容性,可测性,可见性 *中间件层:像一个函数,输入输出。 *路由设计:map,前缀数 *协议层设计:抽象出合适接口 *网络层设计:在客户卡住时新开一个办法来处 理这种情况 第三节: *针对网络库的优化: 1.go net:复用,多次,存下全部header 流式友好,小包能性高 2.netpoll:拷贝出完整bodyGo语言中的函数名、变量名、常量名、类型名、语句标号和包名等所有的命名,都遵循一个简单的命名规则:一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线。大写字母和小写字母是不同的:heapSort和Heapsort是两个不同的名字。Go语言中类似if和switch的关键字有25个(均为小写)。关键字不能用于自定义名字,只能在特定语法结构中使用。 *针对协议的优化: Header解析 思考反思:其实今天看到http的时候就挺有兴趣的,因为我很多时候访问网站第一部分的单词就是http,今天知道了它其实是一个协议,人违规的,它并不是开头,而是在整个访问流程里面的一部分,以前我还以为它就是访问网站的开头呢。在这之前需要用户输入并进行处理以后才进入http协议的处理。接着这个http也会更新换代,通过修改和优化其实可以更好。本质上我们开发一个项目就是为了客户,所以客户使用的便利性已经我们产品与客户的交互简单性十分重要,而且客户数量大时我们要考虑我们产品的数据处理可行性。记住,你永远不知道客户怎么使用你的产品,一定要多考虑,多改进,让自己的产品切实可行以外还要有应对各种情况的能力。 继续加油!作为网络安全初学者,会遇到采用Go语言开发的恶意样本。因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识;另一方面是分享与读者,希望大家一起进步。这系列文章入门部分将参考“尚硅谷”韩顺平老师的视频和书籍《GO高级编程》,详见参考文献,并结合作者多年的编程经验进行学习和丰富,且看且珍惜吧!后续会结合网络安全进行GO语言实战深入,加油~\n\n这些年我学过各种编程语言,从最早的C语言到C++,再到C#、PHP、JAVA,再到IOS开发、Python,到最新的GO语言,学得是真的杂。有时候觉得编程语言恰恰是最简单的,而通过一门编程语言能够解决实际问题或深入底层才是其价值所在,并且当我们学好一门编程语言后(尤其C和C++),其他编程语言都非常类似,殊途同归,学起来也很迅速。