【第一天】计算机网络 TCP/IP模型和OSI模型,从输入URL到页面显示发生了什么

news2024/9/24 5:26:21

TCP/IP模型和OSI模型

这两个模型属于计算机网络的体系结构。
OSI模型是七层模型,从上到下包括:
应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
TCP/IP模型是四层模型,从上到下包括:
应用层,传输层,网络层,网络接口层
在这里插入图片描述
OSI是一个理论上的网络通信模型,TCP/IP是实际上的网络通信模型。
OSI模型详解:
1、 应用层:通过应用进程之间的交互来完成特定的网络应用,应用层常见协议有:HTTP(TCP),FTP(TCP),SMTP(TCP),DNS(UDP)
2、 表示层:负责数据的表示,安全,压缩。确保一个系统的应用层发送的数据可以被另一个应用层读取。
3、 会话层:建立,管理,终止会话,是用户应用程序和网络之间的接口。
4、 传输层:为两台主机进程之间的通信提供数据传输服务。常见协议有TCPUDP
5、 网络层:网络层负责将网络地址翻译成对应的物理地址,实现不同网络之间的路径选择。协议有:ICMP,IGMP,IP。
6、数据链路层:在物理层提供的比特流服务的基础上,建立相应结点间的数据链路。
7、物理层:建立、维护、断开物理连接。
TCP/IP模型详解:
1、应用层:包括了应用层,表示层,会话层。应用层交互数据单位称为报文。常见协议有HTTP,SMTP,FTP,Telent,SSH,RTP,DNS
2、传输层:就传输层。有TCP,UDP两种协议
TCP:提供面向连接的,可靠的传输协议。
UDP:提供无连接的,尽最大努力的数据传输服务,不保证可靠性,简单高效。
3、网络层:网络层负责为分组交换网上不同主机提供通信服务。在发送数据时,把传输层产生的报文封装成分组和包。
4、网络接口层:
其中,数据链路层将网络层的分组和包封装成帧。每一帧包括必要的控制信息,如同步信息,地址信息,差错控制。
其中重要功能和协议有:CSMA/CD,MAC,多路访问,以太网,差错检测。
每一层的网络协议:
在这里插入图片描述
数据在各层之间是怎么传输的呢?
对发送方而言,从上层到下层,层层包装,对接受方而言,从下到上,层层解封。
在这里插入图片描述

从输入URL到页面显示过程中发生了什么?

  1. 浏览器收到用户请求,先检查浏览器缓存中是否有缓存该资源,如果有,就直接返回;如果没有,进入下一步网络请求。
  2. 网络请求前,进行DNS解析,获取请求域名的IP地址(如果请求协议是HTTPS协议,那么还需要建立TLS连接)。DNS解析时按照本地浏览器->本地Host文件->路由器缓存->DNS服务器->根DNS服务器的顺序查询域名对应IP,直到找到为止。
  3. 浏览器与服务器IP建立TCP连接。建立连接后,浏览器端会构建请求行,请求头等信息,并把和该域名相关的Cookie等数据附加到请求头中,向服务器构建请求信息。
  4. 服务器收到请求信息,根据请求信息生成响应数据。
  5. 浏览器解析响应头。若响应头状态码为301,302,会重新定向到新地址;若响应数据类型是字节流类型,一般会将请求提交给下载管理器;若是HTML类型,则会进入进一步渲染流程。
  6. 浏览器渲染HTML文件,创建DOM树,解析CSS进行样式计算,然后将CSS和DOM合并,构建渲染树,完成页面展示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1944278.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BGP选路之Next Hop

原理概述 当一台BGP路由器中存在多条去往同一目标网络的BGP路由时,BGP协议会对这些BGP路由的属性进行比较,以确定出去往该目标网络的最优BGP路由,然后将该最优BGP路由与去往同一目标网络的其他协议路由进行比较,从而决定是否将该最优BGP路由放进P路由表中…

PCB工艺边设计准则

在PCB设计时,通常会在电路板的边缘预留一定的空间,这部分空间被称为工艺边。它有助于在生产过程中确保电路板的尺寸和形状的准确性。以使得组装时更加顺畅、便捷。而工艺边的加工,使得线路板上的元件可以精准地与设备对接,从而提高…

C++学习笔记-operator关键字:重载与自定义操作符

在C编程中,operator关键字扮演着极其重要且独特的角色。它允许开发者为内置类型或自定义类型重载或定义新的操作符行为。这一特性极大地增强了C的表达能力,使得代码更加直观、易于理解和维护。本文将深入探讨C中operator关键字的使用,包括操作…

【ffmpeg命令入门】ffplay常用命令

文章目录 前言ffplay的简介FFplay 的基本用法常用参数及其作用示例 效果演示图播放普通视频播放网络媒体流RTSP 总结 前言 FFplay 是 FFmpeg 套件中的一个强大的媒体播放器,它基于命令行接口,允许用户以灵活且高效的方式播放音频和视频文件。作为一个简…

vscode 寻找全部分支的提交

vscode 寻找全部分支的提交 Git Graph

UE5 C++跑酷练习(Part2)

