===============================================================
1991年 8月
-
我叫
客户端
,英文名字client
。 -
她叫
服务端
,英文名字server
。
这一年,我们出生了。
是的,我们都是90后。
我爱她,可是她却远在天边。
为了和她可以互诉衷肠,我同时发明了HTTP协议。
一门世界上只有我和她能懂的语言,一种世界上只有我和她能懂的浪漫。
虽然我只能给她发出GET
操作,她也只能返回HTML
文档,但是已足够了。
当我发出 GET /index.html
时 她会返回
可能在她看来,我也是她的全世界吧
。
我知道自己还不完美,所以给自己命名0.9版本
,我期待未来自己也能变得更好。
===============================================================
1996年 5月
这是我的第二篇日记。
-
原谅我很少写日记,毕竟一位知名人物说过:“正常人谁写日记啊?!”
-
之前我只和她分享HTML,这已经远远不能满足我了,现在我还想和她分享图像、视频、二进制文件。
-
另外,我也想要和她有更多的接触,就像恋人除了牵手还想要拥抱接吻,我除了
GET还想要POST,HEAD
。
再次,在我的强烈要求下,每次交流能不能给点提示,省得老是被吐槽不解风情。所以,除了数据部分,每次通信加上了头信息
,大家都有个心理准备这次要干吗。
比如在请求数据头信息, Accept: */*会告诉她我能接受的数据类型,她若返回数据 Content-Type:image/jpeg我就知道她要分享自己的美照,Content-Type:video/mp4我就知道可以看到她美美的视频。
最后,唉,女孩子有时候真的是有点啰嗦的,所以我又在HTTP协议里加了Content-Encoding
,暗示她可以压缩一下数据。
比如 我会用 Accept-Encoding: gzip, deflate
来告诉她我能接受的压缩类型,而Content-Encoding: gzip
就是告诉我她的实际压缩类型。
可以看出来现在HTTP协议复杂了很多,但是我想说这是我们俩的特殊密码,我愿意记录下来,成为一份美好的回忆。
另外一个很尴尬的问题就是,她觉得我不太久,每个Tcp链接只能发送一个请求,发送数据就关闭,这让我很苦恼,所以有些浏览器在请求时,用了一个非标准的Connection字段
。
Connection: keep-alive
这样她就知道,我这次时间真的长了,不要再轻易断开链接。
不过遗憾的是,这个并没有纳入标准。
不管咋样,我觉得HTTP这次改的也算像模像样了,所以就命名1.0
吧。
有了这个里程碑,我和我的服务端之后交流可以更加丰富多彩了。
毕竟异地恋,最重要的还是有效、丰富的沟通。
===============================================================
- 1997年1月
随着我们深入了解,我觉得我更爱她了,所以愿意做更多的事情。
- 作为男人最大的尊严,我首先把
Connection: keep-alive
纳入标准,即没有声明默认不关闭。
其次,我已经受不了我一问她一答这个模式,我想尽可能一次把我更多的爱意发出去,
所以我引入管道机制
,允许我同时发出多个请求,当然她还是按照顺序,先后回应即可,最起码我已经做到位了。
我的付出也是有回报的,server也很体贴的给我传回来 Content-Length字段
,好让我方便知道她给了我多少数据。
但是有时候她要说的话太多了,我真的不想等待太久她处理完了才有回应,所以除了Content-Length,我同时在HTTP增加了Transfer-Encoding字段
,就表明回应将由数量未定的数据块组成。
比如 每个非空的数据块之前,会有一个16进制的数值,表示这个块的长度。最后是一个大小为0的块,就表示本次回应的数据发送完了。下面是一个例子。
HTTP/1.1 200 OK
Content-Type: text/plain
Transfer-Encoding: chunked
25
This is the data in the first chunk
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
总结
无论是哪家公司,都很重视高并发高可用的技术,重视基础,重视JVM。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
最后我整理了一些面试真题资料,技术知识点剖析教程,还有和广大同仁一起交流学习共同进步,还有一些职业经验的分享。
M。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
最后我整理了一些面试真题资料,技术知识点剖析教程,还有和广大同仁一起交流学习共同进步,还有一些职业经验的分享。
[外链图片转存中…(img-H61SHUPx-1711728600470)]