网络七层模型和TCP,UDP,HTTP请求发生了什么

发布者:上海IT外包来源:http://www.lanmon.net点击数:708

单层和七层网络模型
http协议在应用层上运行。
第二,TCP-UDP
1. TCP和UDP协议之间的区别
2.一个Http请求,这个过程发生了什么
3. TCP协议如何保证可靠的传输?
4. HTTP和HTTPS之间的区别
5.TCP三次握手和四次摇摆,
6.通用状态代码。
2.1 TCP-UDP差异
UDP和UDP使用方案
您无需在发送数据之前建立连接,也无需将数据直接发送到目标计算机。远程主机收到UDP消息后无需进行任何确认。 UDP数据包可能会丢失,但UDP在视频流和直播(即时消息,无数据丢失和安全)(如视频和直播)等场景中的工作效率非常高。
TCP和TCP使用方案
面向连接的服务。首先连接并重新传输数据,并在数据传输结束后释放连接。 TCP不提供广播或多播服务。因为TCP提供了可靠的,面向连接的传输服务(TCP在数据传递之前可靠地反映在TCP中,将有三个握手来建立连接,并且在数据传输中,有确认,窗口,重传,拥塞控制机制在传输数据后,也会断开连接以节省系统资源。这很难避免增加大量开销,如确认,流量控制,定时器和连接管理等。这不仅使得协议数据的头部成为可能。单位大得多,但也占用了大量的处理器资源.TCP通常用于文件传输,发送和接收邮件以及远程登录等场景。(信息安全对于数据传输更为重要)。
2.2 Http请求发生了什么变化?
1.用户浏览器输入URL
2.浏览器使用URL来请求IP
3.发送TCP连接到目标IP 3握手
4.服务器解析请求并返回已处理的html页面(字符串)
5.浏览器根据规则解析渲染图像
6.连接结束
第一点:没有
第二点:浏览器解析用户输入URL的过程是:
首先检查本地区域是否有相应的IP地址,如果找到则返回。在找到根节点之前,找不到上层DNS服务器请求。
浏览器缓存 - >
系统缓存 - >
路由器缓存 - >
ISP DNS缓存 - >
从根域名服务器递归搜索如果找不到则返回错误
第三点:三方握手
第一次握手:发送方向服务器发送带有SYN(同步)同步标志的数据包,等待一段时间内的回复。
第二次握手:服务器收到SYN数据包后,返回带有SYN/ACK(确认字符)确认标志的数据包,表示收到该消息。
第三次握手:接收到服务器的确认消息后,接收者向接收者发送带有ACK标志的报文,表示握手成功。
注意:上述过程有一个等待时间。如果服务器或客户端在等待时间内没有回复,则该请求被视为失败并再次请求。 Server没有回复的原因可能是堆栈已满。
连接建立成功后,浏览器向WEB服务器发送HTTP请求。
三次握手的作用:
目的是建立可靠的沟通渠道。在通信方面,它只是数据的传输和接收。三次握手的主要目的是双方确认他们与对方的传输和接收是正常的。
第一次握手:客户无法确认任何事情;服务器确认对方发送正常
第二次握手:客户确认:自发,接收正常,对方发送和接收正常;服务器确认:自己收到,对方发送正常
第三次握手:客户确认:发送和接收正常,对方发送和接收正常;服务器确认:发送和接收正常,另一方正常发送和接收。
服务器发送回发送方的SYN是告诉发送方收到的消息确实是您发送的信号。
双方之间的沟通必须是正确的。传输SYN,从发送方到服务器的信道没有问题。从服务器到发送方的信道由ACK信号验证。
第4步:ngimx + uwsgi(Django)是专栏(未完成)
1.Nginx部分(未完成)
2. Django部分:
根据请求的URL。来到Django的路由关系映射,
然后通过一系列中间件中间件(process_request(request,)),如CSRF IP黑名单过滤,爬虫过滤和其他中间件验证
进入与url对应的Views视图功能。根据要求内容。转到数据库,Templates获取数据以进行渲染,并返回响应结果通过一系列中间件再次验证响应。 (process_response(request,response))最终返回给客户端
第5步:浏览器渲染
浏览器获取结果并根据HTML CSS JS呈现它
第6步:挥动四次,断开连接
客户端 - 发送FIN以关闭客户端到服务器的数据传输
服务器 - 收到此FIN后,它会发回一个ACK,确认序列号是收到的序列号加1。与SYN一样,FIN将占用序列号
服务器 - 关闭与客户端的连接并将FIN发送到客户端
客户端返回ACK消息确认,并将确认序列号设置为接收到的序列号加1。
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部