socket协议 http协议的区别,长短连接,tcp/udp协议区别
2018-03-09 11:50
387 查看
socket http协议的区别
简单来说,我们平常浏览的网页如果已http://开头的都是http协议传输到我们的浏览器的,而http是基于socket之上的,就是说http携带数据,socket提供传输的动力。socket不是一个协议,只是一个接口或者说是api,socket只是帮助使用者更简单的建立tcp,udp链接而已。1. 关于协议
HTTP协议:对应于应用层 ,主要解决如何包装数据,TCP协议: 对应于传输层
ip协议: 对应传输层,主要解决数据如何在网络中传输;
Socket:是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。
2.关于长连接,短连接
http连接:http连接就是所谓的短连接,即客户端向服务端发送一次请求,服务端响应后立即断开连接。socket连接:socket连接就是所谓的长连接,理论上客户端跟服务端一旦建立连接就不会主动断掉;但是由于各种原因可能会断开,比如:客户端或者服务端网络断掉了,网络故障,或者两者之间长时间没有消息互通,系统防火墙可能会中断连接,释放网络资源。所以当socket连接中没有数据传输的时候,我们可以自定义发送特定的消息,用来维持连接。
3. 总的来说
Socket是一个针对TCP和UDP编程的接口,你可以借助它建立TCP连接等等。而TCP和UDP协议属于传输层 。 http是个应用层的协议,它实际上也建立在TCP协议之上。(HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。)
Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。Socket的出现只是使得程序员更方便地使用TCP/IP协议栈而已,是对TCP/IP协议的抽象,从而形成了我们知道的一些最基本的函数接口。
4.udp/tcp的区别
1.tcp是一对一面向连接,udp可以一对一也可以一对多连接。2.tcp稳定可靠不丢包,udp不稳定不可靠会丢包。
3.tcp占用时间长,占用资源多,udp占用时间少,占用资源少。
4.tcp可以保证数据传输的前后顺序,udp不能保证。
4.1关于tcp的三次握手第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。
理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去(也就是长连接)。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断开过程需要经过“四次握手”(过程就不细写了,就是服务器和客户端交互,最终确定断开)
相关文章推荐
- 网络篇——七层协议、四层协议、TCP、HTTP、SOCKET、长短连接
- 网络篇——七层协议、四层协议、TCP、HTTP、SOCKET、长短连接
- HTTP和SOCKET中长连接与短连接的区别
- Socket 网络通信协议 http、TCP/IP协议与socket之间的区别
- Http和Socket连接区别
- IOS-Socket和http连接的区别
- 长连接与短连接的区别(tcp socket http概念原理是一样的)
- HTTP协议,Socket和WebSocket以及TCP/UDP连接小结
- Http和Socket连接区别
- Socket 网络通信协议 http、TCP/IP协议与socket之间的区别
- Socket与HTTP连接的区别
- Http和Socket连接区别
- HTTP TCP SOCKET 连接之间的区别与联系
- http与socket连接区别
- http和socket之长连接和短连接区别
- http和socket -- 长连接和短连接区别
- http和socket之长连接和短连接区别
- socket解读,http和socket之长连接和短连接区别!
- socket连接和http连接的区别
- HTTP、TCP/IP协议、Socket、WebSocket协议之间的区别