记一次看servlet源码有感

自从做程序开始,就有人说··看源码,学底层,才是真正的王道。然而近一年来,学了很多新东西,linux,docker,hadoop,luncene,python,kotlin 等,每个都是浅尝辄止,只能归结为-学过,能上手吗?快了
浏览器每天都好多个标签页,不得不多开几个窗口。有感于此,最近总是有意无意的想学习点底层的东西,原来看到很高端的陌生的词汇都想看看,现在再也不想看了。

最近想到看tomcat源码,想看看tomcat是如何接收http请求的,学习了一上午,赫然发现http请求本质上就是个socket!瞠目结舌不足以形容此刻的表情。Obviously,又复习了一遍tcp/ip 原理,三次握手等。

http 是应用层协议,socket是对tcp/ip协议(网络层与传输层)的封装,通常是操作系统封装好,语言调用就行了,所以··在socket源码里是看不到三次握手的逻辑的,只有一些流啊啥的··

所以想tomcat 这种servlet服务器不过是 说白了 创建socket,等待接收信息,收到后封装成 http 就行了,
看看 how tomcat works 第一章~豁然开朗··真的是柳暗花明又一村。感觉对网络原理也有了更深的认识,这才入了网络的门··从此步入厅堂··走向人生巅峰

学习路线总是很曲折··因为啥都不懂··所以··啥都得学
从 看tomcat源码 –> 分析tomcat启动过程 –> start.sh 了解了Linux shell 编程 –> 看how tomcat works –> 了解http协议 –> 看servlet源码 –> 了解abstract class –> 了解java socket底层

下面来对应下主题,
看servlet源码时发现这么一句话
这里写图片描述

英文能看懂··但是组不成句子··为啥 do not set the Content-Length header 第二天看了http协议,http1.1 比1.0 变化很大。

1、 持久连接
2、 管道机制
3、 Content-Length 字段
4、 分块传输编码
这里写图片描述

这样这段话就能理解了·· 嗯··最近学到不少··继续!努力!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值