概念

随手记之TCP Keepalive笔记

零。前言

TCP是无感知的虚拟连接,中间断开两端不会立刻得到通知。一般在使用长连接的环境下,需要心跳保活机制可以勉强感知其存活。业务层面有心跳机制,TCP协议也提供了心跳保活机制。

一。TCP Keepalive解读

长连接的环境下,人们一般使用业务层面或上层应用层协议(诸如MQTT,SOCKET.IO等)里面定义和使用。一旦有热数据需要传递,若此时连接已经被中介设备断开,应用程序没有及时感知的话,那么就会导致在一个无效的数据链路层面发送业务数据,结果就是发送失败。…

    

幽默讲解 Linux 的 Socket IO 模型

前言

之前有看到用很幽默的方式讲解Windows的socket IO模型,借用这个故事,讲解下linux的socket IO模型;

老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。
他们的信会被邮递员投递到他们小区门口的收发室里。这和Socket模型非常类似。

下面就以老陈接收信件为例讲解linux的 Socket I/O模型。…

internet协议入门

前言

劳于读书,逸于作文。

博主之前写过一篇博客:网络协议分析,在这篇博客里通过抓包,具体的分析了不同网络协议的传送的数据和传送的方式。而此篇博客则用来作为一个大纲式的内容,按照层级划分,逐步介绍各层级的协议以及他们所起的作用。若有错误之处,欢迎批评指正。…

        

多形态MVC式Web架构的分类

关键要点


  • MVC已成为每一代软件开发人员所最早接触到的软件开发原则之一。
  • MVC应被视为一种通用的架构原则和方法。
  • MVC三元组件的语义随架构环境的不同而变化。
  • 可将基于HTTP的Web MVC(WMVC)分成三个不同的类别:sWMVC、dWMVC和pWMVC。
  • 随着近期技术的进步,异步且实时观察变化的“事件循环”可用于WMVC应用的实现。
    

推荐一部短片《How TCP/IP works》

我是一个比较懂网络的人,但我不是学者,我不是老师,我也不是码农,事实上我有阅读综合症,我思维比较松散跳跃,而且我也不怎么会编程,这就意味着我不可能是一个学者,不可能成为老师,也不可能成为码农。但是,我懂网络。我想表达的并不是我多么懂网络,而是想说,我特别喜欢给别人讲我知道的东西,不光是网络技术,还包括古罗马历史,问问我身边的人就知道了...
我十年来一直期待的一个东西,如今终于有了,它是《How TCP/IP works》,我觉得所有搞网络的人都该看一下,同时,所有不搞网络的人也应该看一下,比如那些编程的人...
我只是给出了优酷的地址,但是还是在youtube上看比较好,不管怎样,按着这个题目自己找吧。
普通搞网络的人也许觉得我这里推荐的东西非常浅显,如果你持有这个想法的发,那么本资源不是推荐给你的;
非IT领域的人以及IT领域编程的人也许会觉得我在鄙视他们,并不是!事实上,我觉得编程的人很大一部分都不知道网络是怎么运作的;
最后剩下搞网络的专家,这部分人我觉得都会看完视频并叹为惊奇的。
是的,这个视频是我梦寐以求的,我一直在期待这样的东西!如果你看我的博客,并且仔细看,就会发现,我几乎一直在尝试用图片或者别的方法是分享技术,我决不使用代码分析的方式,因为我觉得那太low!要么自己写代码,要么就不要分析代码!不幸的是,大多数人,包括温州老板在内都觉的,只要看一遍Linux内核代码就登峰造极了,老板太可怜了。
...
这个片子真的超级好,影片中的所有细节我都懂,甚至更懂,但我没有能力制作这么一个视频,我甚至没有能力去讲给老婆听并且让她听得懂!幸运又讽刺的是,老婆看这个视频竟然知道了TCP/IP的基本原理!...
我敢说你也不一定懂,如果你懂,那么看完影片后除了惊奇没有别的反应,如果你不懂,那为何不看一遍这个片子呢?…

    

四种常见的 POST 提交数据方式

协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式。实际上,开发者完全可以自己决定消息主体的格式,只要最后发送的 HTTP 请求满足上面的格式就可以。

HTTP/1.1 协议(http://www.ietf.org/rfc/rfc2616.txt)规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。…