【计算机网络基础】TCP/IP、HTTP、Socket的概念
TCP/IP协议是一个协议簇。里面包括很多协议的。UDP也是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。(资料来源: http://www.cnblogs.com/bizhu/archive/2012/05/12/2497493.html)
IP协议是网络层的协议,描述数据包应该传递到哪去。
TCP和UDP是传输层的协议,描述数据包应该以怎样的方式传输。
HTTP协议是应用层的协议,描述数据包中包含了哪些数据。
- HTTP是基于请求-响应形式并且是短连接,并且是无状态的协议。针对其无状态特性,在实际应用中又需要有状态的形式,因此一般会通过session/cookie技术来解决此问题。(资料来源:http://www.cnblogs.com/lwbqqyumidi/archive/2012/11/04/2754415.html)
Socket则是对TCP/IP协议的封装和应用(程序员层面上),即Socket本身并不是协议,而是一个调用接口(API)。所以说,Socket的出现只是使得程序员更方便地使用TCP/IP协议栈而已,是对TCP/IP协议的抽象。(资料来源:https://www.zhihu.com/question/39541968)
- Socket连接是长连接,理论上客户端和服务器端一旦建立连接将不会主动断开此连接。Socket连接属于请求-响应形式,服务端可主动将消息推送给客户端。(资料来源:http://www.cnblogs.com/lwbqqyumidi/archive/2012/11/04/2754415.html)
网络模型如下图:
图片出自:http://www.cnblogs.com/zuoxiaolong/p/tcp2.html?utm_source=tuicool