首页 > 编程知识 正文

tcp协议是什么协议,http底层是tcp还是udp

时间:2023-05-05 01:05:44 阅读:130638 作者:3336

概念TCP连接手机之所以能够使用互联网功能,是因为手机的基础实现了TCP/IP协议,手机终端能够通过无线网络建立TCP连接

建立TCP连接需要“三次握手”。

首次握手:客户端将syn数据包(syn=j )发送到服务器,进入SYN_SEND状态,等待服务器确认。 第二次握手:服务器收到syn数据包,一定要确认客户的syn(ack=j1 ),同时自己也发送syn数据包(syn=k ) SYN ACK数据包,此时服务器进入SYN_RECV状态第三次握手:客户端从服务器接收SYN ACK包,并向服务器发送确认包ack(ack=k1 )。 此数据包发送完成,客户端和服务器进入ESTABLISHED状态,第三次握手完成。 握手期间发送的数据包不包含数据。 在完成三次握手后,客户端和服务器将正式开始发送数据。 理想情况下,建立TCP连接后,TCP连接将一直保持,直到通信双方中的任何一方主动关闭连接。 断开连接时,服务器和客户端都可以主动发出断开TCP连接的请求。 切割过程需要“四次握手”。 (省略流程的详细说明。 这意味着服务器和客户端将进行交互,最终确定断开连接。 )

hypertexttransferprotocol(HTTP连接HTTP协议是Web网络的基础,也是手机网络中常用的协议之一。 http协议是构建在TCP协议基础上的APP应用。

HTTP连接的最明显特征是,服务必须对客户端发送的每个请求作出响应,并且在请求终止时积极释放连接。 从建立连接到关闭连接的过程称为主连接。

HTTP 1.0要求为每个客户端请求建立单独的连接,并在处理此请求后自动断开连接。 HTTP 1.1允许在一个连接上处理多个请求。 另外,一个请求结束后不需要发送下一个请求,可以重叠运行多个请求。 由于HTTP在每次请求结束时都会主动释放连接,因此HTTP连接是“短连接”,必须不断向服务器发出连接请求才能保持客户端程序在线。 通常,不需要立即获取数据,客户端也会每隔一段时间继续向服务器发送“保持连接”请求,服务器在收到该请求后回复客户端,以表明客户端处于“在线”状态。 如果服务器长期无法接收客户端请求,则客户端被视为“脱机”;如果客户端长期无法接收服务器响应,则认为网络已断开。

套接字原理套接字(套接字)概念套接字(socket )套接字)是通信的基础,是支持TCP/IP协议的网络通信的基本操作单元。 这是对网络通信中的端点的抽象,包含进行网络通信所需的五条信息。 用于连接的协议、本地主机的IP地址、本地进程的协议端口、远程主机的IP地址和远程进程的协议端口。

如果APP应用层通过传输层进行数据通信,则TCP将面临同时向多个APP应用程序提供同时服务的问题。 多个TCP连接或多个APP应用程序进程可能需要通过同一TCP协议端口传输数据。 为了区分不同的APP应用程序进程和连接,许多计算机操作系统为APP应用程序与TCP/IP协议进行交互提供了套接字接口。 APP应用层和传输层通过套接字接口区分来自不同APP应用进程或网络连接的通信,可以实现数据传输的并发服务。

建立套接字连接要建立套接字连接,至少需要一对套接字。 其中一个在客户端运行,一个在客户端运行,另一个在服务器端运行,然后在服务器端运行。

套接字之间的连接过程分为三个步骤。 服务监听、客户端请求、连接确认。 服务器侦听:服务器端套接字处于等待连接的状态,而不是查找特定的客户端套接字,实时监视网络状态,等待客户端的连接请求。

客户端请求:客户端的套接字发出连接请求,连接目标为服务器端的套接字。 为此,客户端套接字必须首先描述要连接的服务器的套接字,并给出服务器端套接字的地址和端口号,然后向服务器端套接字发出连接请求。

连接确认:服务器端套接字监听或接收到客户端套接字的连接请求时,响应客户端套接字的请求建立新线程,将服务器端套接字的描述发送到客户端,客户端确认该描述后,双方正式建立连接服务器端套接字继续处于接收状态,并继续接收来自其他客户端套接字的连接请求。

套接字连接创建TCP连接和套接字连接时,可以指定要使用的传输层协议。 套接字可以支持不同的传输层协议(TCP或UDP )。 如果使用TCP协议进行连接,则套接字连接为TCP连接。

由于套接字连接和HTTP连接通常是TCP连接,因此一旦套接字连接建立,通信双方都可以开始相互发送数据内容,直到两个连接断开。 但是,在实际的网络APP应用中,客户端和服务器之间的通信通常需要通过多个中间节点,如路由器、网关和防火墙,大多数防火墙默认情况下会长时间关闭不活动的连接并进行套接字

另一方面,HTTP连接使用“请求-响应”方法,不仅需要在请求时建立连接,还需要客户端向服务器发出请求,然后在服务器端返回数据。

服务器端通常需要主动向客户端推送数据,以保持客户端和服务器数据的实时性和同步性。 如果此时双方都建立了套接字连接,则服务可以直接将数据传输到客户端;如果双方都建立了HTTP连接,则服务必须等待客户端发送请求

后才能将数据传回给客户端,因此,客户端定时向服务器端发送连接请求,不仅可以 保持在线,同时也是在“询问”服务器是否有新的数据,如果有就将数据传给客户端。

相互关系

TCP是传输层,而http是应用层
http是要基于TCP连接基础上的,简单的说,TCP就是单纯建立连接,不涉及任何我们需要请求的实际数据,简单的传输。http是用来收发数据,即实际应用上来的

第一:从传输层,先说下TCP连接,我们要和服务端连接TCP连接,需要通过三次连接,包括:请求,确认,建立连接。即传说中的“三次握手协议”。

第二:从实际上的数据应用来说httP
面客户端和应用服务器建立TCP连接之后,就需要用http协议来传送数据了,HTTP协议简单来说,还是请求,确认,连接。
总体就是C发送一个HTTP请求给S,S收到了这个http请求,然后返回给Chttp响应,然后C的中间件或者说浏览器把这些数据渲染成为了网页,展示在用户面前。

第一:发送一个http请求给S,这个请求包括请求头和请求内容:第二:S收到了http请求,然后根据请求头,返回http响应。第三,C收到了以后,就由浏览器完成一系列的渲染,包括执行JS脚本等。

总结

TCP是底层通讯协议,定义的是 数据传输和连接方式的规范HTTP是应用层协议,定义的是 传输数据的内容的规范HTTP协议中的数据是利用TCP协议传输的,所以支持HTTP也就一定支持TCP HTTP支持的是www服务 ,它是Internet国际互联网络的基础。而TCP/IP是协议 ,TCP/IP是网络中使用的基本的通信协议。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。