技术百科
yuhuo2021-12-29技术知识技术知识
技术名词
缩写
- SPA(Single Page Application):单页应用
- SFC(Single File Component):单文件组件
- AST(Abstract Syntax Tree):抽象语法树
- SSR(Serve Side Render):服务端渲染
- PWA(Progressive Web App):渐进式网页应用
- SEO(Search Engine Optimization):搜索引擎优化
- PV(Page View):浏览量
- UV(Unique Visitor):访客数
- DPR(Device Pixel Ratio):设备像素比
- DSL(Domain Specific Language):领域特定语言,一种为特定领域设计的,具有受限表达性的编程语言,如 SQL,CSS
- W3C(World Wide Web Consortium):万维网联盟
- AJAX(Asynchronous Javascript And XML):异步 JavaScript 和 XML
- XHR(XMLHttpRequest):XMLHttpRequest 对象
- C端(Consumer):面向消费者
- B端(Business):面向企业
软件版本
- Alpha:内测版(预览版)
- Beta:公测版
- RC(Release Candidate):发行候选版
- GA(Generally Available) / Release:发行正式版
- Stable:稳定版
- Final:最终版
- LTS(Long Time Support):长期支持版
- Trial:试用版
- Demo:演示版
- Lite:精简版
- Full:完整版
编程语言
- 操作系统、驱动程序、系统工具
- 通用:C、C++、Rust
- 服务端
- 通用:Java、Golang
- 轻量:NodeJS
- AI/数据:Python
- 游戏:C#
- 高性能:C++、Rust
- 前端
- 通用:JavaScript、TypeScript
- 高性能:C、C++、Rust(WebAssembly)
- Windows 桌面端
- 通用:C#
- Mac 桌面端
- 通用:Swift
- 老项目:Objective-C
- 跨平台桌面端
- 通用:JavaScript / TypeScript(Electron)
- 轻量:JavaScript / TypeScript + Rust(Tauri)
- 高性能:C++(Qt)
- IOS
- 通用:Swift
- 老项目:Objective-C
- 安卓
- 通用:Kotlin
- 老项目:Java
- 跨平台移动端
- 通用:JavaScript(React Native / UniApp)、Dart(Flutter)
- 特定领域
- 人工智能与机器学习、科学计算与数据分析、网络爬虫、自动化脚本:Python
- 游戏客户端:C#(Unity)
浏览器
浏览器引擎
| 浏览器 | 渲染引擎 | JS引擎 |
|---|---|---|
| IE | Trident | Chakra |
| Chromium、Chrome Edge、国产浏览器(QQ / 360 / UC / 搜狗) | Blink(基于 Webkit) | V8 |
| Opera | Blink(基于 Webkit) | Carakan |
| Safari | Webkit2 | JSCore |
| Firefox | Gecko | Monkey |
浏览器UA
Edge 浏览器为例:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0
- Mozilla/5.0:Safari 冒充 Mozilla
- (Windows NT 10.0; Win64; x64):操作系统
- AppleWebKit/537.36 (KHTML, like Gecko):Safari 使用 webkit引擎,基于 KHTML,像 Gecko 一样好用
- Chrome/122.0.0.0:Edge 使用和 Chome 一样的内核,冒充 Chrome 浏览器,沿用 4
- Safari/537.36:Chrome 同 Safari 一样基于 Webkit,冒充 Safari 浏览器,沿用 1、3、5
- Edg/122.0.0.0:真正的浏览器名称版本
MIME类型
text
| MIME类型 | 文件后缀 | 备注 |
|---|---|---|
text/plain | .txt,.dtd,.asc,.conf | 文本类型的默认值 |
text/html | .html,.htm,.shtml | |
text/xml | .xml | |
text/css | .css | |
text/javascript | .js | |
text/x-java-source | .java | |
text/x-markdown | .md,.markdown | |
text/x-sass | .sass | |
text/x-scss | .scss |
image
| MIME类型 | 文件后缀 | 备注 |
|---|---|---|
image/jpeg | .jpg,.jpe,.jpeg | 有损压缩,体积小 |
image/png | .png | 无损压缩,可编辑,支持透明色 |
image/gif | .gif | 无损压缩,支持动画,支持单一透明色,但只支持 8bit 色彩 |
image/webp | .webp | 有损/无损压缩,体积小,支持透明色,支持动画,但有兼容问题 |
image/x-icon,image/vnd.microsoft.icon | .icon | |
image/svg+xml | .svg | |
image/x-photoshop,image/vnd.adobe.photoshop | .psd |
audio
| MIME类型 | 文件后缀 | 所属 |
|---|---|---|
audio/basic | .au,.snd,.ulw | |
audio/aac | .aac | |
audio/mpeg,audio/x-mpeg | .mpa,.mpga,.mp2,.m2a,.mp2a,.mp3,.m3a | MPEG |
audio/mp4 | .m4a,.m4pa | MPEG |
audio/x-ms-wma | .wma | 微软 |
audio/x-ms-wax | .wax | 微软 |
audio/wav,audio/x-wav | .wav | 微软 |
audio/x-pn-realaudio | .ra,.ram | RealNetworks |
audio/x-pn-realaudio-plugin | .rmp | RealNetworks |
audio/webm | .weba | 谷歌 |
audio/x-matroska | .mka | Matroska |
audio/ogg | .oga | |
audio/midi,audio/x-midi | .mid,.midi,.kar | |
audio/3gpp | .3gp | |
audio/3gpp2 | .3g2 | |
audio/x-mpegurl | .m3u |
video
| MIME类型 | 文件后缀 | 所属 |
|---|---|---|
video/x-msvideo | .avi | 微软 |
video/x-ms-asf | .asf,.asx | 微软 |
video/x-ms-wm | .wm | 微软 |
video/x-ms-wmv | .wmv | 微软 |
video/mpeg | .mpg,.mpe,.mpeg | MPEG |
video/mpeg2 | .mpv2 | MPEG |
video/mp4 | .mp4 | MPEG |
video/quicktime | .qt,.mov | 苹果 |
video/x-m4v | .m4v | 苹果 |
video/rm | .rm | RealNetworks |
video/vnd.rn-realvideo | .rmvb | RealNetworks |
video/x-flv | .flv | Adobe |
video/x-f4v | .f4v | Adobe |
video/webm | .webm | 谷歌 |
video/x-matroska | .mkv | Matroska |
video/ogg | .ogv | |
video/vnd.vivo | .viv,.vivo | |
video/x-rad-screenplay | .avx | |
video/x-dv | .dv | |
video/x-sgi-movie | .movie | |
video/3gpp | .3gp | |
video/3gpp2 | .3g2 |
font
| MIME类型 | 文件后缀 | 备注 |
|---|---|---|
font/ttf | .ttf | 字体文件 |
font/otf | .otf | .ttf 升级版 |
font/woff | .woff | web 端字体文件,体积小 |
font/woff2 | .woff2 | .woff 升级版 |
application
| MIME类型 | 文件后缀 | 备注 |
|---|---|---|
application/octet-stream | .bin,.avb,.buffer | 二进制类型,浏览器接收到该类型时会直接当成文件下载 |
application/x-www-form-urlencoded | 表单字符串,如 “a=1&b=2” | |
application/json | .json,.map | json字符串,如 “{a: 1, b: 2}” |
application/xhtml+xml | .xhtml | |
application/xml | .xml | |
application/pdf | .pdf | |
application/rtf | .rtf | |
application/zip | .zip | |
application/x-gzip | .gz | |
application/x-tar | .tar | |
application/x-gtar | .gtar | |
application/x-rar-compressed | .rar | |
application/msword | .doc | |
application/vnd.ms-excel | .xls | |
application/vnd.ms-powerpoint | .ppt | |
application/vnd.openxmlformats-officedocument.wordprocessingml.document | .docx | |
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | .xlsx | |
application/vnd.openxmlformats-officedocument.presentationml.presentation | .pptx | |
application/postscript | .ps | |
application/java | .class | |
application/java-archive | .jar | |
application/x-httpd-php | .php | |
application/postscript | .ai | |
application/x-shockwave-flash | .swf | |
application/vnd.android.package-archive | .apk | |
application/x-msdownload | .msi,.exe,.dll,.bat | |
application/vnd.ms-fontobject | .eot | |
application/ogg | .oga | |
application/x-7z-compressed | .7z |
multipart
| MIME类型 | 文件后缀 | 备注 |
|---|---|---|
multipart/form-data | 文件上传 | |
multipart/byteranges |
时区
时区划分
0° 经线,也称为本初子午线,穿过英国伦敦格林尼治天文台(旧址),是东西经度的划分起点。
从 0° 经线向东至 180° 称为东经,代号 E(East)。
从 0° 经线向西至 180° 称为西经,代号 W(West)。
所以东经 180° 和西经 180° 是重合的,可以直接称为 180° 经线。
全球划分为 24 个时区,每个时区跨经度 15°(360 / 24 = 15),并以时区中央经线的时间为作为该时区的区时,相隔时区相差 1 个小时。
以本初子午线为中时区中央经线, 往东为东一区~东十二区,往西为西一区至西十二区(东十二区和西十二区各跨经度 7.5°,为半时区)。

