从磁盘文件到Web网站
问题
如何借用现代计算机系统构建一个个人日记本?
单机时代:磁盘文件夹
- 以文件和文件夹的方式进行内容的存储、组织和管理
- 以文件系统的路径为地址,如windows下的C:\myblog\2022-01-01\blog.doc
- 操作系统一般内置按文件名搜索;不支持全文搜索
- 编辑软件:Ms word等支持多媒体格式;记事本仅支持纯文本格式
- 浏览软件:Ms word、记事本、图片浏览工具等
磁盘日记本的缺陷
- 不同的操作系统支持不同的磁盘文件系统,引用格式不统一(假设你编写一段读取日记内容的程序,需要兼容运行在多个系统之上)
- window: C:\myblog\2022-01-01\blog.doc
- Linux: /home/tom/myblog/2022-01-01/blog.doc
- 不同的存储格式需要不同的编辑软件和浏览软件,导致不能分享
- .doc文件必须使用Ms word打开,如果所在机器上没有安装Ms word,则无法阅读该文件
- 不能跨机器在线访问或分享(假设你希望你电脑上的日记本被其它人访问)
- 离线copy: 如U盘,不能在线即时分享
- smb协议:即网络邻居。基于文件的传输,并且是专属于windows的私有协议
- ftp或p2p之类的协议:基于文件的传输,全部下载完毕之后,才能浏览
小结:难以互通、互联、共享
网络时代:Web网站
- 基于网页(page)与链接进行存储和组织
- 网站是由多个页面相互链接而成,页面是一个逻辑概念,用于表现一段内容,但它的物理来源可能是一个磁盘文件、一个进程等
- 采用url为统一地址格式,如 http://blog.x.com/2022-01-01.html
- Web页面采用开放、通用的标准
- 采用公共标准的html语言(与私有的word等相对)进行描述。任何人都可开发解析和渲染html的浏览器
- 采用纯文本编码(与二进制编码相对)进行存储,故支持各种文本编辑器,如记事本、vscode、sublime-text等
- Web 系统采用客户端/服务端架构,以解决跨系统的内容共享
- Web服务器:负责存储页面。在接收到浏览器的页面请求后,将页面发送给浏览器
- Web浏览器:接收用户的指令或点击,然后向服务器发送请求,再将Web服务器发来的页面进行解析和渲染为本地文件和屏幕图像
- 负责自动
- 交互形式:不是用户之间点对点地共享日记信息,而是通过一个中间服务器进行共享,称之为Web服务器
基于Web的个人博客
- 博主准备Web运行环境,如在自己的电脑上安装Web服务器,如Nginx、Apache等
- 博主使用html等语言编写网页(仍采用磁盘文件形式)
- 博主将网站源文件copy或上传到Web服务器软件指定的目标下
- 博主将网站地址告知博客的读者,如http://blog.x.com/
- 博客的读者或访问者在自己的电脑上安装Web浏览器,如chrome、firefox、IE等
- 读者在本机浏览器中访问网站地址,阅读博客内容。
- 相当于从博主机器的Web服务器中下载指定的网页文件,然后由读者机器上的Web浏览器进行解析
请与磁盘博客系统的构建、使用进行比较