原文地址: http://blog.csdn.net/lanxingfeifei/article/details/52103914
前段时间和一开发人员聊天的时候,我说我们公司服务器端和客户端采用Socket+JSON方式进行交互,他就说,哦,其实是用Http的话会更好些。确实,我也觉得http链接方便些,但Socket方式使用惯了,潜意识里不大想改过来了。对于Http链接,我几乎没用过几次,对于两者间差异,也只是大致了解一点,只是考虑到Socket链接方式即时性强,才采用的。
手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机通过无线网络建立TCP连接。
建立一个TCP连接需要经过“三次握手”,具体如下:
第一次握手:客户端发送请求包到服务器,等待服务器确认
第二次握手:服务器响应客户端请求,同时也发送一个回应包给客户端
第三次握手:客户端收到服务器的回应包后,向服务器发送确认包
握手过程中传送的包里,不包含数据,三次握手完毕后,客户端与服务端才正式的开始传递数据。
TCP一旦连接起来,在客户端和服务端任何一方主动关闭连接之前,TCP连接都将被一直保持下去。
断开连接时,服务器和客户端都可以主动发起断开TCP连接的请求,断开过程需要经过“四次握手”
Http连接:
Http协议是建立在TCP协议之上的一种应用。它与TCP连接不同之处在于,客户端每次请求都需要服务器
返回响应,在请求结束后,会主动释放连接。由于HTTP每次请求都会释放连接,因为HTTP连接是一种“短连接”,所
以要保持客户端在线状态,就必须不停地向服务器发起连接请求。所以在开发过程中,即使不需要获得任何数据,
客户端也要保持每隔一段时间向服务器发送一次请求,以保证通信的正常。
Socket连接:
Socket是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。
建立Socket连接需要一对套接字,其中一个运行客户端,另一个运行服务器端,套接字之间的连接过程分为
三个步骤:服务器监听,客户端请求,连接确认。
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
HTTPS和HTTP的区别
一、https协议需要到ca申请证书,一般免费证书很少,需要交费。
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
SSL协议:SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。