美文网首页
22.网络socket

22.网络socket

作者: 阳明先生_X自主 | 来源:发表于2018-05-11 16:19 被阅读51次

Socket / TCP / HTTP 联系与区别

Socket / TCP

socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示。
为了区别不同的应用程序进程和连接,计算机操作系统为应用程序与TCP/IP协议交互提供了套接字(Socket)接口。应 用层可以和传输层通过Socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。
Socket连接与TCP连接

创建Socket连接时,可以指定使用的传输层协议,Socket可以支持不同的传输层协议(TCP或UDP),当使用TCP协议进行连接时,该Socket连接就是一个TCP连接。
Socket连接与HTTP连接

由 于通常情况下Socket连接就是TCP连接,因此Socket连接一旦建立,通信双方即可开始相互发送数据内容,直到双方连接断开。但在实际网络应用 中,因网关、防火墙等导致 Socket 连接断连,因此需要通过轮询告诉网络,该连接处于活跃状态。

而HTTP连接使用的是“请求—响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。
1>很 多情况下,需要服务器端主动向客户端推送数据,保持客户端与服务器数据的实时与同步。
2>此时若双方建立的是Socket连接,服务器就可以直接将数据传送给 客户端;
3>若双方建立的是HTTP连接,则服务器需要等到客户端发送一次请求后才能将数据传回给客户端,因此,客户端定时向服务器端发送连接请求,不仅可以 保持在线,同时也是在“询问”服务器是否有新的数据,如果有就将数据传给客户端。

1.TCP三次握

简单来说就是:
1.客户端向服务器发送消息,告诉服务器我将要发送数据。
2.服务器端接收到客户端请求后,确认自己准备好接收数据,并告知客户端,我已经准备好,可以发送请求
3.客户端接受到服务器端已准备好接收的消息后,发送数据给服务器端。
在TCP三次握手之后,建立了TCP连接,此时HTTP就可以进行传输了。一个重要的概念是面向连接,既HTTP在传输完成之间并不断开TCP连接。在HTTP1.1中这是默认行为。

2. GET和POST对比和区别

GET和POST的主要区别表现在数据传递上

GET:在请求URL后面以?的形式拼接发给服务器的参数,多个参数之间用&隔开。
比如http://www.test.com/login?username=123&pwd=234&type=JSON由于浏览器和服务器对URL长度有限制,因此在URL后面附带的参数是有限制的,通常不能超过1KB

POST:发给服务器的参数全部放在请求体中,理论上,POST传递的数据量没有限制(具体还得看服务器的处理能力

3.HTTPS和HTTP的区别主要为以下四点:

一、https协议需要到ca申请证书,一般免费证书很少,需要交费。
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

相关文章

  • 22.网络socket

    Socket / TCP / HTTP 联系与区别 Socket / TCP socket)是通信的基石,是支持T...

  • 网络编程

    python学习笔记-网络编程 socket编程: socket()函数:socket.socket([famil...

  • Socket编程

    一、Socket 1.1 Socket简介 Socket就是为网络服务提供的一种机制。网络通信其实就是Socket...

  • 许世伟的Go语言基础 第五章总结

    第5章 网络编程 5.1 socket编程 以往socket编程: 建立socket:使用socket()函数。 ...

  • iOS开发-Socket&XMPP(即使通讯)

    Socket&XMPP 什么是Socket? 1.HTTP 就是基于Socket实现; 2.网络模型(为了网络的可...

  • Socket 网络编程(一)

    Socket Socket,又称“套接字”,应用程序通常通过“套接字”向网络发出请求或应答网络请求。 Socket...

  • 深入理解 Socket 缓冲区

    网络编程离不开 Socket,Socket 就是发送和接收网络数据,Socket 有发送缓冲也有接收缓冲,这些缓冲...

  • day23-06-网络编程(Socket)/-07-网络编程(U

    一、网络编程(Socket) Socket就是网络服务提供的一种机制。是在网络层的ip通信的两端都有Socket。...

  • 5.0.3.Socket

    Socket(网络套接字)是网络编程提供的一种机制,通信的两端都要有socket,网络通信就是socket通信数据...

  • 网络编程

    网络 Socket 基于TCP协议的Socket编程 基于UDP协议的Socket编程

网友评论

      本文标题:22.网络socket

      本文链接:https://www.haomeiwen.com/subject/tmnfdftx.html