网络公开课1

news2024/11/24 12:24:39

网络公开课1

概念*

常见面试题

输入URL发生哪些事 https http1.0 2.0的区别……

OSI七层模型 协议DNS

传输层 三次握手 四次挥手

http

物理层:并不是指光纤电缆那些,那些是设备。只关心如何传输数据,传输的是比特流 0 1

应用层:数据一般叫报文。比如ajax接口

报文增加一些东西,把应用层的数据进行装包(增加端口)作为数据段。

数据链路层:最终通信是通过网卡来通信的。

物理层拿到帧,依次拆包。

ipv6:8个16位块所组成

ip+mac地址

通过ip找mac

网线传输:最多100米

中继器:放大器

集线器:多口中继器。安全问题 广播浪费流浪

物理层:你给我什么我就转发什么

链路层:交换机

聪明一些。有一张映射表,记住端口和mac地址。

网络层:路由器

让2个不同的网络通信要经历网关。子网掩码

路由器充当了网关的角色。

每一层中比较重要的协议

协议:就是我们所说的约定和规范

https就是http加了安全套接层

主要协议*

应用层:HTTP协议 DHCP DNS

传输层:TCP UDP

网络层:IP ARP

 ARP协议

ARP协议:地址转换协议

ARP就会去做广播的操作:

做广播,然后有一个缓存表。

实现端到端的通信

DHCP协议

连上路由器,连上网:自动分配一个IP

DNS协议

域名 

几个点就是几级域名

两大种情况:

域名被解析过了:

自顶级域名往下 一级一级解析返回解析返回……

扩展:UDP通信我找你你返回结束,不用创造三次握手。 域名->根服务器,查找就是递归查找

总结:

DNS解析有两大种情况:

一种是这个域名已经被解析过了,我直接从缓存中取。那么缓存又分为:本地缓存。本地缓存指的是本地hosts文件和dns解析缓存。除了本地缓存,路由器也会做dns缓存,还有dns服务器中也有缓存。这个是从缓存中取的情况。

如果没有被解析过,那么就通过域名服务器和根服务器一级一级去解析,从顶级域名开始往下递归解析,然后返回缓存起来。

TCP UDP

http是基于tcp的 面向有连接的

udp是面向无连接的

tcp特点:

可靠。包丢了重传。在不可靠的ip层上建立了可靠的传输层,网络层很复杂,丢包了谁管,数据重发好处。

面向连接。要3次握手

全双工。双向沟通

TCP数据格式组成:32位

源端口号+目标端口号

序列号:接收方根据序列号重组数据段

代码实现:

抓包软件:wireshark

面试题:为什么TCP需要三次握手?

为了确认双方能互相通信

要把没发送的数据发送完毕,才能发送FIN报文。

SYN 握手

ACK 应答

FIN 结束,完成

PSH 发送数据

HTTP协议*

复习一下tcp的缺点:

1.1才是标准 0.9 1.0都是过渡版本

特点:

基于tcp传输层

客户端发一条数据,服务器应答。所以是半双工通信,服务器不会主动推送。

tcp通道无法复用。一次tcp通道建立只能发一次请求。

默认无状态。第1次和第2次之间数据有什么关系是不知道的。

纯文本协议:

协议本身是用可见字符去传输的。安全问题明文

请求头和响应头

组成结构:

请求行

请求头:描述我们的传输的数据内容。表单 文本 还是一张图片。

请求体

内容协商

服务器返回的数据类型,数据采用什么格式压缩

总结***重点

首先http协议是应用层的协议,是基于tcp的,是一种请求-响应模式的半双工通信协议。

我们工作中接触的最多的就是http报文。比如请求报文:请求行 请求头和请求体所组成。请求行很简单就是请求方式 url 和version。三者之中最有特点的字段最丰富的就是我们头部信息,请求头和响应头。像我们常用的有 content-type指明了该数据的类型mime类型,content-encoding指明了该数据是用什么格式压缩的,accept-language浏览器所接受的语言,user-agent浏览器的版本类型等信息,cookie&set-cookie,connection:keep-alive保持长连接,expires/cache-control强缓存,last-modified/etag协商缓存,有很多。

这边主要介绍下http 1.1 2.0版本的一些改进和优化。

1.1中最重要的改进就是connecttion:keep-alive保持长连接,实现tcp通道的复用。还有缓存策略上的优化,强缓存引入了cache-control,协商缓存引入了etag;错误状态码增加了很多;以及添加了range头支持断点续传;加入了host头

