网络通信——socket(TCP/IP).Http,同步和异步的区别

来源:互联网 发布:长沙网络推广培训 编辑:程序博客网 时间:2024/06/06 08:47

1首先说下同步和异步的区别吧

同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 (比如普通B/S模式

异步:请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕 (AJAX技术(异步))  

举个栗子说:
同步   就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。 
异步  就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。 
更多请看:http://blog.csdn.net/morethinkmoretry/article/details/5791258

2 socket TCP/IP .http协议的区别

网络协议的话分为: 物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层 三者从本质上来说没有可比性

socket则是对TCP/IP协议的封装和应用(程序员层面上),也就是说TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据

TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容。 如果想要使传输的数据有意义,则必须使用到应用层协议。(http就是一种应用协议)
socket和TCP/IP协议关系的说法比较容易理解:“TCP/IP只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口。这个就像操作系统会提供标准的编程接口,比如win32编程接口一样,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。”

http和socket

CSDN上有个比较形象的描述:HTTP是轿车,提供了封装或者显示数据的具体形式;

Socket是发动机,提供了网络通信的能力

实际上,传输层的TCP是基于网络层的IP协议的,而应用层的HTTP协议又是基于传输层的TCP协议的,而Socket本身不算是协议,就像上面所说,它只是提供了一个针对TCP或者UDP编程的接口。

我的认为:http就是单方面请求,返回,就是两个端(客户端,服务器端)发短信
Socket就是两个端的打电话,他们必须保持连接状态才能通信,至于怎么连接的就不扯了
具体一点的可以查看:

TCP/IP、Http、Socket的区别


0 0
原创粉丝点击