zoukankan      html  css  js  c++  java
  • Socket请求和Http请求的各自特点、区别及适用场景

    Socket实现服务器与客户端之间的物理连接,并进行数据传输。主要有TCP/UDP两个协议。Socket处于网络协议的传输层。

    TCP:传输控制协议,面向连接的的协议,稳定可靠。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。

    UDP:广播式数据传输,UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

    优点:1.传输数据为字节级,传输数据可自定义,数据量小。相应的移动端开发,手机费用低

       2.传输数据时间短,性能高

       3.适合C/S之间信息实时交互

       4.可以加密,数据安全性高

    缺点: 1.需要对传输的数据进行解析,转化为应用级的数据

          2.对开发人员的开发水平要求高

        3.相对于Http协议传输,增加了开发量

    Http请求主要有http协议,基于http协议的soap协议,常见的http数据请求方式有getpostweb服务

    优点:1.基于应用级的接口使用方便

       2.要求的开发水平不高,容错性强

    缺点: 1.传输速度慢,数据包大。

        2.如实现实时交互,服务器性能压力大

        3.数据传输安全性差

    HTTP协议:简单对象访问协议,对应于应用层  HTTP协议是基于TCP连接的

    tcp协议:    对应于传输层

    ip协议:     对应于网络层 

    TCP/IP是传输层协议,主要解决数据如何在网络中传输;而HTTP是应用层协议,主要解决如何包装数据。

    Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。

     

    http连接:http连接就是所谓的短连接,即客户端向服务器端发送一次请求,服务器端响应后连接即会断掉;

    socket连接:socket连接就是所谓的长连接,理论上客户端和服务器端一旦建立起连接将不会主动断掉;但是由于各种环境因素可能会是连接断开,比如说:服务器端或客户端主机down了,网络故障,或者两者之间长时间没有数据传输,网络防火墙可能会断开该连接以释放网络资源。所以当一个socket连接中没有数据的传输,那么为了维持连接需要发送心跳消息~~具体心跳消息格式是开发者自己定义的

    Socket适用场景:网络游戏,银行交互,支付。

    http适用场景:公司OA服务,互联网服务。

  • 相关阅读:
    BestCoder6 1002 Goffi and Squary Partition(hdu 4982) 解题报告
    codeforces 31C Schedule 解题报告
    codeforces 462C Appleman and Toastman 解题报告
    codeforces 460C. Present 解题报告
    BestCoder3 1002 BestCoder Sequence(hdu 4908) 解题报告
    BestCoder3 1001 Task schedule(hdu 4907) 解题报告
    poj 1195 Mobile phones 解题报告
    二维树状数组 探索进行中
    codeforces 460B Little Dima and Equation 解题报告
    通过Sql语句控制SQLite数据库增删改查
  • 原文地址:https://www.cnblogs.com/deepalley/p/12902615.html
Copyright © 2011-2022 走看看