2.0中最主要的优化就是多路复用,使得请求在tcp通道上能并行从而避免阻塞,这个是更进一步的优化。还有头压缩和服务器主动推送。2.0采用的是二进制格式数据。

https://www.cnblogs.com/YouJeffrey/p/15334068.html

响应码去看下

长连接&管线化

长连接能复用tcp通道,但是会产生队头阻塞问题。

管线化优化:

每个域名最多建立6个tcp连接

请求并发,但是应答依然是按顺序的

http缓存

cache-control > expires

etag > last-modified

https

保证密文+防止篡改

在tcp的基础上增加了一层安全套接层

加密方法*了解这个就够了

  1. 对称加密

客户端和服务器端拥有一把共同的钥匙

  1. 非对称加密

2套公钥&私钥

  1. 混合加密

  1. 数字证书和CA

2个hash比对

浏览器拿到的是:CA公钥 + 私钥加密后的hash

然后把传过来的和自己解密后的进行比对

https的目的:

整个连接过程

首先是client hello:发送random和session id

服务器server hello

一来一回。

防攻击:如果有中间人不停发请求,服务器就会接收到一样的随机数。就说明有人在攻击。

发送证书,我把我自己的密钥交给你

DH参数互发。给dfharmon算法使用

DH参数

http2.0

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

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

相关文章

汇编物理地址计算与段地址认识

1.物理地址概念: 所有内存单元构造的存储空间是一个一维性空间.每个内存单元在这个空间都有一个唯一的地址,这个唯一的地址称为物理地址. CPU通过地址总线送入存储器的必须是一个内存单元的物理地址. 不同的CPU有不同形式的物理地址形成方式. 物理地址计算公式: 物理地址 …

微服务的演变史(单体式、分布式、SOA架构、微服务架构)

单体式架构 从架构层面来考虑:一个应用只部署一个服务,或该应用由多个服务组成的时候,只部署在一台服务器上 把一种系统的所有功能全部耦合在一个应用中的框架方式 这种开发方式简单,但是只适合体量较小的业务,一旦业务体量增加到一定程度的时候,单机的硬件资源将没办法满足…

JOSEF约瑟 JDL-1001A 电流继电器 导轨式安装 批发价格

名称:电流继电器品牌:JOSEF约瑟型号:JDL-1001A触点容量:250V2A整定范围:0.03-9.99A返回系数:≥0.9特点:交直流两用、消耗小、返回系数高。 型号说明 JD L -1 XXX X/ XXX / XXX 系列型号 JDL…

首发Yolov5/Yolov7优化:Adam该换了!斯坦福最新Sophia优化器,比Adam快2倍 | 2023.5月斯坦福最新成果

1.Sophia优化器介绍 斯坦福2023.5月发表的最新研究成果,他们提出了「一种叫Sophia的优化器,相比Adam,它在LLM上能够快2倍,可以大幅降低训练成本」。 论文:https://arxiv.org/pdf/2305.14342.pdf 本文介绍了一种新的模型预训练优化器:Sophia(Second-order Clippe…

vue2_模版语法

目录 模版语法 react用jsx语法编译后的null作用 插值表达式{{}} v-bind和{{}} 关于国内谷歌自带翻译停用如何解决(额外) 会一点的插值表达式,也有限制 模版语法 更接近原生js的写法jsx语法 jsx是react提出的;后很多前端框架…

LeetCode 周赛 347(2023/05/28)二维空间上的 LIS 最长递增子序列问题

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 往期回顾:LeetCode 单周赛第 346 场 仅 68 人 AK 的最短路问题 周赛 347 概览 T1. 移除字符串中的尾随零(Easy) 标签:模拟、…

