• Http与Socket小谈


    http与socket是网络编程中最为重要的概念,不管是客户端还是服务端,都是最为重要的部分,以下简述两者的关系和区别(个人见解)。

    Http

    定义

    基于应用层的超文本传输协议。通常承载于TCP/IP协议之上,有时也承载于TLS或SSL协议层之上,即https。

    特点

    • 必须是客户端请求,服务端才能响应,无法由服务端自主发起。
    • 网络连接为短连接,在请求结束后,就会自动释放本次连接。

    优点

    • 基于应用层的接口,简单易用,非常容易上手,对开发者要求较低

    缺点

    • 传输速度有限,数据量较大
    • 对服务器性能要求较高
    • 数据传输过程中安全性有限

    适用范围

    • 需要快速开发的应用
    • 对数据实时交互性要求不太高的应用
    • 对数据安全性不是太高要求的应用
    • 对服务器性能较差的应用

    Socket

    定义

    基于TCP/IP的网络API,处于传输层,用于提供给程序员操作TCP/IP网络传输的应用程序接口。通常称作"套接字",实现服务器和客户端之间的物理连接,并进行数据传输。是应用层和传输层之间的桥梁。

    特点

    • 建立socket连接至少需要一对套接字(socket),一个运行在客户端,一个运行在服务端
    • 通常Socket连接是基于TCP连接的,因此属于长连接
    • Socket一旦建立连接,通信双方即可持续相互发送数据内容,直到双方连接断开

    优点

    • 传输数据可自定义,数据量很小
    • 数据传输时间段,性能高
    • 多用于客户端与服务端之间的数据实时交互
    • 可以使用加密手段,数据安全性很高

    缺点

    • 相对于http协议传输,开发量较大
    • 对开发人员的开发水平要求较高,增加开发量

    适用范围

    • 适用于对传输速度要求高的应用,如网络游戏
    • 适用于对数据安全性要求较高的应用中,如银行内部数据交互
    • 对产生流量巨大的应用
  • 相关阅读:
    学校的破网,你别再掉了
    PhotoShop SDK的获取
    我的C++博客开张了
    一个新的嵌入式门户
    试用Bloglines.com
    PhotoShop的插件体系
    VB6 to VB.NET Migration Guide Community Preview #4
    看看Microsoft都买了些什么
    Borland CTO辞职
    PhotoShop插件的开发
  • 原文地址:https://www.cnblogs.com/ToBeTheOne/p/6017079.html
Copyright © 2020-2023  润新知