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

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

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

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

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

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


作者主页:[ 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

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

[email protected] 或 关注公众号 [全栈工程师修炼指南] 留言。

0X00 前言简述

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

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

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

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

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

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

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


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规范(只是或多或少),通常还在开发自己独有的扩展程序。

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

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。

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

序号 浏览器 内核
1 IE Trident内核,也是俗称的IE内核;
2 Chrome Chromium内核或Chrome内核,以前是Webkit内核,现在是Blink内核;
3 Firefox Gecko内核,俗称Firefox内核;
4 Safari Webkit内核;
5 Opera 最初是自己的Presto内核,后来是Webkit,现在是Blink内核;
6 360浏览器 IE+Chrome双内核;
7 猎豹浏览器 IE+Chrome双内核;
8 搜狗浏览器 Trident(兼容模式)+Webkit(高速模式);
9 遨游浏览器 Trident(兼容模式)+Webkit(高速模式);
10 QQ浏览器 Trident(兼容模式)+Webkit(高速模式);
11 百度浏览器 IE内核;
12 世界之窗 IE内核;
13 2345浏览器 以前是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

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

扩展文章:  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) -
数据链路层 -

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

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.01 1985年11月20日 Interface Manager 2001年12月31日
[Windows 2.0](https://baike.baidu.com/item/Windows 2.0/762078) 2.03 1987年12月9日 不适用 2001年12月31日
[Windows 2.1](https://baike.baidu.com/item/Windows 2.1/6577488) 2.11 1988年5月27日 不适用 2001年12月31日
[Windows 3.0](https://baike.baidu.com/item/Windows 3.0/8734619) 3.0 1990年5月22日 不适用 2001年12月31日
[Windows 3.1](https://baike.baidu.com/item/Windows 3.1/9033659) 3.1 1992年4月6日 Janus 2001年12月31日
[Windows For Workgroups 3.1](https://baike.baidu.com/item/Windows For Workgroups 3.1/8260011) 3.1 1992年10月 Winball、Sparta 2001年12月31日
[Windows NT 3.1](https://baike.baidu.com/item/Windows NT 3.1/1223887) NT 3.1.528 1993年7月27日 Razzle 2000年12月31日
[Windows For Workgroups 3.11](https://baike.baidu.com/item/Windows For Workgroups 3.11/884644) 3.11.300 1993年8月11日 Snowball 2001年12月31日
[Windows 3.2](https://baike.baidu.com/item/Windows 3.2/9033676) 3.2.153 1993年11月22日 不适用 2001年12月31日
[Windows NT 3.5](https://baike.baidu.com/item/Windows NT 3.5/8241718) NT 3.5.807 1994年9月21日 Daytona 2001年12月31日
[Windows NT 3.51](https://baike.baidu.com/item/Windows NT 3.51/4927553) NT 3.51.1057 1995年5月30日 Tukwila 2001年12月31日
[Windows 95](https://baike.baidu.com/item/Windows 95/757614) 4.0.950 1995年8月24日 Chicago、4.0 2000年12月31日 2001年12月31日
[Windows NT 4.0](https://baike.baidu.com/item/Windows NT 4.0/9033692) NT 4.0.1381 1996年7月31日 Cairo 2002年6月30日 2004年6月30日
[Windows 98](https://baike.baidu.com/item/Windows 98/758579) 4.10.1998 1998年6月25日 Memphis、97、4.1 2002年6月30日 2006年6月30日
[Windows 98 SE](https://baike.baidu.com/item/Windows 98 SE/311956) 4.10.2222 1999年5月5日 不适用 2002年6月30日 2006年6月30日
[Windows 2000](https://baike.baidu.com/item/Windows 2000/2769068) NT 5.0.2195 2000年2月17日 NT 5.0 2005年6月30日 2010年7月13日
[Windows Me](https://baike.baidu.com/item/Windows Me/759311) 4.90.3000 2000年9月14日 Millennium、4.9 2003年12月31日 2006年7月11日
[Windows XP](https://baike.baidu.com/item/Windows XP/191927) NT 5.1.2600 2001年10月25日 Whistler 2009年4月14日 2014年4月8日
[Windows XP 64-bit Edition](https://baike.baidu.com/item/Windows XP 64-bit Edition/3062713) NT 5.2.3790 2003年3月28日 不适用 2009年4月14日 2014年4月8日
[Windows Server 2003](https://baike.baidu.com/item/Windows Server 2003/761146) NT 5.2.3790 2003年4月24日 Whistler Server、Windows .NET Server 2010年7月13日 2015年7月14日
[Windows XP Professional x64 Edition](https://baike.baidu.com/item/Windows XP Professional x64 Edition/2922503) NT 5.2.3790 2005年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.2600 2006年7月8日 Eiger、Mönch 2009年4月14日 2014年4月8日
[Windows Vista](https://baike.baidu.com/item/Windows Vista/214535) NT 6.0.6003 2007年1月30日 Longhorn 2012年4月10日 2017年4月11日
[Windows Home Server](https://baike.baidu.com/item/Windows Home Server/6901233) NT 5.2.4500 2007年11月4日 Quattro 2013年1月8日
[Windows Server 2008](https://baike.baidu.com/item/Windows Server 2008/4291457) NT 6.0.6003 2008年2月27日 Longhorn Server 2015年1月13日 2020年1月14日
[Windows 7](https://baike.baidu.com/item/Windows 7/1083761) NT 6.1.7601 2009年10月22日 Windows 7 2015年1月13日 2020年1月14日
[Windows Server 2008 R2](https://baike.baidu.com/item/Windows Server 2008 R2/2212624) NT 6.1.7601 2009年10月22日 不适用 2015年1月13日 2020年1月14日
Windows Home Server 2011 NT 6.1.8400 2011年4月6日 Vail 2016年4月12日
[Windows Server 2012](https://baike.baidu.com/item/Windows Server 2012/1484395) NT 6.2.9200 2012年9月4日 Server 8 2018年10月9日 2023年1月9日
[Windows 8](https://baike.baidu.com/item/Windows 8/6851933) NT 6.2.9200 2012年10月26日 不适用 2016年1月12日
[Windows 8.1](https://baike.baidu.com/item/Windows 8.1/768457) NT 6.3.9600 2013年10月17日 Blue 2018年1月9日 2023年1月10日
[Windows Server 2012 R2](https://baike.baidu.com/item/Windows Server 2012 R2/9822854) NT 6.3.9600 2013年10月18日 Server Blue 2018年10月9日 2023年1月10日
[Windows 10](https://baike.baidu.com/item/Windows 10/6877791) NT 10.0.19045 2015年7月29日 Threshold、Redstone、Vibranium 2025年10月14日(不含LTSB/LTSC)
[Windows Server 2016](https://baike.baidu.com/item/Windows Server 2016/18708757) NT 10.0.14393 2016年10月12日 Redstone 2022年1月11日 2027年1月12日
[Windows Server 2019](https://baike.baidu.com/item/Windows Server 2019/24272934) NT 10.0.17763 2018年10月2日 Redstone 2024年1月9日 2029年1月9日
[Windows Server 2022](https://baike.baidu.com/item/Windows Server 2022/59326783) NT 10.0.20348 2021年8月18日 Iron 2026年10月13日 2031年10月14日
[Windows 11](https://baike.baidu.com/item/Windows 11/57321047) NT 10.0.22621 2021年10月4日 Sun Valley 2023年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

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

你可能感兴趣的:(前端学习之路,个人博客文章,前端,学习)