zoukankan      html  css  js  c++  java
  • Http与Socket小谈

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

    Http

    定义

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

    特点

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

    优点

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

    缺点

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

    适用范围

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

    Socket

    定义

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

    特点

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

    优点

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

    缺点

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

    适用范围

    • 适用于对传输速度要求高的应用,如网络游戏
    • 适用于对数据安全性要求较高的应用中,如银行内部数据交互
    • 对产生流量巨大的应用
  • 相关阅读:
    How to Use the UTL_MAIL Package
    ORA-32001: 已请求写入 SPFILE, 但是在启动时未指定 SPFILE
    2.4 批量下达车间任务平台
    2.3 改装及返修任务管理
    2.2 生产外协管理
    2.1 车间排产与生产备料
    1.15 计划分析-订单与预测差异比较
    1.14 计划分析-两周订单变更比较
    1.13 生产计划的调整与维护
    1.12 售后配件需求与计划生产衔接
  • 原文地址:https://www.cnblogs.com/ToBeTheOne/p/6017079.html
Copyright © 2011-2022 走看看