一.首先GameMode里有Actor数组,组装直线路,和左右路 #include "CoreMinimal.h" #include "GameFramework/GameModeBase.h" #include "RunGANGameMode.generated.h"UCLASS(minimalapi) class ARunGANGameMode : public AG…

【目录】8051汇编与C语言系列教程

8051汇编与C语言系列教程 作者将狼才鲸创建日期2024-07-23 CSDN文章地址:【目录】8051汇编与C语言系列教程本Gitee仓库原始地址:才鲸嵌入式/8051_c51_单片机从汇编到C_从Boot到应用实践教程 一、本教程目录 序号教程名称简述教程链接1点亮LCD灯通过IO…

【技术支持案例】使用S32K144+NSD8381驱动电子膨胀阀

文章目录 1. 前言2. 问题描述3. 理论分析3.1 NSD8381如何连接电机3.2 S32K144和NSD8381的软件配置 4.测试验证4.1 测试环境4.2 测试效果4.3 测试记录 1. 前言 最近有客户在使用S32K144NSD8381驱动电子膨胀阀时,遇到无法正常驱动电子膨胀阀的情况。因为笔者也是刚开…

分享一个Springer模板关于论文作者和单位信息的修改范例,以及Applied Intelligence期刊latex模板的下载链接

在这篇文章中,我写一些关于解决springer期刊提供的LaTex模板参考文献格式为作者年份时的顺序问题以及如何在正文中将参考文献格式引用成[1]这种数字格式类似的经验,该篇帖子里还分享了一个大佬关于springer模板完整的修改流程,有需要的伙伴可…

如何实现可视化、智能化、自动化的文件采集?一文了解

内部数据文件采集需求在多个行业中都非常重要,以下是一些涉及此场景需求的行业: 1.大数据行业:随着大数据的行业应用不断深入,物联网、智能家居、数字政务等领域的大数据技术应用逐渐成熟,数据采集的需求也将被逐步激…

0723,UDP通信(聪明小辉聪明小辉),HTTP协议

我就是一个爱屋及乌的人!!!! #include "network_disk_kai.h" 昨天的epoll: 可恶抄错代码了 epoll_s.csockect return listenfdsetsockoptsockaddr_in bind listenfd & serveraddr…

Zilliz 推出 Spark Connector:简化非结构化数据处理流程

随着人工智能(AI)和深度学习(Deep Learning)技术的高速发展,使用神经网络模型将数据转化为 Embedding 向量 已成为处理非结构化数据并实现语义检索的首选方法,广泛应用于搜索、推荐系统等 AI 业务中。 以生…

Windows 11+Visual Studio 2022 环境OpenCV+CUDA 12.5安装及踩坑笔记

周六日在家捣腾了一下,把过程记录下来。 前置条件 Visual Studio C 生成工具和本机显卡适配的CUDA与CUDA匹配的cuDNNPython 3NumPyOpenCV源代码以及对应版本的OpenCV-contrib模块源码CMake Visual Studio 下载Visual Studio(我本机的是VS2022&#xf…

虚拟局域网配置与分析-VLAN

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、相关知识 虚拟局域网(Virtual Local Area Network,VLAN)是一组逻辑上的设备和用户;不受物理位置的…

二、【Python】入门 - 【PyCharm】安装教程

往期博主文章分享文章: 【机器学习】专栏http://t.csdnimg.cn/sQBvw 目录 第一步:PyCharm下载 第二步:安装(点击安装包打开下图页面) 第三步:科学使用,请前往下载最新工具及教程&#xff1a…

前端:Vue学习-3

前端:Vue学习-3 1. 自定义指令2. 插槽2.1 插槽 - 后备内容(默认值)2.2 插槽 - 具名插槽2.3 插槽 - 作用域插槽 3. Vue - 路由3.1 路由模块封装3.2 声明式导航 router-link 高亮3.3 自定义匹配的类名3.4 声明式导肮 - 跳转传参3.5 Vue路由 - 重…

C#初级——条件判断语句和循环语句

条件判断语句 简单的条件判断语句&#xff0c;if()里面进行条件判断&#xff0c;如果条件判断正确就执行语句块1&#xff0c;如果不符合就执行语句块2。 if (条件判断) { 语句块1 } else { 语句块2 } int age 18;if (age < 18){Console.WriteLine("未…

Python面试宝典第18题:单词搜索

题目 给定一个m x n的二维字符网格board和一个字符串单词word。如果word存在于网格中&#xff0c;返回true。否则&#xff0c;返回false。单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成。所谓相邻单元格&#xff0c;是那些水平相邻或垂直相邻的单元格。 备注&…

Blender材质-PBR与纹理材质

1.PBR PBR:Physically Based Rendering 基于物理的渲染 BRDF:Bidirection Reflectance Distribution Function 双向散射分散函数 材质着色操作如下图&#xff1a; 2.纹理材质 左上角&#xff1a;编辑器类型中选择&#xff0c;着色器编辑器 新建着色器 -> 新建纹理 -> 新…

爬虫学习3:爬虫的深度爬取

爬虫的深度爬取和爬取视频的方式 深度爬取豆瓣读书 import time import fake_useragent import requests from lxml import etree head {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 …