先来一个讲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.csdn.net/magister_feng/article/details/8634518
http://blog.csdn.net/xijiaohuangcao/article/details/6105623
http://blog.csdn.net/yipiankongbai/article/details/24435977

让人糊里糊涂的HTTP、TCP、UDP、Socket相关推荐

  1. Linux Kernel TCP/IP Stack — Socket Layer — TCP/UDP Socket 网络编程

    目录 文章目录 目录 TCP/UDP Socket 逻辑架构 创建 Socket 绑定 Socket 请求建立 Socket 连接 监听 Socket 接受请求 关闭连接 数据的发送和接收 send ...

  2. TCP/UDP,SOCKET,HTTP,FTP协议简析

    (一)TCP/UDP,SOCKET,HTTP,FTP简析 TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层: 网络层:IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议 传 ...

  3. 网络调试工具TCP/UDP socket的使用

    TCP/UDP socket调试工具的使用,可以在想服务器发送命令,或者查看服务器返回的数据. 打开界面后选择左边客户端还是服务端,使用TCP还是udp,点击创建相应的模拟环境.

  4. TCP UDP socket http webSocket 之间的关系

    阅读目录 OSI & TCP/IP 模型 几者之间的关系 HTTP Socket WebSocket webSocket 概念 webSocket 优点 Websocket 的作用 ajax轮 ...

  5. TCP/UDP/Socket 通俗讲解

    1.封包和拆包 封包,就是发送数据前把自己本地需要发送的数据包装一下,即把要发送的原始数据附加上接受者可以辨识到自己身份等一些额外信息.有点像寄一封信,信封上填写的寄件人和收件人以及地址. 拆包,是接 ...

  6. python(18):网络编程(七层协议+tcp/udp+socket编程)

    Python作为最热门的语言,使我们每个人应该学习的一门技术! 本文针对初学者,我会用最容易的方式告诉你如何入门python! 一.基本网络概念 1.计算机之间如何进行联机 早期: 以太网:局域网与交 ...

  7. Java TCP/UDP socket 编程流程总结

    最近正好学习了一点用java socket编程的东西.感觉整体的流程虽然不是很繁琐,但是也值得好好总结一下. Socket Socket可以说是一种针对网络的抽象,应用通过它可以来针对网络读写数据.就 ...

  8. tcp/udp socket编程异同

    一.TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) UDP程序结构较简单 流模式与数据报模式 TCP保证数据正确性,UDP可能丢包 TCP保证数据顺序,UDP不保证 ...

  9. TCP/UDP/SOCKET/HTTP浅谈

    1.TCP 和 UDP两者区别: 一.概念的区别:TCP 是面向连接的传输控制协议 , UDP提供了一种无需连接的数据报服务 二.核心的区别:TCP具有高可靠性,确保传输数据的正确性,不出现丢失或乱序 ...

  10. [网络] SOCKET, TCP/UDP, HTTP, FTP

    (一)TCP/UDP,SOCKET,HTTP,FTP简析 TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层: 网络层:IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议 传 ...

最新文章

  1. python时间序列动图_手把手教你用Python进行时间序列分解和预测
  2. “四非”高校南京工业大学,17天内三连击Nature、Science!实为深藏不露
  3. AntDB上使用uuid
  4. win10运行C语言的程序,win10系统运行软件提示应用程序发生异常0xc0000409的具体教程...
  5. dos 一行两条命令
  6. 使用SAP CRM中间件XIF(External Interface)一步步创建服务订单
  7. 为特使构建控制平面的指南-为可插入性构建
  8. linux无法安装php-fpm,Linux下的php-fpm相关问题解决
  9. CSS3否定伪类选择器
  10. linux内核module_init,Linux内核模块中module_init和init_module有什么区别?
  11. Intel CPU 易受新型的 SGAxe 和 CrossTalk 侧信道攻击
  12. 通过rsync备份静态文件
  13. 南航考研计算机学院学硕分数,2019南航计算机我考上啦!
  14. PS套索工具抠图及快捷键
  15. 能煮熟鸡蛋的慢 SQL!阿里巴巴数据中心的“煮蛋史”!
  16. Java小白 学习笔记(二)——2020版Java语言基础
  17. Specular Highlights(镜面光)
  18. 使用teamviewer和向日葵时Visual studio等软件显示全白或者全黑的解决办法!
  19. 数据采集系统的抗干扰措施
  20. 运动控制卡讲解及实例应用

热门文章

  1. UIDataCollector的下载和使用
  2. pythonpost请求json_将JSON字符串作为post请求发送
  3. 详解数据库三大范式、BCNF范式
  4. 利用python构建马科维茨_如何用python实现Markowitz投资组合优化
  5. android 雷达扫描动画,Android编程简单实现雷达扫描效果
  6. 网易云轻舟微服务斩获“创新产品奖”等两项大奖
  7. linux查看硬盘插槽_Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)
  8. usb打印机linux识别不了怎么办,打印机usb连接电脑无法识别怎么办_打印机usb插上无响应怎么办-win7之家...
  9. 八爪鱼-自定义模式采集数据
  10. java数据采集方案_java--数据采集系统.doc