HTTP协议深入理解+如何使用Fiddler抓包

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE初阶 目录 文章目录 一、HTTP概述 1.1 什么是HTTP 1.2 理解应用层协议 二、抓包工具fiddler的使用 2.1 几个需要注意的点 2.2 fiddler的原理 2.3 fiddler的使用技巧 三、HTTP请求(Re…

intel驱动程序和支持助理常见问题:不识别、无法检测等问题解决方法

起因: wifi驱动有点问题,于是想着更新一下官方的驱动,下载intel驱动程序和支持助理并安装完成后,打开成了这个样子,刷新多少次都没有用,就是不识别。 解决方法: 经过一波胡乱操作&#xff0…

华为OD机试之真正的密码(Java源码)

真正的密码 题目描述 一行中输入一个字符串数组,如果其中一个字符串的所有以索引0开头的子串在数组中都有,那么这个字符串就是潜在密码在所有潜在密码中最长的是真正的密码,如果有多个长度相同的真正的密码,那么取字典序最大的为…

使用CompletionService进行多个文件打包为zip下载

最近没怎么写博客了,因为前段时间在准备软考复习,昨天考完试,现在总算轻松一点了,有更多自由的时间了,总结一下JUC包下的一些并发工具类,主要是从使用场景入手。 CompletionService可以用于实现任务并行化…

数据结构入门(C语言版)图的概念和功能函数实现

图的概念和功能函数实现 前言1.图的定义和术语1.1 定义1.2 常用术语 2.图的存储结构2.1 图的数组(邻接矩阵)存储表示2.2 图的邻接表存储表示 3.图的遍历3.1 深度优先搜索3.2 广度优先搜索3.3 示例 4.连通网的最小生成树4.1 克鲁斯卡尔(Kruskal)算法4.2 普里姆(Prim)算法 5.图的…

企业云盘软件世界排行榜:提升企业文件管理效率的最佳工具

企业云盘是一种面向企业用户提供的在线存储和文件分享服务,它能够帮助企业实现数据备份、文件共享、办公协同等多种功能。通过企业云盘,企业可以将数据集中管理,避免了传统存储方式的不便和风险。 企业云盘的优势 1. 集中管理:企业…

【js】对象属性的拦截和Proxy代理与Reflect映射的用法与区别

✍️ 作者简介: 前端新手学习中。 💂 作者主页: 作者主页查看更多前端教学 🎓 专栏分享:css重难点教学 Node.js教学 从头开始学习 ajax学习 文章目录 对象属性的拦截介绍SetGet 对象的拦截介绍使用对象属性拦截和对象拦截区别练习题 映射…

【Python实战】Python采集地震信息

前言 昨天,我们这里发生了地震,不过,没有太大的问题,我就想着能不能把近几年发生地震的信息,收集下来,我们发现中国地震台网的官方微博会分布近几年发生地震的信息。我们可以直接在这里获取。 环境使用 python 3.9pycharm模块使用 requests模块介绍 requests requ…

每日一博 - 浅析事务隔离级别 MVCC机制

文章目录 DB四个隔离级别MVCC如何工作的 ?小结 DB四个隔离级别 数据库隔离允许事务执行,就像没有其他并发运行的事务一样。 下面的图说明了四个隔离级别。 Serializalble: 这是最高的隔离级别。并发交易保证按顺序执行。Repeatable Read: 事务开始时读…

Flutter 笔记 | Flutter 事件与通知

原始指针事件处理 命中测试 在移动端,各个平台或UI系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等&#xf…

重学迭代器和生成器

重学迭代器和生成器 之前在 JavaScript 高级程序设计第 7 章 迭代器和生成器 学习笔记 其实包含过 iterator 和 generator 的学习笔记,不过依旧温故而知新,有了一些实际上手的经验后重新再回滚一边会有比较深刻的理解,而不是只是 cv 书上的内…

硬件基础常识【3】--详细说说贴片电容器,可能有你不知道的

目录 贴片电容介绍MLCC的制作过程电容失效的头号大敌电容失效的最主要原因电容的容值、耐压值与封装尺寸的关系 电容串并联串联并联 电容的等效电路选取电容的建议总结 贴片电容介绍 贴片电容相信干电子技术活的基本都使用过,他的全称为:多层片式陶瓷电…

基础学习——读txt数据、字符串转list或数组、画PR曲线、画Loss曲线

文章目录 字符串转数组字符串中的数组转列表转整数列表 读数据,然后画PR曲线读取txt数据关于PR曲线代码 读数据画Loss曲线读txt数据代码 字符串转数组 .split() 是Python中的一个字符串方法,它可以将一个字符串按照指定的分隔符分割成多个子字符串&…

智能工厂 | 联合汽车电子有限公司汽车驱动科技上海智能工厂

智能制造是我国加快建设制造强国的主攻方向,是上海城市数字化转型的重要抓手。智能工厂是推动智能制造的切入点和突破口,是制造业数字化转型的重要载体,以智能工厂为载体布局新赛道、触发新动能、带动新终端,从而实现制造业高质量…