先来一个讲TCP、UDP和HTTP的关系
TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。
在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。
在传输层中有TCP协议与UDP协议。
在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。
因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。
TCP和UDP的区别
1、TCP面向连接,如打电话要先拨号建立连接;UDP是无连接的,即发送数据之前不需要建立连接,不管对方是否在线都直接发,例如QQ、短信。
2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP传输不可靠,会尽最大努力交付,即不保证可靠交付。
3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的,UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)。
Socket是什么呢?
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。
小记
昨天是10.24——程序员节,距离我的写下“【10.24中国程序员节】关于写blog这件事”这篇文章已经过去两年时间了,在这两年里我也没有放弃过写博客,博客总阅读数从100,到1000,到10000,再到现在1W多,也有不少网友曾经联系过我一起学习交流,我相信我跟你们大多数人一样,十分珍惜,也十分感动。在此期间我还开通了我的GitHub,同时也拿到了不少stars,我会继续坚持下去的。
昨天正好也是oocl来我们学校宣讲的那天,在现场做了份笔试。在笔试过程中,我发现自己放下已久的计算机网络知识是时候该好好回顾一遍了,特地写下这篇文章。写给自己,也写给那些对这些基本概念还糊里糊涂的coder新人们。
昨天的笔试题最后一题是用英文写一段话,写出你近四年印象最深刻的事情,其中有个就是写:我拥有了我的博客,我的GitHub,并且开始有一些访问量。我很开心能成为IT行业的一员,向广大coder致敬!
参考
http://blog.youkuaiyun.com/magister_feng/article/details/8634518
http://blog.youkuaiyun.com/xijiaohuangcao/article/details/6105623
http://blog.youkuaiyun.com/yipiankongbai/article/details/24435977