zoukankan      html  css  js  c++  java
  • socket连接和http连接的区别

    首先一定要明白:
    HTTP协议:简单对象访问协议,对应于应用层  ,HTTP协议是基于TCP连接的
    tcp协议:    对应于传输层
    ip协议:     对应于网络层  
    TCP/IP是传输层协议,主要解决数据如何在网络中传输;而HTTP是应用层协议,主要解决如何包装数据。
    Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。
     

    1、socket即为套接字,在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一的标识网络通讯中的一个进程,“IP地址+TCP或UDP端口号”就为socket。 
    2、在TCP协议中,建立连接的两个进程(客户端和服务器)各自有一个socket来标识,则这两个socket组成的socket pair就唯一标识一个连接。 
    3、socket本身就有“插座”的意思,因此用来形容网络连接的一对一关系,为TCP/IP协议设计的应用层编程接口称为socket API。


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

  • 相关阅读:
    Sql Server 2016数据库定时备份操作步骤
    .net 生成原图和多张缩略图
    python小知识
    python小知识
    Q pi (lambda)
    GAE&reward shaping
    yield函数
    关于vs code和markdown
    强化学习第七章
    强化学习第六章
  • 原文地址:https://www.cnblogs.com/move-on-change/p/9518453.html
Copyright © 2011-2022 走看看