博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浅析socket与http (转载)
阅读量:5907 次
发布时间:2019-06-19

本文共 888 字,大约阅读时间需要 2 分钟。

 现在搞开发,很难不碰到http和socket了,原以为这些东西应该是一个基础课程,不过最近例行走读了一些旧代码,发现一些代码存在着明显的瑕疵,因为很多逻辑处理过程不在同一个水平线上,感觉可能是一些基础理论上的理解导致了程序的处理并没有走最优化的路线.兴趣时间所致,随便写几句

   首选说说http.

     http全文是超文本传输协议,是一种万维网常用的协议,它是TCP协议的一种典型上的应用,而TCP协议有一个典型的特点,个人认为非常的不好,就是"三次握手",你说你一次性给我说明白了不好,还非要一来一去,又不是谈恋爱.当然了,玩笑归玩笑,记住这个特征,因为很多时候我们都会忘记这个基本特征.

     http还有一个特点是"断链接",你也可以说是短链接,不过用"断链接"我觉的更合适.也就是说当我们用http协议打开一个信息点的时候,信息读取完毕双方会自动断开.

    再说说socket

      socket(套接字)是TCP/IP协议的基本操作单元。它是网络通信过程中端点的抽象表示。同HTTP不同的是http只能走tcp,socket不仅能走tcp,而且还能走udp,这个是socket的第一个特点

      socket的另外一个特点是他可以是"长链接",也就是说除非双方主动断开,否则,他不会自动断开.这个特点非常的好,很多应用都会需要长链接,不过缺点是他太博爱了,来者不拒,而且还不好检查,所以,为了保持服务器资源的最大利用率,通常我们会要求双方通过定时的心跳方式来确认长链接的有效性.只要心跳不存在,服务器就可以及时剔除掉这些死链接.

     ok,这样一分析,一的意思是我们就能理解了常规处理下,哪些地方用"PUSH", 哪些地方用"PUll"了.二的意思也就是说在TCP的握手协议的基础上,我们是完全可以通过socket的互相应答的方式实现http的请求-应答传输的.尤其是在一些特定的应用下,使用简单的socket模拟http,比用http要快很多.平常时候看不出来效果,关键时刻拼的就是效率了.

转载于:https://www.cnblogs.com/ctracerpp/p/3984026.html

你可能感兴趣的文章
Linux下的Tar工具详解
查看>>
我的友情链接
查看>>
C#静态方法在多用户并发访问时,运行情况到底是什么样?是排队等待?还是并发的?...
查看>>
公交查询系统的设计之详细设计程序流程图(3)
查看>>
IT们为什么要考取PMI-ACP敏捷项目管理专业人士认证
查看>>
ZooKeeper 选举机制
查看>>
【分布式共识二】拜占庭将军问题----口头协议
查看>>
Linux之pstree命令
查看>>
Unix/Linux 的Shell编程
查看>>
xcode SVN 的各种操作
查看>>
nginx 配置高并发
查看>>
SSL/TLS双向认证案例参考
查看>>
Java面试题-web篇十五
查看>>
新病毒后缀.scaletto解密成功 sql数据库恢复 mdf ldf解密成功
查看>>
jxl操作Excel
查看>>
Linux service 创建和注册
查看>>
迅雷HR面
查看>>
Ubuntu - 硬盘分区、格式化、自动挂载配置
查看>>
如何防止别人通过地址直接访问
查看>>
linux常用软件列表
查看>>