前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >程序员与网站的爱恨情仇

程序员与网站的爱恨情仇

作者头像
用户1608022
发布2018-04-11 13:16:02
6780
发布2018-04-11 13:16:02
举报

二十一世纪互联网的兴起,网站开发技术蓬勃发展,门槛也随之降低。 程序员在自己电脑上比划着鼠标装了几个软件, 打开IDE, 新建一个页面, 点一下运行按扭,网站跑了起来。

需求来了,程序员用自己顺手的编程语言,一行一行的敲着代码,实现具有各式各样功能的页面, 并把它们相互链接在一起组成一个完整的网站。

程序员在服务器上装了一套和自己工作的电脑上一样的软件 , 把做好的网页文件传到服务器上, 把软件开起来,网站就可以使用了。

做网站真的就这么简单? 程序员有一丝兴奋 ,但更多的是疑惑。 程序员能做出网站来, 并让网站跑起来, 但是却不知道网站是怎么跑起来的? 他写的那些代码似乎没有实现过这样的功能。 程序员是个好奇心很强的人, 决定把其中的来来龙去脉探究清楚。

程序员从网上了解到, 用户在浏览器访问网站的一个页面, 就是向服务器发送一次http请求, 服务器如需要有接受http请求的功能, 就必须装一个网站服务器,这个东西也就是程序员在开发网站前装的那些个软件中的其中一个。 网站服务器接收到请求后,拿到请求的链接地址和请求头部等信息进行解析 , 并把解析结果发送给另一个软件 , 这个软件认识程序员写的页面和代码, 因此, 它可以根据服务器给的解析结果找到程序员写的页面和程序并执行, 把执行的结果返还给服务器,服务器再把这个结果通过网络传回浏览器, 浏览器解析这个结果 ,最终转换成用户眼中的网页。

程序员了解这整个流程以后,非常开心, 因为自己的逼格又高了。 但是没过多久, 程序员的好奇心毛病又犯了。 他想知道浏览器发送请求给服务器后, 服务器是如何知道浏览器发送了请求给它? 服务器又是怎么样解析这个请求的?

这个问题很复杂, 而程序员又是个打破沙锅问到底的性格, 非查个水落石出不可。 程序员看遍网上各种博客和资料, 但最终还是似懂非懂。 本来程序员的目的很简单, 就想知道服务器接收http请求时做了一些什么事情? 然而一来二去却被程序员挖出了很多闻所未闻的概念,如传输控制协议、三次握手、长连接、监听端口、网络五层架构、http首部、http方法、同步异步、高并发、反向代理等等, 每一个都是难啃的硬骨头, 程序员的心很累,无力感袭上心头,他仰天长叹:“这特么是招谁惹谁了, 找孩子他爸却把他祖宗十八代给挖了出来” 。 但是程序员天生就有一副不服输的精神, 再难啃的骨头都能嚼碎了咽下去, 他买了各种晦涩难懂的技术书籍,一个字一个字的读, 一句话一句话的理解,在经历漫长痛苦的学习过程之后, 最终将这些概念全盘了然于胸。 那一刻, 程序员感觉到自己由犹如历劫成仙一般,对于http与服务器的本质看的如此的透彻。 程序员达到了目的, 好奇心得到了满足。

之后,程序员觉得自己每天像个机器人一样重复的做着新建页面、修改页面、发布页面这样的工作, 太过于浮于表面, 他决定自己写一个http服务器, 并把自己平时做在页面中的功能做到自己写的http服务器里面,这样才能更接近于http请求本身,写出来的程序性能也更高。 不依赖apache,不依赖tomcat、不依赖php, 所有功能都自己实现,这才是真正高逼格的体现。

说干就干, 程序员开始裸写服务器。 监听端口、解析请求,并发处理、业务实现、结果响应, 程序员实现了一个简单服务器该有的每一个细节, 最终, 在不依赖任何运行环境的情况下让一个网站跑了起来。

程序员很满足, 当初困扰他的重重迷雾都已散去, 他站在高处, 所有景色尽收眼底, 他由衷的发出感叹:“好一片大好的山河啊! ”。 然而, 此时程序员的心中却响起了一个声音, 这个声音似乎在问程序员:“为了这一刻你整整花了三年的时间啊, 你没日没夜的看书学习敲代码,一点娱乐活动也没有,除了电脑就是书本,连做梦的时候都想着这些东西, 你不觉得你的人生活的很无趣吗? 你年纪也不小了, 为了这些代码连女朋友都不找,你对的起你父母赋予你作为一个男人的骄傲吗? 就为了满足自己所谓的好奇心而付出这么多, 真的值得吗?”

程序员坦然微笑:“为自己所爱的事物而付出, 我不惜一切”

我就是这个程序员

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 带你撸出一手好代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档