【图解】给面试官讲解TCP-Web应用原理和网络基础的三次握手和四次握手为什么要学计算机?显然这很重要,至少能帮助你找到工作的原因之一就是网络知识点太多要学,你又没法那么快记住。了解网络协议,应该从背景原理说起。那么请从现在开始仔细阅读!适合对计算机有相应了解的人和软件技术初学者的朋友。客户端发送请求,结果会怎样?正常的状态码是2xx,错误的状态码是4xx,或者5xx等等。错误404:了解Web,了解网络基础知识,了解HTTP协议,如何使用HTTP协议访问Web,我们如何在电脑上的浏览器中查询网页,在地址中输入url地址浏览器的bar,会显示页面,这也是我们理解的常识。在浏览器地址栏中输入网址,就可以看到网页,即客户端在浏览器地址中输入网址后,会将信息发送到某处,然后从某处得到回复,这样将显示在网页上。客户端:像这样通过发送请求获取服务器资源的网络浏览器称为客户端。我们看到的网页并不是凭空展现给我们看的。它是根据您始终在网络浏览器的地址栏中指定的url发送的。Web浏览器从Web服务器获取文件资源等信息,然后从服务器返回。在网络浏览器上显示网页。抓重点提炼:有两个主题,web浏览器是客户端,一个是服务器端。Web浏览器通过指定的访问地址获取服务器上的资源,服务器使用HTTP协议回传给Web浏览器。Web是基于HTTP协议进行通信的。HTTP是超文本传输??协议(HypertextTransferProtocol,简称HypertextTransferProtocol)的一种规范(或者严格来说,HypertextTransferProtocol),完成从客户端到服务器端的一系列工作流程。协议是指对规则的约定。抓重点提炼:什么是client和server?简单来说,客户端就是个人使用的电脑,服务器就是服务器。HTTP网络协议用于通过计算机访问服务器上的资源。那么这里问的HTTP协议是什么?HTTP全称为HypertextTransferProtocol,是TCP/IP协议的一个应用层协议,用来定义Web浏览器和Web服务器之间交换数据的过程,在客户端连接到Web服务器后,如果你想获取某个Web资源需要遵循一定的通信格式,HTTP协议就是用来定义客户端和Web服务器之间的通信格式的。HTTP的出现,在1989年,互联网属于少数人。为了在全世界的研究人员之间共享知识,HTTP诞生了。借助于多个文档之间的相互关系形成的超文本,形成了可以相互引用的WWW和WorldWideWeb。三种www构建技术是:SGML:标准通用标记语言HTML:超文本标记语言超文本标记语言HTTP:超文本传输??协议超文本传输??协议URL:统一资源定位器统一资源定位器SGML作为页面HTML作为文本标记语言;HTTP作为文档传递协议;URL指定文件地址HTTP是互联网的多媒体使者,互联网上每天有多少图片、页面、文件、电影、音频文件等资源,HTTP可以从世界各地访问世界的网络服务器移动这些信息快速可靠地传送到人们的网络浏览器。Web客户端和服务器,Web内容存储在Web服务器上,使用HTTP协议,如果HTTP客户端发送请求,服务器将在Internet中提供数据,客户端向服务器发送HTTP请求,服务器将respondinHTTP回显请求的数据。HTTP客户端和HTTP服务器一起构成万维网的基本组件。Web服务器是Web资源的存储库,Web资源是Web内容的来源。Web资源可以包含任何内容,所有内容都是由Web资源提供的。URI和URL每一个web服务器资源都有一个名称,因为客户端可以选择它想要的资源,URI,服务器资源名称,是一个统一的资源标识符,URI与名称相同,就像网上的帖子一个地址是全球唯一的标识和位置信息资源。URI有两种形式,URL和URN。URL是UniformResourceLocator,是最常见的资源标识符形式,描述了资源在特定服务器上的特定位置。URN是UniformResourceName,使用广泛,作为特定内容的唯一名称。,无论资源位置如何。计算机和网络设备之间要进行通信,双方必须使用相同的方法,不同硬件和操作系统之间的通信,都需要一个规则。我们称此规则为协议。TCP/IP是与Internet相关的各种协议族的总称。TCP/IP是指TCP和IP这两种协议。TCP/IP是IP协议通信过程中使用的协议族的总称。TCP/IP的分层管理TCP/IP协议族按层次分为应用层、传输层、网络层、数据链路层和物理层。根据型号不同可分为4层或7层。将TCP/IP分为5层,层数越低,离硬件越近。应用层,应用程序收到传输层传来的数据后,下一步就是进行解释。对于解释,首先要规定格式,应用层就是规定应用程序的数据格式。主要的协议有HTTP等。传输层,为两台主机上的应用程序提供端到端的通信。传输层有两种传输协议,TCP(传输控制协议)和UDP(用户数据报协议)。TCP是一种可靠的面向连接的协议,UDP是一种不可靠或无连接的协议。网络层决定了如何将数据从发送方移动到接收方,是建立主机到主机通信的基础。数据链路层控制网络层和物理层之间的通信,其主要作用是保证物理线路上数据的可靠传输。物理层负责物理传输,与链路和传输介质有关。TCP/IP协议分层后,后期如果要修改某些地方的设计,会无序全部替换,只需要替换改动的层即可。下面按照4层来解释。TCP/IP协议族按层次分为以下几层:应用层、传输层、网络层和数据链路层。应用层,应用层决定了向用户提供应用服务时的通信活动,如FTP、文件传输协议和DNS服务,HTTP协议在应用层。传输层,传输层到上层应用层,提供网络连接中两台计算机之间的数据传输,有TCP传输控制协议和UDP用户数据报协议。网络层用于处理在网络上流动的数据包,并指定通过哪条传输路径将数据包传输到另一台计算机。链路层用于处理网络连接的硬件部分,包括操作系统、硬件设备驱动程序、网卡等。上面的内容太概念化了,理解和理解:他们是如何相互交流的?使用TCP/IP协议族进行网络通信时,会按照层次顺序与对方进行通信,发送方从应用层往下走,即应用层(HTTP客户端)、传输层(TCP)、网络层(IP)、链路层(网络)、接收端从链路层往上走。发送端在层与层之间传输时,每经过一层就必须标记本层的头信息。反之,接收端在接收数据时,每经过一层就会去掉相应的header。这种封装信息的做法称为“封装”。从图片上看文字内容,相信大家都会明白这一点。传输层、TCP/UDP、传输控制协议和用户数据报协议。同样,TCP是一种可靠的面向连接的协议,而UDP不是一种可靠的或无连接的协议。TCP和UDP都是传输层协议。两者的区别是:TCP的可靠性强,是可靠的,连接是面向连接的,消息是面向字节流的,效率是,传输效率低,双工,全双工,流量控制是滑动窗口,拥塞控制是慢启动,拥塞避免,重传快,恢复快,传输速度慢,应用场景对效率要求低,精度要求高或者需要连通性的场景。UDP不可靠,无连接,面向消息,传输效率高,一对一,一对多,多对一,多对多,流量控制,无,拥塞控制,无,但是传输速度快,应用场景要求高效率低准确率。TCP/IP分层的好处如果互联网只有一种协议进行通信,某个地方需要修改,那么整个东西都要替换,但是分层之后,只需要替换修改的层即可。TCP的三次握手和四次握手请参考图片。请记住,有三个箭头和四个对话框。为了建立连接,客户端发送一个连接请求报文段,并向服务器发送一个标有SYN的数据包,服务器是接收端。第二次握手是服务器,即接收端,收到客户端的SYN报文段,同时发送一个标有SYN/ACK的数据包。**第三次握手是客户端收到服务端的SYN/ACK数据包后,**向服务端发送一个标记为ACK的数据包。上面的解释,一起看图片,以及它们之间的传输数据,会更好理解。TCP的三次握手,那么你知道TCP是什么吗?相信还有人记得,但总会有人再次忘记,理解TCP头信息,为什么是TCP的三次握手,而不是其他时候?在TCP的三次握手过程中,有什么区别或者变化。TCP,请记住中文名称,TransmissionControlProtocol,是一种面向连接的、可靠的、基于字节流的传输层通信协议,你了解TCP的报文头吗?不懂的可以百度。[TCP/IP]TCP的报文头是网络中交换和传输的数据单元,即站点一次要发送的数据块。报文中包含完整的待发送数据信息,其长度非常不一致,长度无限制且可变。(百度内容)消息的理解和作用。消息用于各个系统之间请求和响应时交换信息,也需要遵循规定的格式。另外,应用消息大多是在多个系统需要通信的时候,比如银行的ESB系统到网关系统再到银联系统。在这中间,消息承担了加载和传输数据的功能。三种系统的报文格式可能不同,但携带的数据是相同的。(百度内容)一、TCP报文头源端口,源端口号,指向本地端口目的端口,目的端口号,指向远程端口源端口号是发送方,接收方是目的端口号,sourceportnumberfrom发送端按照一定的规定向接收端发送目的端口号。不同的应用有不同的端口,因为发送端会发送很多源端口号,这些源端口号对应接收端规则对应的很多目的端口号。SequenceNumber,序号在TCP通信过程中使用,分段序列用于传输字节流,接收端会根据这个序号来确认序号。例如,如果排队的每个人都在相应的入口号码处检查,他们就不会在进入后坐得一团糟。TCP有6种状态表示:SYN(建立连接)ACK(确认)PSH(传输)FIN(结束)RST(重置)URG(紧急)TCP三向握手分析一、client、server、TCP三向握手:握手期间使用TCP标志SYN和ACK。初始化状态:客户端处于关闭状态,服务器处于监听状态。第一次握手:客户端发送请求报文,向服务器发送SYN=1同步序列号和初始化seq=x。服务器从初始化状态创建连接,等待客户端,确认接收后状态为SYN_Receive。此时客户端处于SYN_Send的等待状态。第二次握手,服务器收到报文后(SYN=1,seq=x),收到请求后,请求报文变为同步序号SYN=1,初始化序号seq=1,确认序号ACK=1、ack=x+1,服务端处于SYN_Receive状态,发送端状态为:SYN_Send。第三次握手,客户端收到服务器的数据包(收到响应后),然后发送同步序号ack=y+1和序号seq=x+1且ACK=1的确认包数据包作为响应(第三次握手:ACK=1,seq=x+1,ack=y+1),客户端和服务器变为已建立状态。给我女朋友发三条信息。三次握手主要是为了验证我这边和我女朋友这边的发送/接收能力没有问题。证明连接已经接通,可以正式发送消息了。第一次握手,我发信息,女朋友收到了。女朋友这时候就知道我发消息的能力和她自己接收消息的能力都没有问题了。第二次握手,女朋友发来信息,我收到了。这时候我明白我的收发信息没有问题了,还需要第三次握手。知道你的发消息功能有没有问题。第三次握手,发了信息,女朋友收到了,女朋友这时候也确认了,我们之间收发信没有问题。负责域名解析的DNS服务DNS服务与HTTP协议一样位于应用层。提供域名和IP地址之间的解析服务。DNS协议提供通过域名查找IP地址,或从IP地址反向查找域名的服务。各种协议与HTTP协议的关系客户端和服务端通过三次握手建立TCP连接后,当数据传输完成后,断开需要四次TCP挥手。四次挥手如下:第一次挥手,client设置seq和ACK,向server发送一个FIN=1报文段。此时,(firstwave,FIN=1,seq=u)client进入FIN_WAIT状态,表示client没有数据要发送给server。服务器第二次挥手,收到了客户端发送的FIN报文段,并向客户端返回了一个ACK报文段。第三次挥手,服务器向客户端发送一个FIN报文段,请求关闭连接,同时服务器进入LAST_ACK状态。第四次挥手后,客户端收到服务器发送的FIN报文段,向服务器发送一个ACK报文段,然后客户端进入TIME_WAIT状态。服务器收到客户端的ACK报文后,关闭连接。此时如果客户端等待2MSL(指网段在网络中的最大存活时间)后还没有收到回复,则说明服务器已经正常关闭,这样客户端就可以关闭连接了.UniformResourceIdentifierURI是UniformResourceIdentifier的缩写。Uniform规定了一种统一的格式,方便处理多种不同类型的资源,而不需要根据上下文来识别资源指定的访问方式。URL(UniformResourceLocator,统一资源定位符),URL就是使用网络浏览器访问网页时需要输入的网页地址。学习资料《图解HTTP》??别忘了留下你的足迹【点赞加评论】AuthorInfo:【作者】:Jeskson【原创公众号】:达达前端酒馆。【转载说明】:转载请注明出处,谢谢合作!~本篇内容涉及前端和PHP知识点。有兴趣的可以关注一下。很荣幸被你发现。真是有见地!感谢您的关注。在以后的日子里,希望大家一直默默支持我,我会努力写出更多优秀的作品。我们一起成长,从零开始学习编程,将Web前端领域、数据结构与算法、网络原理,通俗易懂的呈现给小伙伴们。分享Web前端相关的技术文章、工具资源、精选课程、热点资讯。如本账号内容有问题(例如:涉及版权或其他问题),请及时联系我们进行整改,我们会尽快处理。请喜欢它!因为您的认可/鼓励是我写作最大的动力!欢迎来到达达的CSDN!这是一个有品质有态度的博客
