做个人网站的基础知识
什么是域名、解析、空间/服务器、动静态网站、程序语言、WEB 软件、数据库。
2013 年,我第一次注册域名做网站的时候对于域名、解析这些名词无法理解,那时候搜索的信息有限也没有 AI,全靠看别人的解释和自己理解,最开始一直用注册商的 DNS 服务,改一次记录很慢,后面偶然看到 dnspod 的广告,才知道 DNS 解析是可以更快的。现在搜索变得简单,AI 也越来越发达,知识的获取和理解变得更简单,下文仅做记录,如对您有帮助,也算是有意义了。
域名:这个名字很抽象,一般人都会理解为网址,这个不太准确,但是知道是什么意思就行,域名在没有指向(解析)到空间/服务器的时候没有什么意义,可以简单的认为这个就是你的名字,在互联网上你的网站的代号。
解析(DNS 解析):解析这个名字也有点抽象,向上面说的,理解为一种指向关系,通常的介绍为电话本,你给我域名,我怎么找到你的域名对应的空间/服务器呢?这时候就需要一个记录你的域名和空间/服务器的中间人来告诉我,就像 ARP 记录一样。一般用的比较多的就是 A(指向 IP,ipv4)、CNAME(指向别名,就是域名)、MX(邮件服务器)、TXT(记录文本)、AAAA(指向 IP,ipv6)。
空间/服务器:QQ 空间可以理解吧,基础设置都配置好了,直接上去配置网站就行了,建站里面的空间自由度要更高,一般叫虚拟主机,一台服务器划分出一堆资源给不同的用户,虚拟主机一般价格低廉,有基础环境。服务器简单的理解为就是一直在线的电脑,系统一般和家用 PC 不同,但是 WindowsServer 多数情况下可以当成普通 Windows 来用。一般情况下 Windows 用 3389,Linux 用 22 来进行连接。
动静态网站:只有三剑客(html、JavaScript、css)的叫做静态网站,需要用其他程序来生成页面的叫做动态网站,比如:Java、ASP.NET、Rust、Python、PHP、golang、ASP 这些。
程序语言:开发网站的编程语言,我们熟悉的 WordPress 就是 PHP 开发的,需要安装 PHP 环境,现在很多编程语言都有 WEB 框架,可选的有很多,根据自己的需要来选择。
WEB 软件:这里指运行网站的软件,IIS、Nginx、Apache、Tomcat 等,用来对外提供 80、443 端口访问,将流量转发给后端服务,或将静态网站暴露给用户。
数据库:顾名思义,存储数据的东西,很多现有的建站系统都会说明,比如:PHP+MySQL、ASP+SqlServer,比较流行的就是下面的,具体的类型不做解释了,一般我们做个人站点用的多的还是关系型数据库。
关系型数据库:SqlServer(微软)、MySQL(开源)、PostgreSQL(开源)、Oracle(甲骨文)、SQLite(轻量)、H2(Java 编写的轻量数据库)
非关系型数据库:Redis(KV 数据库)、MongoDB(文档型数据库)、HBase(列式数据库)
做一个网站,需要域名+空间/服务器,这是最小配置,市面上有免费和付费。
用户-->域名-->解析-->空间/服务器-->WEB 软件-->静态网站
用户-->域名-->解析-->空间/服务器-->WEB 软件-->动态网站<-->数据库
域名→天书的目录
解析→天书的页码
空间/服务器→天书里记录详细内容的那一页
动静态网站→静态是你看的那一页,动态是本书所赠光碟,你可以擦写光碟、魔改内容
程序语言→跳大神的与天沟通的神神叨叨
WEB 软件→上界大能赐给跳大神的铃铛、符箓、纸钱
数据库→跳大神的所依赖的天道
关系型数据库→天道坑人的 N 种方法
非关系型数据库→天道平等的坑一切人的方法
做一个网站→跳大神的渡劫
中间件厂商→上界大能
漏洞/补丁→穴窍的弱点/上界大能的本事
被攻击/防御→跳大神的之间互相攻伐
npm→草台班子
供应链投毒→跳大神的偷袭草台班子