写在开头
Hello,各位好呀! 😀
本次小编要分享的文章纯粹是一个记录而已😋,感兴趣你可以瞧瞧。内容大多基于小编个人的经验与认知,仅供参考,请诸君按需食用哈。
网络和协议相关
-
HTTP(Hypertext Transfer Protocol):超文本传输协议,用于在互联网上传输超文本数据。
-
HTTPS(Hypertext Transfer Protocol Secure):超文本传输安全协议,是 HTTP 的加强版。在 HTTP 的基础上加入了 SSL/TLS 协议,通过加密通信以及提供身份验证等机制,来保障网络数据传输过程中的安全性、保密性和完整性。
HTTP+SSL/TLS=HTTPS💯为什么HTTPS安全:
因为网络请求需要中间经过很多路由服务器的转发,中间节点都有可能被劫持而篡改信息,而如果使用HTTPS,密钥只有你和终点站才会有,这就使得HTTPS比HTTP更加安全可靠。
-
SSL(Secure Sockets Layer):安全协议层,保障数据在网络传输过程中的保密性和完整性,后被 TLS 取代。
-
TLS(Transport Layer Security):TLS 是一种安全协议,它的前身是 SSL。
-
TCP(Transmission Control Protocol):传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。
TCP协议是HTTP协议的基础。
最早在 HTTP/1.0 协议中,一个HTTP对应一个TCP,每次连接都需要通过TCP的三次握手,结束连接再经过四次挥手,极为损耗性能,当然,肯定还有其他各方面原因。
但随着网络技术发展及性能优化需求,HTTP/1.1 引入了持久连接(keep-alive)功能,即一个 TCP 连接可被重复用于多个 HTTP 请求,从而减少了连接建立和断开的开销。
但是,这还不够,持久连接虽然解决了一定的问题,但请求和响应是按顺序进行的,仍然存在队头阻塞问题,即一个请求的延迟可能会阻塞后续的所有请求,影响整体加载速度。
所以,HTTP/2.0 在应用层改变了传输方式,增加了一个二进制帧数据处理层,实现了多路复用的功能。多路复用的功能是 HTTP/2.0 一个重要的功能,要考的,所以具体细节就自行去了解啦。
再补一个小知识:谷歌浏览器通常对同一个域名最多允许同时建立 6 个 TCP 连接。😋
-
UDP(User Datagram Protocol):是一种无连接的传输层协议。与 TCP 相比,UDP 不提供可靠性保证,但数据传输速度更快。它适用于对实时性要求较高但对数据准确性要求相对较低的场景,如视频直播、音视频流转发、在线游戏等。
-
DNS(Domain Name System):域名系统,常说的域名解析,它用于将域名转换为 IP 地址。
-
CDN(Content Delivery Network):内容分发网络,通过在多个地理位置部署服务器,将内容缓存到离用户较近的节点,加速内容的分发和访问。
-
PB(Protocol Buffer):最近小编刚写得一篇文章,可以瞧瞧,传送门。
-
OSS(Object Storage Service):即对象存储服务,是一种海量、安全、低成本、高可靠的云存储服务。
数据结构和算法相关
-
Stack:栈。
-
Queue:队列。
-
Linked List:链表。
-
Tree:树。
-
Graph:图。
-
DFS(Depth First Search):深度优先搜索,是一种用于遍历或搜索图和树的数据结构的算法。
-
BFS(Breadth First Search):广度优先搜索,是一种用于遍历或搜索图和树的数据结构的算法。
-
Quick Sort:快速排序算法。平均时间复杂度为 O(nlogn) ,但在最坏情况下(例如数组已经有序),时间复杂度会退化为 O(n^2)。
-
Bubble Sort:冒泡排序算法。平均时间复杂度为 O(n^2) ,但在最坏情况下 O(n^2)。
-
Merge Sort:归并排序算法。时间复杂度为 O(nlogn)。
-
Selection Sort:选择排序算法。时间复杂度为 O(n^2)。
-
Insertion Sort:在最坏和平均情况下为 O(n^2),最好情况下(数组已经有序)为 O(n)。
这方面小编其实也了解不是很多,有一些也不是缩写,大致提了一下,随便瞧瞧得啦。💀
安全相关
-
XSS(Cross Site Scripting):跨站脚本攻击,是一种常见的网络安全漏洞,攻击者将恶意脚本注入到网页中。
-
CSRF(Cross Site Request Forgery):跨站请求伪造,是一种利用用户已登录的身份,在用户不知情的情况下,以用户的名义发送恶意请求的攻击方式。
-
CSP(Content Security Policy):内容安全策略,是一种浏览器机制,用于防止 XSS 等攻击,通过设置策略来限制网页可以加载的资源。
呃...这方面主要需要了解一下 XSS 与 CSRF 是啥,小编记得之前面试,有面试题就提及这两个缩写,当时一脸懵逼。😅 "前端"听起来好像和安全离得很远,但是,有精力也可以了解了解嘛,作为一个知识储备。
性能衡量指标
-
FCP(First Contentful Paint):首次内容绘制,是衡量用户体验的一个性能指标,表示页面首次绘制出内容的时间。
-
LCP(Largest Contentful Paint):最大内容绘制,也是性能指标,用于衡量页面主要内容首次绘制的时间。
-
CLS(Cumulative Layout Shift):累积布局偏移,是一种衡量页面视觉稳定性的性能指标。
-
TTI(Time to Interactive):可交互时间,指页面从开始加载到用户可以进行交互操作所需要的时间。
-
FID(First Input Delay):首次输入延迟,是衡量用户首次与页面交互时的响应延迟的性能指标。
-
TBT(Total Blocking Time):总阻塞时间,是指页面在首次内容绘制和可交互时间之间被阻塞的时间总和。
-
FMP(First Meaningful Paint):首次有意义绘制,是衡量页面首次绘制出有意义内容的时间。
-
PV(Page View):即页面浏览量,是指网站的页面被访问的总次数。
-
UV(Unique Visitor):即独立访客数,是指在一定时间范围内访问网站的不同独立用户的数量。
-
FPS(Frames Per Second):即每秒传输帧数,是指游戏画面每秒更新的帧数。
模块规范
-
AMD(Asynchronous Module Definition):requireJS在推广中对模块定义的规范,异步模块定义,是一种异步加载模块方式,用户体验比较好,没有延迟,模块都是提前执行。
-
CMD(Common Module Definition):seaJS在推广中对模块定义的规范,异步模块定义,是一种推崇就近执行,也就是延迟执行。
-
CommonJS:nodeJS对模块定义的规范。
-
ESM(ECMAScript Module):JavaScript对模块定义的规范。
-
UMD(Universal Module Definition):通用模块定义,是一种兼容 AMD、CMD、CommonJS 和 ESM 等多种模块规范的定义方式。
包管理器
-
NPM(Node Package Manager):Node 包管理器,用于管理 Node.js 项目中的依赖包。
-
CNPM(Chinese NPM):是淘宝镜像的 NPM,在国内网络环境下可以更快地下载包。
最新的淘宝镜像地址:
http://registry.npmmirror.com将npm源永久替换为cnpm源:
npm config set registry http://registry.npmmirror.com
-
PNPM(Performant NPM):是一种比 NPM 更节省磁盘空间和下载时间的包管理工具,主要是通过"软链接"来解决。
-
Yarn(Yarn NPM):Facebook 推出的另一种包管理工具,与 NPM 类似,但有一些性能优化。
格式化上下文
-
BFC(Block Formatting Context):块级格式化上下文,是 CSS 中的一种布局机制。它是指一个独立的渲染区域或者说一个隔离的独立容器。容器里面的元素不会影响到外面的元素,反之也是如此。
-
IFC(Inline Formatting Context):内联格式化上下文,是处理内联元素布局的 CSS 机制。
-
FFC(Flex Formatting Context): 弹性格式化上下文,是 CSS 中当一个元素设置为
display: flex或者display: inline-flex时所创建的布局环境。 -
GFC(Grid Formatting Context):网格格式化上下文,是在 CSS 中当一个元素设置为
display: grid或者display: inline-grid时创建的布局环境。 -
NFC(Normal Flow Context):正常流上下文,文档默认的布局方式是正常流。
-
TFC(Table Formatting Context):当使用 HTML 的
<table>标签或者通过 CSS 的display: table相关属性(如display: table-row、display: table-cell等)来创建表格布局时,就会形成表格格式化上下文。
KFC?😂
HTML+CSS+JS
-
BEM(Block Element Modifier):是一种 CSS 命名规范,有助于组织和管理 CSS 代码。
-
Physical Pixels:物理像素,它是设备屏幕实际包含的像素点数量,是硬件层面的概念。
-
DIPs(Device Independent Pixels):设备独立像素,也称为 CSS 像素,是一种抽象的像素单位。在 CSS 样式表中,设置一个元素的宽度为 200px,这里的 “px” 指的就是设备独立像素,而不是物理像素。
-
DRP(Device Pixel Ratio):设备像素比,指物理像素和设备独立像素(也称为 CSS 像素)之间的比例关系。
-
PPI(Pixels Per Inch):物理像素密度,是指每英寸长度或宽度上所包含的物理像素数量。
-
DPI(Dots Per Inch):打印点数,用于衡量打印机在每英寸纸张上能够打印的点数。
-
DOM(Document Object Model):文档对象模型,DOM 是一种用于 HTML 和 XML 文档的编程接口,它将文档的内容解析为一个由节点(Node)和对象(Object)构成的树形结构。
-
BOM(Browser Object Model):浏览器对象模型,是浏览器提供的用于与浏览器窗口进行交互的一组对象和接口。它不是 HTML 或 XML 规范的一部分,而是由浏览器厂商实现的扩展接口。
-
AO(Activation Object):活动对象,也称局部对象,在 JS 的执行环境中,当一个函数被调用时,会创建一个活动对象,它包含了函数的参数、局部变量以及一个特殊的
arguments对象。 -
GO(Global Object):全局对象,在浏览器环境中,
window对象是全局对象;在 Node.js 环境中,global对象是全局对象。 -
IIFE(Immediately Invoked Function Expression):立即调用函数表达式,是一种 JavaScript 函数的使用模式,函数在定义后立即执行,也就是自执行函数。
-
TDZ(Temporal Dead Zone):暂时性死区,是 ES6 中 let 和 const 声明变量时的一种特性,在变量声明之前访问变量会报错。
-
GC(Garbage Collection):垃圾回收,一种自动内存管理机制,用于回收程序中不再使用的内存空间。
杂七杂八(框架)
-
PWA(Progressive Web App):渐进式 Web 应用,是一种结合了网页和原生应用特点的应用程序,可以提供类似原生应用的体验。
-
SSR(Server Side Rendering):服务器端渲染,是指在服务器端生成页面的 HTML 内容,然后发送给客户端,有助于提高首屏加载速度和 SEO。
-
SEO(Search Engine Optimization):搜索引擎优化,是指通过优化网站内容和结构等,提高网站在搜索引擎中的排名。
-
SPA(Single Page Application):单页应用,是一种 Web 应用程序,整个应用只有一个 HTML 页面,内容通过 JavaScript 动态加载和渲染。
-
SFC(Single File Component):单文件组件,在 Vue.js 等框架中使用,将 HTML、CSS 和 JavaScript 封装在一个文件中。
-
MVC(Model View Controller):一种将应用程序划分为模型(Model)负责数据处理、视图(View)负责界面展示、控制器(Controller)负责协调两者关系的架构思想。
-
MVVM(Model View ViewModel):一种以数据绑定为核心,将应用程序分为模型(Model)、视图(View)和视图模型(ViewModel)的架构思想,视图模型对模型数据进行转换处理用于视图展示,视图和视图模型之间通过数据绑定自动更新数据和界面。
-
DLL(Dynamic Link Library):动态链接库,在 Webpack 打包过程中,DLL 可以用于预先打包一些不太经常变化的第三方库。
-
UE(User Experience):用户体验,用户在使用产品过程中建立起来的纯主观感受。用户喜好、用户习惯、系统语言等等。
-
UX(User Experience Design):用户体验设计,即用户交互,UX 设计是设计团队为了提升用户体验而进行的一系列设计过程。它是一种以用户为中心的设计方法,通过了解用户的需求、目标、行为和情感,来设计产品的功能、交互流程和视觉元素等。
至此,本篇文章就写完啦,撒花撒花。