| 时区 | 时区范围 | 时区中心线 |
|---|---|---|
| 西十二区 | 172.5°W ~ 180°W | 180°W |
| 西一区 | 7.5°W ~ 22.5°W | 15°W |
| 中时区 | 7.5°W ~ 7.5°E | 0° |
| 东一区 | 7.5°E ~ 22.5°E | 15°E |
| 东十二区 | 172.5°E ~ 180°E | 180°E |
UTC
世界标准时间(Coordinated Universal Time),基于原子钟,非常精确。
由于地球自转不稳定(越来越慢),UTC 每隔一段时间作出 ±1s 的调整,以此来保持差值不超过 ±0.9s,称为闰秒(比如说出现 2016-12-31 23.59.60,增加了 1s)。
在 Linux 中的查看当前 UTC 时间
# Sat May 11 09:05:08 AM UTC 2024
TZ=UTC date
携带 “Z” 也表示 UTC 时间,如在浏览器的控制台查看 Cookie 的 Expire 字段:2024-05-11T09:01:03.369Z 。
GMT
格林尼治标准时间(Greenwich Mean Time),基于地球自转,规定太阳直射本初子午线时为 12:00。
GMT 是前世界标准时,UTC 是现世界标准时,两者误差不超过 0.9s。
在 JavaScript 中,UTC 和 GMT 是视作等同的。
let date = new Date();
// Sat May 11 2024 16:07:47 GMT+0800 (中国标准时间)
console.log(date.toString());
// 查看 UTC,返回的是 GMT
// Sat, 11 May 2024 08:07:58 GMT
console.log(date.toUTCString());
CST
可以表示 4 种时间
- 中国标准时间(China Standard Time),UTC+8:00
- 美国中部时间(Central Standard Time (USA)),UTC-6:00
- 澳大利亚中部时间(Central Standard Time (Australia)),UTC+9:30
- 古巴标准时间(Cuba Standard Time),UTC-4:00
在 Linux 中的查看当前 CST 时间
# 如果当前系统时区设置为 Asia/Shanghai(如果不是的话)
sudo timedatectl set-timezone Asia/Shanghai
# Local time: Sat 2024-05-11 17:17:42 CST
# Time zone: Asia/Shanghai (CST, +0800)
timedatectl
# Sat May 11 05:17:33 PM CST 2024
date
