程序员人生 网站导航

HTTP/Socket .etc protocols implements in C#

栏目:互联网时间:2015-03-12 09:13:09

HTTP vs TCP/IP

TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事前为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或过失恢复功能。1般来讲,TCP对应的是可靠性要求高的利用,而UDP对应的则是可靠性要求低、传输经济的利用。TCP支持的利用协议主要有:Telnet、FTP、SMTP等;UDP支持的利用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等


TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是利用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有1段比较容易理解的介绍:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有利用层,便没法辨认数据内容,如果想要使传输的数据成心义,则必须使用到利用层协议,利用层协议有很多,比如HTTP、FTP、TELNET等,也能够自己定义利用层协议。WEB使用HTTP协议作利用层协议,以封装HTTP 文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”
HTTP vs Socket
HTTP:超文本传输协议,首先它是1个协议,并且是基于TCP/IP协议基础之上的利用层协议。TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,HTTP是利用层协议,主要解决如何包装数据。HTTP协议详细规定了阅读器与服务器之间相互通讯的规则,是万维网交换信息的基础。HTTP是基于要求-响应情势并且是短连接,并且是无状态的协议。针对其无状态特性,在实际利用中又需要有状态的情势,因此1般会通过session/cookie技术来解决此问题。

Socket:Socket不属于协议范畴,而是1个调用接口(API),Socket是对TCP/IP协议的封装,通过调用Socket,才能使用TCP/IP协议。Socket连接是长连接,理论上客户端和服务器端1旦建立连接将不会主动断开此连接。Socket连接属于要求-响应情势,服务端可主动将消息推送给客户端。






------分隔线----------------------------
------分隔线----------------------------

最新技术推荐