网络七层模型及TCP、UDP,一次HTTP请求都发生了什么

  • 时间:
  • 浏览:84
  • 来源:小阿晨资源 - 专注共享天罚娱乐资讯

UDP 报文意味着丢失,却说在视频流、直播流 等场景下 UDP 工作非常有传输速率(即时通信,不出乎数据丢失,和安全)如 视频 、直播等。

作者:返回主页 c_G-17来源:博客园|2019-06-12 11:01

 

一、七层网络模型

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.用户浏览器输入网址

2.浏览器拿到网址去请求IP

3.向目标IP 发送TCP连接 3次握手

4.服务器解析请求,并返回处理好的 html 页面(字符串)

5.浏览器按照规则解析渲染画面

6.连接结束了了了

第有些:无

第二点:浏览器解析用户输入网址的过程顺序为:

先检查本地是不是有对应的IP地址,找到就返回。找能不能 向上一级DNS服务器请求,直到找到或 根节点。

浏览器缓存--> 系统缓存--> 路由器缓存--> ISP DNS缓存--> 从根域名服务器递归搜索

都没找到就返回错误

第三点:三次握手

第一次握手:发送端先发送另另有三个 带SYN (synchronize) 同步标志的数据包给 Server,在一定时间内等待时间接退还复

第二次握手:服务端接收到SYN数据包后,返回另另有三个 带 SYN/ACK (acknowledgement charactor) 确认字符 标志的数据包来表示确认收到消息。

第三次握手:接收方接收到Server的确认消息后,再发送另另有三个 带ACK标志的数据包给接收端,表示握手成功

注意:上述过程都在另另有三个 等待时间时间,意味着等待时间时间时间内Server、意味着Client 不出回复,本次请求视作失败,再次请求。Server不出回复的意味着意味着是栈满了

  • 建立连接成功后,浏览器向WEB服务器发送另另有三个 HTTP请求

三次握手的作用:

  • 目的是建立可靠的通信信道,说到通讯,简单来说却说我数据的发送与接收,而三次握手最主要的目的却说我双方确认我本人与对方的发送与接收是正常的。
  1. 第一次握手:Client 那先 都在能确认;Server 确认了对方发送正常
  2. 第二次握手:Client 确认了:我本人发送、接收正常,对方发送、接收正常;Server 确认了:我本人接收正常,对方发送正常
  3. 第三次握手:Client 确认了:我本人发送、接收正常,对方发送、接收正常;Server 确认了:我本人发送、接收正常,对方发送接收正常
  • Server传回发送端所发送的 SYN 是为了告诉发送端,接收到的信息我我觉得都在你发送的信号。
  • 双方通信无误时却说我两者互相发送信息都无误。传了 SYN,证明发送方到Server的通道不出那先 的问提,Server到发送方的通道就通过 ACK 信号来进行验证。

第四步:ngimx + uwsgi (Django) 为列 (未完成)

1.Nginx 次要(未完成)

2.Django次要:

  • 根据请求的 URL。来到Django 的路由关系映射,
  • 却说通过一系列 Middleware 里边件(process_request(request,))如CSRF IP黑名单过滤,爬虫过滤等里边件验证
  • 来到url 对应的 Views 视图函数处理。根据请求内容。去数据库、Templates 拿到数据回来进行渲染,并返回 response 结果
  • response 再次通过一系列里边件验证。(process_response(request, response))最后返回给Client

第五步:浏览器渲染

浏览器拿到结果按照HTML CSS JS 进行渲染

第六步:四次挥手,断开连接

  • 客户端-发送另另有三个 FIN,用来关闭客户端到服务器的数据传送
  • 服务器-收到有些 FIN,它发回一 个 ACK,确认序号为收到的序号加1 。和 SYN 一样,另另有三个 FIN 将占用另另有三个 序号
  • 服务器-关闭与客户端的连接,发送另另有三个 FIN给客户端
  • 客户端-发回 ACK 报文确认,并将确认序号设置为收到序号加1

【编辑推荐】

【责任编辑:

武晓燕

TEL:(010)68476506】



点赞 0