全栈之路-前端篇 | 第一讲.基础前置知识【浏览器内核与网络知识】学习笔记

news2024/11/16 1:20:44

欢迎关注「全栈工程师修炼指南」公众号

点击 👇 下方卡片 即可关注我哟!

设为星标⭐每天带你 基础入门 到 进阶实践 再到 放弃学习

涉及 企业运维、网络安全、应用开发、物联网、人工智能、大数据 学习知识

  花开堪折直须折,莫待无花空折枝 


作者主页:[ https://www.weiyigeek.top ]

作者博客:[ https://blog.weiyigeek.top ]

作者答疑学习交流群:请关注公众号后回复【学习交流群

完整原文地址: 全栈之路-前端篇 | 第一讲.基础前置知识【浏览器内核与网络知识】学习笔记作为一名安全运维开发(SecOpsDev)工程师,为啥会整理学习前端相关技术笔记呢?本章主要讲解前端基础知识,包括浏览器内核、APP小程序、网络知识以及操作系统方面的知识,作为前端小白入门是必备,对于后续的前端技术学习打下基础。https://mp.weixin.qq.com/s/XYyRp1WeAwl3PcSSw5_rAQ


文章目录:

0X00 前言简述

0X01 前端基础知识

1.客户端

  • 主流浏览器

  • 浏览器内核

2.APP

  • 小程序

  • WebView

3.网络知识

  • Domain

  • TCP/IP

  • DNS

  • HTTP/HTTPS

4.操作系统

  • Windows

  • Linux

温馨提示: 由于作者水平有限,本章错漏缺点在所难免,希望读者批评指正,若有问题或建议请在文章末尾留下您宝贵的经验知识,或联系邮箱地址

master@weiyigeek.top 或 关注公众号 [全栈工程师修炼指南] 留言。

0X00 前言简述

有可能有的小伙伴会问,你作为一名安全运维开发(SecOpsDev)工程师,为啥会整理学习前端相关技术笔记呢?

一是为了补齐自己的知识短板(形成知识体系结构),毕竟来说一般会运维的不会开发,会开发的不一了解安全,而成为一名网络安全工作者或者说白帽子,你就势必什么都是知道一点,但是等待你学到一定层度后,你会发现遇到的瓶颈越来越多,此时你可能会非常迷茫也很苦恼,要么有的就放弃这条路(转型),要不就重头再来恶补基础知识,比如像笔者我。

二是为了将自己所学的东西、学习路径分享出来,帮助某些计算机爱好者(同道中人)入门学习,其次是为了加固自身所学的知识,可谓是一举两得。

三是为了项目的需求不得不对前端知识进行饿补,毕竟还是要在完成工作的前提为指导,因为领导关心的就是能不能做以及能不能做成,谁不爱有产出的员工(tool man,嘻嘻)。

好的,废话不多说,从2023年2月16日开始,一起跟着【WeiyiGeek】来看一下我的前端学习之路吧,希望对你们学习有帮助!

送给各位读者的话,成大事不在于力量的大小,而在于能坚持多久

c57120b62c6c0a180053a75fd0ce1161.jpeg


0X01 前端基础知识

1.客户端

主流浏览器

现在国内常见的浏览器有:IE、Firefox、QQ浏览器、Safari、Opera、Google Chrome、百度浏览器、搜狗浏览器、猎豹浏览器、360浏览器、UC浏览器、遨游浏览器、世界之窗浏览器等。

但目前最为主流浏览器有五大款,分别是IE(Edge)、Firefox、Google Chrome、Safari、Opera。

五大浏览器分别是Google Chrome、Safari、Firefox、Edge(Internet Explorer) 、Opera浏览器,采用的都是单内核,而随着浏览器的发展现在也出现了双内核(例如QQ/360)。

  • Google Chrome : Google Chrome 是一款由Google公司开发的一款设计简单、高效的Web浏览工具,其基于开源引擎WebKit中的分支Blink而生的浏览器,Blink 内核以及Chromium是Google公司自主研发的内核模式,包含V8 Javascript虚拟机,这个多线程的虚拟机可以加速Javascript的执行。目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

  • Safari :Safari 是一款由苹果公司开发的网页浏览器,是各类苹果设备(如Mac、iPhone、iPad、iPod Touch)的默认浏览器,Safari使用自家开发 WebKit 浏览器引擎,WebKit 内核是苹果自主研发的内核模式,包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来。

  • Firefox : Firefox 浏览器使Mozilla公司旗下浏览器,也是刚才提到的网景公司后来的浏览器。网景被收购后,网景人员创办了Mozilla基金会,这是一个非盈利组织,他们在2004年推出自己的浏览器Firefox其采用作为内核,Gecko 内核是Mozilla公司自主研发的内核模式.

  • Edge : Microsoft Edge 是一款快速而安全的浏览器,其是基于谷歌开发的 Chromium 内核,即微软的壳、Chromium 的心, 这次转变旨在解决 Edge 一直以来都难以解决的兼容性问题(在 EdgeHTML 下不少传统网页都无法正常显示)并融入现有的 Chromium 生态,所以 Google Chrome 中使用的浏览器插件通常也可以在Edge使用。

    • Internet Explorer : 已经是过去式了,此处不再详细提及,曾经占用量最大的浏览器,现在已被 Microsoft 推出的 Edge 所替代,其采用的 Trident 内核。

  • Opera :它是挪威Opera Software ASA公司旗下的浏览器。1995年,opera公司发布第一版Opera浏览器,使用自己研发的Presto内核。当时opera公司的开发团队不断完善Presto内核,使Opera浏览器一度成为顶级浏览器。直到2016年奇虎360和昆仑万维收购了Oprea浏览器,从此也丢弃了强大的Presto内核,改用当时Google开源的webkit内核,后来Opera浏览器跟随Google将浏览器内核改为Blink内核,自此Presto内核也淡出了互联网市场。

浏览器内核

五大内核分别是:Trident(也称IE内核)、Presto、Gecko、Webkit、Blink/Chromium (基于Webkit)。

  • Trident (['traɪd(ə)nt]) (IE内核):该内核程序在 1997 年的 IE4 中首次被采用,是微软在 Mosaic("马赛克",这是人类历史上第一个浏览器,从此网页可以在图形界面的窗口浏览) 代码的基础之上修改而来的,并沿用到 IE11,也被普遍称作 "IE内核"。

  • Presto (['prestəʊ]):它是挪威产浏览器 opera 的 "前任" 内核,为何说是 "前任",因为最新的 opera 浏览器早已将之抛弃从而投入到了谷歌大本营。pera 的一个里程碑作品是 Opera7.0,因为它使用了 Opera Software 自主开发的 Presto 渲染引擎,取代了旧版 Opera 4 至 6 版本使用的 Elektra 排版引擎。该款引擎的特点就是渲染速度的优化达到了极致,然而代价是牺牲了网页的兼容性。
    Presto 加入了动态功能,例如网页或其部分可随着 DOM 及 Script 语法的事件而重新排版。Presto 在推出后不断有更新版本推出,使不少错误得以修正,以及阅读 Javascript 效能得以最佳化,并成为当时速度最快的引擎,然而为了减少研发成本,Opera 在 2013 年 2 月宣布放弃 Presto,转而跟随 Chrome 使用 WebKit 分支的 Chromium 引擎作为自家浏览器核心引擎,至此Presto 内核的 Opera 浏览器版本永远的停留在了 12.17

  • Gecko (['gekəʊ]) (Firefox 内核):Netscape6 开始采用的内核,后来的 Mozilla FireFox(火狐浏览器) 也采用了该内核,Gecko 的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。因为这是个开源内核,因此受到许多人的青睐,Gecko 内核的浏览器也很多,这也是 Gecko 内核虽然年轻但市场占有率能够迅速提高的重要原因。

  • Webkit :实际上是由苹果公司开发给 Safari 浏览器使用的内核。现在很多人错误地把 webkit 叫做 chrome内核(即使 chrome内核已经是 blink 、Chromeium了),WebKit 前身是 KDE 小组的 KHTML 引擎,可以说 WebKit 是 KHTML 的一个开源的分支。当年苹果在比较了 Gecko 和 KHTML 后,选择了后者来做引擎开发,是因为 KHTML 拥有清晰的源码结构和极快的渲染速度,所以Webkit内核可以说是以硬件盈利为主的苹果公司给软件行业的最大贡献之一。

    • PS:Apple 在 Safari 里面使用了自己的 Nitro JavaScript 引擎(只用 WebKit 来渲染 HTML),所以一般说到 Webkit,通常指的就是渲染引擎(而不包括 Javascript 引擎)

  • Chromium/Blink :2008 年谷歌公司发布 chrome 浏览器,浏览器使用的内核被命名为 chromium,其 fork 自开源引擎 webkit,却把 WebKit 的代码梳理得可读性提高很多,提高了效率并且带动了浏览器行业的发展,谷歌公司还研发了自己的 Javascript 引擎,V8,极大地提高了 Javascript 的运算速度,然而 2013 年 4 月 3 日,谷歌在 Chromium Blog 上发表 博客,称将与苹果的开源浏览器核心 Webkit 分道扬镳,在 Chromium 项目中研发 Blink 渲染引擎(即浏览器核心),内置于 Chrome 浏览器之中。

我们所说的浏览器内核是什么?其究竟能干什么?

浏览器最重要或者说核心的部分是“Rendering Engine” 可大概译为“渲染引擎”,俗称称为“浏览器内核”。负责对网页语法的解释(如[标准通用标记语言]下的一个应用[HTML]、[JavaScript])并渲染(显示)网页。所以,通常所谓的浏览器内核也就是浏览器所采用的[渲染引擎],渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息,不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。

综上所述,浏览器的内核是指支持浏览器运行的最核心的程序,分为两个部分的,一是渲染引擎,另一个是JS引擎。用户在浏览器请求访问 URI(统一资源标示符)网络资源时,返回的数据由浏览器解释并显示 HTML 文件的方式是在 HTML 和 CSS 规范中指的,这些规范由网络标准化组织 W3C(万维网联盟)进行维护。

此处值得注意的是,并非所有的浏览器都完全遵从W3C规范(只是或多或少),通常还在开发自己独有的扩展程序。

7c16cfb395a461055d3078133b815fa9.png

Webkit 用的好好的,为何要投入到一个新的内核中去呢?
Blink 其实是 WebKit 的分支,如同 WebKit 是 KHTML 的分支。Google 的 Chromium 项目此前一直使用 WebKit(WebCore) 作为渲染引擎,但出于某种原因,并没有将其多进程架构移植入Webkit。

后来,由于苹果推出的 WebKit2 与 Chromium 的沙箱设计存在冲突,所以 Chromium 一直停留在 WebKit,并使用移植的方式来实现和主线 WebKit2 的对接。这增加了 Chromium 的复杂性,且在一定程度上影响了 Chromium 的架构移植工作。
基于以上原因,Google 决定从 WebKit 衍生出自己的 Blink 引擎(后由 Google 和 Opera Software 共同研发),将在 WebKit 代码的基础上研发更加快速和简约的渲染引擎,并逐步脱离 WebKit 的影响,创造一个完全独立的 Blink 引擎。这样以来,唯一一条维系 Google 和苹果之间技术关系的纽带就这样被切断了。

总结说明

  • 浏览器内核主要指的是浏览器的渲染引擎,2013 年以前,代表有 Trident(IE),Gecko(firefox),Webkit(Safari chrome 等)以及 Presto(opera)。2013 年,谷歌开始研发 blink 引擎,chrome 28 以后开始使用,而 opera 则放弃了自主研发的 Presto 引擎,投入谷歌怀抱,和谷歌一起研发 blink 引擎,国内各种 chrome系的浏览器(360、UC、QQ、2345 等等)也纷纷放弃 webkit,投入 blink 的怀抱。

  • 目前移动端浏览器有哪些内核?
    描述:移动端的浏览器内核主要说的是系统内置浏览器的内核。
    目前移动设备浏览器上常用的内核有 Webkit,Blink(Chromium),Trident,Gecko 等,其中 iPhone 和 iPad 等苹果 iOS 平台主要是 WebKit,Android 4.4 之前的 Android 系统浏览器内核是 WebKit,Android4.4 系统浏览器切换到了Chromium,内核是 Webkit 的分支 Blink,Windows Phone 8 系统浏览器内核是 Trident。

  • 作为前端开发学习,熟悉浏览器内核是非常有必要的,不同内核的解析不同使网页渲染效果更具多样化,下面总结一下各常用浏览器所使用的内核。

序号浏览器内核
1IETrident内核,也是俗称的IE内核;
2ChromeChromium内核或Chrome内核,以前是Webkit内核,现在是Blink内核;
3FirefoxGecko内核,俗称Firefox内核;
4SafariWebkit内核;
5Opera最初是自己的Presto内核,后来是Webkit,现在是Blink内核;
6360浏览器IE+Chrome双内核;
7猎豹浏览器IE+Chrome双内核;
8搜狗浏览器Trident(兼容模式)+Webkit(高速模式);
9遨游浏览器Trident(兼容模式)+Webkit(高速模式);
10QQ浏览器Trident(兼容模式)+Webkit(高速模式);
11百度浏览器IE内核;
12世界之窗IE内核;
132345浏览器以前是IE内核,现在也是IE+Chrome双内核;

**参考来源: **

  • 五大主流浏览器及四大内核 [https://zhuanlan.zhihu.com/p/102911463]


2.APP

小程序

当前说得最多、最火的就是小程序,例如我们熟知的微信小程序、支付宝小程序、百度小程序等。

发展背景与历程

随着当前APP(安卓、IOS)市场的饱和,大部分用户已经养成了使用习惯(国人必不可少的两个软件-微信、支付宝),开发新的APP很难在市场生存。此外,APP开发和推广成本高也是不争的事实,根据某数据显示移动电商APP的下载成本高达120-200 元,而且这些后期未必能形成转化,而像互联网金融、二手车电商APP的新客户成本,更是动辄高达数千元。

因此,不少“码农”们决定开始向小程序市场“跳槽”,从而使得小程序雨后春笋般的增长。

时间事件
2016年11月3日微信小程序正式开放公测
2017年9月20日支付宝小程序向用户开放公测
2018年3月小米、中兴、华为、金立、联想、魅族、努比亚、OPPO、vivo、一加共十家手机厂商一起推出了快应用,虽然名字不同,本质上也是小程序。
2018年7月百度宣布百度智能小程序正式上线
2019年6月腾讯QQ小程序上线
2020年6月23日苹果推出了一项新的“App Clip”小程序

那究竟什么是小程序?

按照百度百科介绍,小程序是一种不需要下载安装即可使用的[应用],它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装[卸载]。

小程序开发文档

  • 微信小程序: https://mp.weixin.qq.com/cgi-bin/wx?token=&lang=zh_CN

  • 支付宝小程序: https://opendocs.alipay.com/mini/development

  • 百度小程序: https://smartprogram.baidu.com/developer/index.html


WebView

什么是WebView?

Webview 是是指网页视图,它是一个基于webkit的引擎,可以解析DOM 元素,展示html页面的控件,它和浏览器展示页面的原理是相同的,所以可以把它当做浏览器看待,简单的说它就是APP内的一个容器的概念.

它可以内嵌在移动端,实现前端的混合式开发,大多数混合式开发框架都是基于WebView模式进行二次开发的,比如:APIcloud、uni-app等等的框架,以及微信小程序就是使用Webview进行渲染的。

WebView主要用于什么地方?或者说什么需求下会使用到webview?

个人理解,在电脑上我们可以非常轻松的通过浏览器打开页面即可浏览,而手机系统层面,如果没有webview支持,是无法展示html页面,所以webview的作用即用于手机系统来展示html界面的,所以它主要在需要在手机系统上加载html文件时被需要。

使用webview的好处?
原生APP是将页面的布局设计,以及业务代码打包然后用户下载安装使用,而webview是通过加载html文件来进行页面的展示,当需要更新页面布局的或者业务逻辑变更时,如果是原生的APP就需要修改前端内容,升级打包,重新发布才可以使用最新的。

而通过webview方式的页面则只需要修改html代码或者js文件(如果是从服务器端获取,只要新的文件部署完成),用户重新刷新就可以使用更新后的,无需通过下载安装的方式完成升级。


偷偷的告诉你哟?极客全栈修炼】微信小程序已经上线了,

可直接在微信里面直接浏览博主博客了哟,后续将上线更多有趣的小工具。


3.网络知识

网络相关基础知识作为开发或者说从事计算机行业的必功课,所以说一个好的开发者一定是对网络是有一定的掌握,但是互连网络知识体系、分类之多,此处作为入门教程不做过多的展开,有兴趣的小伙伴可以自行学习,下面针对我们会遇到的一些网络名词进行简单介绍。

Domain

什么是域名(Domain Name)?

A:是一串用点分割的字符,是互联网某台或者某组计算机的名称,使用者更好方便访问网页,而不需去记住一长串的IP地址字符,例如 http://www.weiyigeek.top/ --> IP地址

使用域名有何好处?

  • 1.方便人类记忆

  • 2.更换机器IP地址后不需要改变硬编码在应用的域名,只需要更改解析即可。

  • 2.便于实现负载均衡,例如一个域名可以对应多个IP。

  • 3.便于实现虚拟主机名进行访问同一个地址的多个应用,例如Nginx的代理。

Tips: 域名的购买与使用流程(温馨提示:国内服务器域名需要进行依法备案哟!):

  • 1.你在某域名提供商处购买了一个域名 weiyigeek.top

  • 2.域名提供商向 .top 对应的顶级域名服务器中插入一条以上的 NS 记录,指向它自己的次级 DNS 服务器,如 dns25.hichina.com.

  • 3.阿里云会向 TLD 中插入几条 NS 记录,指向阿里云的次级 DNS 服务器(如 alidns.com - 223.6.6.6)。

  • 4.你在该域名提供商的 DNS 管理界面中添加 A 记录,值为你的服务器 IP。

  • 5.OK 现在 ping 一下 weiyigeek.top,就会发现它已经解析到你自己的服务器了。

阿里云-域名购买:https://wanwang.aliyun.com/?source=5176.11533457&userCode=uelj47qf

腾讯云-域名购买: https://cloud.tencent.com/act/cps/redirect?redirect=10827&cps_key=b33075ae5a2baf3b47e7456ee5821502

TCP/IP

当前在因特网中使用的协议集(一组通过不同分层进行组织的协议)被称为TCP/IP协议族,TCP/IP协议族是一个分层协议,它由提供特定功能的交互式模块组成。

那TCP/IP是什么呢?又起了什么作用?

定义:TCP/IP是一组通信协议的代名词(其中包含一百多个协议),这组协议使任何具有网络设备的用户能访问和共享Internet上的信息,其中最重要的协议是传输控制协议(TCP)因特网协议(IP)

作用:TCP和IP是两个独立且紧密结合的协议,负责管理和引导数据报文在Internet上的传输,两者使用专门的报文头定义每个报文的内容。

  • TCP负责和远程主机的连接。

  • IP负责寻址,使报文被送到其该去的地方。

说到此处不得不提到 TCP/IP四层模型。

TCP/IP四层模型的出现要早于OSI七层模型,它是由美国国防部创建的,所以有时又称DoD(Department of Defense)模型,是迄今为止发展最成功的通信协议,被用于构筑目前最大的、开放的互联网络系统Internet。

所以尽管OSI七层参考模型(后面介绍)得到了全世界的认同,但是互联网历史上和技术上的事实开发标准则是TCP/IP模型。

# TCP/IP 协议簇中的分层
应用层 - 层5 
传输层 - 层4
网络层 - 层3
数据链路层 - 层2
物理层 - 层1

温馨提示: 为了简化了层次设备,又常常将TCP/IP模型说成四层,即将数据链路层物理层进行整合为网络接口层

扩展文章:(大神之路-起始篇 | 第6章.计算机科学导论之【计算机网络】学习笔记)[https://mp.weixin.qq.com/s/usJbZHe2Cfaurz6snVQyuA]

DNS

DNS(Domain Name System) 即域名名称服务:TCP/IP协议族使用唯一定义了该主机和网络之间连接的IP地址,但是为了方便人们记忆通常使用字符串而不是数字化的地址,因此网络需要有一个可以将名称映射到地址的目录系统,DNS的出现正是为了解决此问题。

例如,博主的 blog.weiyigeek.top 博客站点域名,通过如下步骤将主机名词映射到对应的IP地址上。
$ ping blog.weiyigeek.top
正在 Ping blog.weiyigeek.top [82.156.18.253] 具有 32 字节的数据:
来自 82.156.18.253 的回复: 字节=32 时间=51ms TTL=52

e820bd4851b9ee1a62033e2f8d520a10.png

扩展文章: 🌐 https://blog.weiyigeek.top/2019/1-22-511.html

HTTP/HTTPS

什么是 HTTP/HTTPS 协议?

  • HTTP协议全称Hyper Text Transfer Protocol-超文本传输协议,位于TCP/IP四层模型当中的应用层。

    • HTTP协议通过请求/响应的方式,在客户端和服务端之间进行通信。

    • 缺点:传输不够安全容易被拦截和篡改(HTTP协议的信息传输完全以明文方式,不做任何加密,相当于是在网络上“裸奔”)容易导致中间人攻击;

  • HTTPS协议全称Hypertext Transfer Protocol Secure,超文本传输安全协议,实际上是在HTTP协议的基础之上增加了SSL安全层(下面介绍的一系列认证流程就是在SSL层中完成),这是一套使用公钥/私钥机制的加密系统

    • 保护了交换数据隐私和完整性,提供对网站服务器身份认证的功能,简单来说它就是安全版的 HTTP。

    • 最新推出的TLS协议是SSL 3.0协议的升级版,和SSL协议的大体原理是相同的(简单的记就是TLS是SSL的升级版本)

HTTP/HTTPS处于TCP/IP层次

TCP/IP层次说明
应用层(HTTP[HTTPS]/FTP)HTTPS在HTTP基础上构建 SSL安全层,经过发展已经推出了TLS协议;
传输层(TCP/UDP)-
网络层(IP/ARP)-
数据链路层-

44df659cc69dbc795cca20c8ddeacd66.png

HTTPS 主要用途

  • 一是通过证书等信息确认网站的真实性;

  • 二是建立加密的信息通道;

  • 三是保证数据内容的完整性。

HTTPS相比较于HTTP协议的一些关键点

  • 成本问题:HTTPS要比HTTP更加消耗资源,SSL握手需要更多的数据包,加密解密也需要额外的运算。

  • HTTPS的证书需要专门的机构颁发,大机构颁发的证书不是免费的每年都得交几百几千块钱才能申请到证书,当然也可使用Let'sEncrypt进行申请免费证书,缺点是有效期只有90天,博主就是采用此方式给博客站点申请免费证书。

  • 因为某些颁发证书的机构会滥发证书,甚至会制造假证书,假证书可以用来进行中间人攻击;

扩展参考:

  • (HTTPS原理介绍以及证书签名的申请配置)[https://blog.weiyigeek.top/2019/10-21-10.html]

  • (Let'sEncrypt快速颁发及自动续签泛域名证书实践指南)[https://blog.weiyigeek.top/2022/3-11-589.html]


4.操作系统

说到操作系统,想必你肯定知道Windows操作系统,但是除了微软的操作系统外,还有苹果电脑的MacOS系统(unix),以及Linux操作系统(包含众多发型版本,例如Debian、CentOS、Ubuntu),我作为一名开发者通常会选择Ubuntu进行开发,别问我为啥不选择苹果电脑(PS: 作者太穷了买不起 ☺),此外我们简单介绍一下Windows与Linux操作系统,我相信大部分的开发者还是常常使用这两大操作系统。

Windows

微软操作系统(Microsoft System)是美国微软公司以图形用户界面为基础研发的操作系统,于1983年开始研发,最初的研发目标是在MS-DOS的基础上提供一个多任务的图形用户界面,后续版本则逐渐发展成为主要为个人电脑和服务器用户设计的操作系统,并最终获得了世界个人电脑操作系统的垄断地位。

微软(Microsoft)自1985年推出Windows 1.0以来,Windows系统经历了十多年风风雨雨。从最初运行在DOS下的windows95操作系windows95操作系统Windows 3.x,到现在风靡全球的Windows 9x、Windows 2000、Windows XP、Windows 2003、Windows vista、Windows 2008 、Windows2012、Win 7、Win 8、Win8 or 8.1 、Win10、乃至当前流行 Windows 11。

Windows 各版本发售时间

名称最新版本正式发售日期开发代号停止支持时间
主流扩展
[Windows 1.0](https://baike.baidu.com/item/Windows 1.0/761751)1.011985年11月20日Interface Manager2001年12月31日
[Windows 2.0](https://baike.baidu.com/item/Windows 2.0/762078)2.031987年12月9日不适用2001年12月31日
[Windows 2.1](https://baike.baidu.com/item/Windows 2.1/6577488)2.111988年5月27日不适用2001年12月31日
[Windows 3.0](https://baike.baidu.com/item/Windows 3.0/8734619)3.01990年5月22日不适用2001年12月31日
[Windows 3.1](https://baike.baidu.com/item/Windows 3.1/9033659)3.11992年4月6日Janus2001年12月31日
[Windows For Workgroups 3.1](https://baike.baidu.com/item/Windows For Workgroups 3.1/8260011)3.11992年10月Winball、Sparta2001年12月31日
[Windows NT 3.1](https://baike.baidu.com/item/Windows NT 3.1/1223887)NT 3.1.5281993年7月27日Razzle2000年12月31日
[Windows For Workgroups 3.11](https://baike.baidu.com/item/Windows For Workgroups 3.11/884644)3.11.3001993年8月11日Snowball2001年12月31日
[Windows 3.2](https://baike.baidu.com/item/Windows 3.2/9033676)3.2.1531993年11月22日不适用2001年12月31日
[Windows NT 3.5](https://baike.baidu.com/item/Windows NT 3.5/8241718)NT 3.5.8071994年9月21日Daytona2001年12月31日
[Windows NT 3.51](https://baike.baidu.com/item/Windows NT 3.51/4927553)NT 3.51.10571995年5月30日Tukwila2001年12月31日
[Windows 95](https://baike.baidu.com/item/Windows 95/757614)4.0.9501995年8月24日Chicago、4.02000年12月31日2001年12月31日
[Windows NT 4.0](https://baike.baidu.com/item/Windows NT 4.0/9033692)NT 4.0.13811996年7月31日Cairo2002年6月30日2004年6月30日
[Windows 98](https://baike.baidu.com/item/Windows 98/758579)4.10.19981998年6月25日Memphis、97、4.12002年6月30日2006年6月30日
[Windows 98 SE](https://baike.baidu.com/item/Windows 98 SE/311956)4.10.22221999年5月5日不适用2002年6月30日2006年6月30日
[Windows 2000](https://baike.baidu.com/item/Windows 2000/2769068)NT 5.0.21952000年2月17日NT 5.02005年6月30日2010年7月13日
[Windows Me](https://baike.baidu.com/item/Windows Me/759311)4.90.30002000年9月14日Millennium、4.92003年12月31日2006年7月11日
[Windows XP](https://baike.baidu.com/item/Windows XP/191927)NT 5.1.26002001年10月25日Whistler2009年4月14日2014年4月8日
[Windows XP 64-bit Edition](https://baike.baidu.com/item/Windows XP 64-bit Edition/3062713)NT 5.2.37902003年3月28日不适用2009年4月14日2014年4月8日
[Windows Server 2003](https://baike.baidu.com/item/Windows Server 2003/761146)NT 5.2.37902003年4月24日Whistler Server、Windows .NET Server2010年7月13日2015年7月14日
[Windows XP Professional x64 Edition](https://baike.baidu.com/item/Windows XP Professional x64 Edition/2922503)NT 5.2.37902005年4月25日不适用2009年4月14日2014年4月8日
[Windows Fundamentals for Legacy PCs](https://baike.baidu.com/item/Windows Fundamentals for Legacy PCs/9499165)NT 5.1.26002006年7月8日Eiger、Mönch2009年4月14日2014年4月8日
[Windows Vista](https://baike.baidu.com/item/Windows Vista/214535)NT 6.0.60032007年1月30日Longhorn2012年4月10日2017年4月11日
[Windows Home Server](https://baike.baidu.com/item/Windows Home Server/6901233)NT 5.2.45002007年11月4日Quattro2013年1月8日
[Windows Server 2008](https://baike.baidu.com/item/Windows Server 2008/4291457)NT 6.0.60032008年2月27日Longhorn Server2015年1月13日2020年1月14日
[Windows 7](https://baike.baidu.com/item/Windows 7/1083761)NT 6.1.76012009年10月22日Windows 72015年1月13日2020年1月14日
[Windows Server 2008 R2](https://baike.baidu.com/item/Windows Server 2008 R2/2212624)NT 6.1.76012009年10月22日不适用2015年1月13日2020年1月14日
Windows Home Server 2011NT 6.1.84002011年4月6日Vail2016年4月12日
[Windows Server 2012](https://baike.baidu.com/item/Windows Server 2012/1484395)NT 6.2.92002012年9月4日Server 82018年10月9日2023年1月9日
[Windows 8](https://baike.baidu.com/item/Windows 8/6851933)NT 6.2.92002012年10月26日不适用2016年1月12日
[Windows 8.1](https://baike.baidu.com/item/Windows 8.1/768457)NT 6.3.96002013年10月17日Blue2018年1月9日2023年1月10日
[Windows Server 2012 R2](https://baike.baidu.com/item/Windows Server 2012 R2/9822854)NT 6.3.96002013年10月18日Server Blue2018年10月9日2023年1月10日
[Windows 10](https://baike.baidu.com/item/Windows 10/6877791)NT 10.0.190452015年7月29日Threshold、Redstone、Vibranium2025年10月14日(不含LTSB/LTSC)
[Windows Server 2016](https://baike.baidu.com/item/Windows Server 2016/18708757)NT 10.0.143932016年10月12日Redstone2022年1月11日2027年1月12日
[Windows Server 2019](https://baike.baidu.com/item/Windows Server 2019/24272934)NT 10.0.177632018年10月2日Redstone2024年1月9日2029年1月9日
[Windows Server 2022](https://baike.baidu.com/item/Windows Server 2022/59326783)NT 10.0.203482021年8月18日Iron2026年10月13日2031年10月14日
[Windows 11](https://baike.baidu.com/item/Windows 11/57321047)NT 10.0.226212021年10月4日Sun Valley2023年10月10日2024年10月8日

Q: Windows 10版本 business_editionsconsumer_editions的区别?

答: 二者都内置专业版不同之处在于:
consumer_editions 版本包含:Home(家庭版); Education(教育版) ; Professional(专业版);
business_editions 版本包含:Education(教育版); Enterprise (企业版); Professional(专业版);

Windows 10 (business editions) VL版 ISO镜像包含以下版本(根据需要选择安装):

  • 专业版、企业版、教育版、专业工作站版、专业教育版

Windows 10 (consumer editions) 零售版 ISO镜像包含以下版本(根据需要选择安装):

  • 家庭版、专业版、教育版、家庭单语言版、专业工作站版、专业教育版

Q: Windows 10 各发行版本区别?

  • 家庭版(Home):供家庭用户使用,无法加入Active Directory和Azure AD,不允许远程桌面连接。

  • 专业版(Professional):供小型企业使用 在家庭版基础上增加了域账号加入、bitlocker、企业商店等功能。

  • 企业版(Enterprise):供中大型企业使用 在专业版基础上增加了DirectAccess,AppLocker等高级企业功能。

  • 教育版(Education):供学校使用 (学校职员, 管理人员, 老师和学生) 其功能基本和企业版的一样。

  • LTSB版:无Edge浏览器、小娜,无磁贴,可选是否下载和安装补丁,其它版都不能自选补丁。

  • N版:带“N”的版本相当于阉割版,移除了Windows Media Player,几乎用不到N版。

当前购买的计算机默认安装的 Windows 11是Windows 11家庭版版本,但除此之外还有 Windows 11专业版、Windows 11企业版、Windows 11专业工作站版、Windows 11教育版、Windows 11混合现实版 ,延伸版本为Windows 11 22H2(代号为Sun Valley 2,即“太阳谷2”),将于2022年9月发布。

扩展阅读:

  • Windows10 家庭版(Home) 开启远程桌面支持 :https://blog.weiyigeek.top/2019/5-28-566.html

  • Windows服务器核心(Server-Core)安装与基础配置使用 : https://blog.weiyigeek.top/2021/5-26-559.html

Linux

Linux 操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间,以MINIX为模版)芬兰大学生 auther:Linus Torvalds,在BBS上发布了一则消息,他以bash/GCC等工具写了一个核心程序,它可以在inter的386机器上面运作,自1994年完成了Linux核心正式版 v1.0 ,并加入了对X Window System的支持,然后1996年发布Linux核心正式版v2.0版本 , 托瓦兹指定企鹅为吉祥物。

Linux是一个开源的软件,我们可以任意的研究使用、散布、改良的自由。

Liunx是一个终端(Terminal)也称终端字符设备,是计算机网络中处于网络最外围的设备,主要用于用户信息的输入以及处理结果的输出等。

  • 在早期计算机系统中,由于计算机主机昂贵,因此一个主机(IBM大型计算机)一般会配置多个终端,这些终端本身不具备计算能力,仅仅承担信息输入输出的工作,运算和处理均由主机来完成。

  • 在个人计算机时代,个人计算机可以运行称为终端仿真器的程序来模仿一个终端的工作。

主要特点:

  • 基本思想

  • 完全免费

  • 完全兼容POSIX1.0标准

  • 多用户、多任务

  • 良好的界面

  • 支持多种平台

Linux存在着许多不同的Linux版本,但它们都使用了Linux内核,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统

The Linux Kernel Archives(官网): https://www.kernel.org/

Linux主要特性:(重要的核心思想 一切皆文件 )

1.严格区分大小写

2.系统一切内容皆是文件包括硬件设备也是

3.不靠扩展名来区分文件类型

4.Windows下的程序不能直接在LInux上面运行,需要移植重新编译;

5.字符界面的优势:

  • 优点1:占用系统资源更少

  • 优点2:减少了出错,被攻击的可能性.

  1. 开源免费

  2. 完全兼容POSIX1.0标准

8.支撑多用户、多任务

9.支持界面化与命令行 (terminal终端) 操作

10.支持多种平台

亲,文章就要看完了,不关注一下作者吗?

常见的UNIX&LINUX系统分类:

  • UNIX System V启动方式,启动服务的脚本放在/etc/rc.d/init.d下面。
    1.1 AIX | 这是一个由IBM公司主持研究的UNIX操作系统版本,它与SVR4兼容。主要是针对IBM的计算机硬件环境对UNIX系统进行了优化和增强。
    1.2 HP-UX | HP公司的UNIX系统版本,该系统是基于UNIXSystem V第2版开发的。它主要运行在HP的计算机和工作站上。
    1.3 Solaris | 是Sun公司基于UNIX System V的第2版并结合BSD 4.3开发的。它主要应用在Sun的计算机和工作站上。
    1.4 OS/2是由微软和IBM公司共同创造,后来由IBM单独开发的一套操作系统 是因为该系统作为IBM第二代个人电脑PS/2系统产品线的理想操作系统引入的。

  • BSD UNIX启动方式,在/etc/rc.d和/usr/local/etc/rc.d中存放启动服务的脚本。
    2.1 FreeBSD
    2.1.1 MacOS 是苹果公司为Mac系列产品开发的专属操作系统;macOS是全世界第一个基于FreeBSD系统采用“面向对象操作系统”的全面的操作系统。
    2.1.2 iOS 是由苹果公司开发的移动操作系统。
    2.2 NetBSD 是一个免费的,具有高度移植性的 UNIX-like 操作系统,是现行可移植平台最多的操作系统。
    2.3 OpenBSD 是一个多平台的,基于4.4BSD的类UNIX操作系统,是BSD衍生出的三种免费操作系统(另外两种是NetBSD和FreeBSD)之一,被称为世界上最安全的操作系统l 最初的OpenBSD基于NetBSD源码。

  • UNIX-Like
    3.1 GNU GNU is Not Unix。
    3.1.1 Debian GNU/Linux 采用了 Linux Kernel (操作系统的核心),但是大部分基础的操作系统工具都来自于 GNU 工程,因此又称为 Debian GNU/Linux。
    3.1.2 Ubuntu 是一个以桌面应用为主的开源GNU/Linux操作系统| Ubuntu 是基于Debian GNU/Linux。

    • ubuntu主要版本有基于Gnome的ubuntu,基于KDE的Kubuntu,基于Xfce的Xubuntu。

    • Ubuntu基于Debian发行版和GNOME桌面环境,而从11.04版起,Ubuntu发行版放弃了Gnome桌面环境,改为Unity。

  • Linux系统:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
    4.1 Android 是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
    4.2 Red Hat Enterprise Linux
    2004年4月30日,Red Hat公司正式停止对Red Hat 9.0版本的支持,标志着Red Hat Linux的免费时代正式结束。从此Red Hat公司不再开发桌面版的Linux发行包,而将全部力量集中在服务器版的开发上,也就是Red HatEnterprise Linux版,2005年10月RHEL4发布。
    4.2.1 CentOS | 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。

Linux与Windows有什么不同?

  • 操作系统内核不同:Windows 操作系统内核是NT, 而linux 是 shell

  • 硬盘文件格式不同: Windows 硬盘文件格式是fat32或NTSF, 而linux 需要的文件格式是xfs/ext4/ext3/ext2或ext。

  • 用户界面不同:Windows是图形化界面为主。而Linux是字符化界面为主(当然现在也支持桌面)

  • 硬件配置要求不同:你的硬件如果太新或太旧建议你还是装Windows吧,因为Linux的软件/硬件兼容性还有待提高,但是基本满足常见的硬件,有的大佬还是自己写驱动呢(像我们这样低段位的只有膜拜),

  • 安全性不同: 众所周知 Windows 恶意软件数量是最多是,Linux由于是字符界面在前几年还是相对安全,但是随着时间推移物联网、嵌入式的发展,越来越多的攻击者盯上了Linux,所以Linux系统的恶意脚本软件数量也在逐年增多,但是还是要比Windows更安全一些(一想到永恒之蓝,我都想将公司仅剩的五台windows服务器给重装为Linux)。

补充扩展:

  • Linux系统入门学习基础知识:https://blog.weiyigeek.top/2019/5-1-214.html

  • 鸟哥的Linux私房菜基础学习篇-3版笔记:https://blog.weiyigeek.top/2020/8-8-9.html

原文地址: https://blog.weiyigeek.top/2023/2-14-711.html

本文至此完毕,更多技术文章,尽情等待下篇好文!

如果此篇文章对你有帮助,请你将它分享给更多的人!

7adb165c2c9e2d68cef682f322cde3fe.png 学习书籍推荐 往期发布文章 9a4dcb2cd128878f72cd2ef05af761cd.png

大神之路-起始篇 | 第18章.计算机科学导论之【数据安全与人工智能】学习笔记

持续集成案例之使用Docker运行自构建Jenkins的Agent镜像固定工作节点实践(分享企业项目流水线代码)

记一次由于外部K8S集群证书到期导致Jenkins无法生成动态agent节点错误解决(入坑出坑)

运维案例之记一次Kubernete‍s集群证书过期或延期操作处理实践指南(干货分享)

网站首页被篡改? 看我使用PhantomJS利器实现网站自动监控修改并截图发送企业微信预警

4b9fa369ec4a29d173cb4b94f63ae058.gif

 点击【"阅读原文"】获取更多有趣的知识!

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

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

相关文章

内大-oj练习题(1期)

用于存储内大oj练习题 1. 排序题2. 实数输出3. 字符串比较大小4. 1055 找最小放表头,找最大放表尾5. 通过反转实现数据移动6. 破圈报数7. 通话记录8. 用栈实现进制转换9. 判断升序10. 金额的中文大写11. 生日组成的素数12. 判断是否属于一个子网13 统计字符个数14. 求前n项和1…

LeetCode02.07面试题 链表相交 带有输入和输出的链表相交

题目: 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意, 函…

Git的基本操作

文章目录1.git的工作流程2.git的工作环境3.git的基本操作(1)git init(2)git status(3)git add(4)git commit4.版本控制(1)git reflog与git log(2)再增加两个版本(3)git reset --hard 版本号(4)两个指针4.分支管理(1)对分支的理解(2)git branch和git branch -v(3)git checkout 分…

基于matlab的斜视模式下SAR建模

一、前言此示例说明如何使用线性 FM (LFM) 波形对基于聚光灯的合成孔径雷达 (SAR) 系统进行建模。在斜视模式下,SAR平台根据需要从宽侧斜视一定角度向前或向后看。斜视模式有助于对位于当前雷达平台位置前面的区域进行…

mysql EXPLAIN关键字

EXPLAIN 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。通过EXPLAIN,我们可以分析出以下结果: 表的读取顺序数据读取操作的操作类型哪些索引可以使用哪些索…

一文吃透SQL性能优化,阿里47条军规

目录1、先了解MySQL的执行过程2、数据库常见规范3、所有表必须使用Innodb存储引擎4、每个Innodb表必须有个主键5、数据库和表的字符集统一使用UTF86、查询SQL尽量不要使用select *,而是具体字段7、避免在where子句中使用 or 来连接条件8、尽量使用数值替代字符串类型…

【数据挖掘实战】——中医证型的关联规则挖掘

目录 一、背景和挖掘目标 1、问题背景 2、传统方法的缺陷 3、原始数据情况 4、挖掘目标 二、分析方法和过程 1、初步分析 2、总体过程 第1步:数据获取 第2步:数据预处理 第3步:构建模型 三、思考和总结 项目地址:Data…

YOLOv6-目标检测论文解读

文章目录摘要问题算法网络设计BackboneNeckHead标签分配SimOTA(YOLOX提出):TAL(Task alignment learning,TOOD提出)损失函数分类损失框回归损失目标损失行业有用改进自蒸馏图像灰度边界填充量化及部署实验消…

测试1:测试相关概念

1.测试相关概念 1.1.测试概念 1.1.1.需求 符合正式文档规定的条件和权能,包括用户需求和软件需求 它们之间的的转换是:沟通 用户需求和软件需求的区别: 能否指导开发人员开发,测试人员编写测试用例 1.1.2.缺陷Bug 与正确的…

补充前端面试题(三)

图片懒加载<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, in…

「数据仓库」怎么选择现代数据仓库?

构建自己的数据仓库时要考虑的基本因素我们用过很多数据仓库。当我们的客户问我们&#xff0c;对于他们成长中的公司来说&#xff0c;最好的数据仓库是什么时&#xff0c;我们会根据他们的具体需求来考虑答案。通常&#xff0c;他们需要几乎实时的数据&#xff0c;价格低廉&…

[SSD科普之1] PCIE接口详解及应用模式

PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准&#xff0c;它原来的名称为“3GIO”&#xff0c;是由英特尔在2001年提出的&#xff0c;旨在替代旧的PCI&#xff0c;PCI-X和AGP总线标准。一、PCI-E x1/x4/x8/x16插槽模式PCI-E有 x1/…

day20_经典接口(Comparable丶Comparator)

由来 我们知道基本数据类型的数据&#xff08;除boolean类型外&#xff09;需要比较大小的话&#xff0c;之间使用比较运算符即可&#xff0c;但是引用数据类型是不能直接使用比较运算符来比较大小的。那么&#xff0c;如何解决引用类型比较大小的问题&#xff1f; java.lang…

基于Spring、Spring MVC、MyBatis的房屋销售购买系统

文章目录项目介绍主要功能截图&#xff1a;登录前台首页后台首页房屋区域管理出租房屋审核账号管理部分代码展示设计总结项目获取方式&#x1f345; 作者主页&#xff1a;Java韩立 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题…

vTESTstudio - VT System CAPL Functions - VT2004(续2)

不要沮丧&#xff0c;不必惊慌&#xff0c;做努力爬的蜗牛或坚持飞的笨鸟&#xff0c;我们试着长大&#xff0c;一路跌跌撞撞&#xff0c;哪怕遍体鳞伤。vtsSetPWMVoltageLow - 设置PWM输出上的低电压功能&#xff1a;指定数字输出信号&#xff08;尤其是PWM信号&#xff09;输…

2023年美赛C题Wordle预测问题一建模及Python代码详细讲解

相关链接 &#xff08;1&#xff09;2023年美赛C题Wordle预测问题一建模及Python代码详细讲解 &#xff08;2&#xff09;2023年美赛C题Wordle预测问题二建模及Python代码详细讲解 &#xff08;3&#xff09;2023年美赛C题Wordle预测问题三、四建模及Python代码详细讲解 &…

史密斯圆图

在射频、微波中&#xff0c;常常使用史密斯圆图来做阻抗匹配。在不涉及复杂的数学推导&#xff0c;仍能把圆图用起来。 比如&#xff0c;共轭匹配。 RL1jX&#xff0c;需要找到-jX来抵消jX&#xff0c;消掉虚部之后&#xff0c;只留下实部&#xff0c;最终等效为RL‘1。 史密…

Android 基础知识4-2.7 RelativeLayout(相对布局)

一、RelativeLayout的概述 RelativeLayout&#xff08;相对布局&#xff09;是一种根据父容器和兄弟控件作为参照来确定控件位置的布局方式。在很多时候&#xff0c;线性布局还不能满足我们的需求&#xff0c;比如&#xff0c;我们在一行&#xff08;列&#xff09;上显示多个控…

C#反射原理

一、前言反射&#xff08;Reflection&#xff09;的内容在博客中已经写了一篇&#xff0c;什么是反射&#xff0c;反射的使用&#xff0c;反射优缺点总结&#xff1b;在面试中突然被问道反射的原理&#xff0c;按照理解反射就是在Reflection命名空间和对象的Type对象获取类的方…

Innodb索引还不清楚?看这一篇就够啦

1. 索引是什么 1.1 初识索引 ------------------- | id | name | age | ------------------- | 1 | 帅哥1 | 30 | | 2 | 帅哥2 | 18 | | 3 | 帅哥3 | 25 | | 4 | 帅哥4 | 21 | | 5 | 帅哥5 | 29 | | 6 | 帅哥6 | 35 | -------------------…