前言

一直没有写过关于互联网和网站运作的原理相关文章. 这篇就稍微介绍一下它们.

1. 电脑文件

网站是由许多网页组成的, 网页就是电脑里的 file.

extension 是 .html

类似于 .mp3 = 歌曲, mp4 = 视频, .html = 网页

2. HTML player

想听歌就要有播放器, 比如 mp3 我的年代的播放器是千千静听.

mp4 则需要视频播放器

html 也需要网页播放器, 它就是 browser 游览器 (Chrome, Safari, Firefox, Edge)

3. lan cable

有 file, 有 player, 单机就可以自己玩了, 好比单机游戏一样, 但是这样显然不够好玩.

所以后来就有了区域网的概念, 把 2 台电脑用 lan cable 连上, 它们就可以互相传输信息.

比如从 PC A copy 一个 file paste to PC B.

4. IP Address

多台电脑连接在一起, 就要搞清除谁是谁, 所以就有了 IP address. 每台电脑都有自己专属的 IP address.

打开 cmd 输入 ipconfig/all 就可以看见电脑的 IP address 了

192.168.1.152 就是我电脑的地址, 192.168.1.1 是路由机器 (router) 的地址.

假设有 5 台电脑, 每一台都有一条 lan cable, 大家都插入链接到一个路由器.

这时就可以通过找 IP 找到指定的 PC, 然后 copy paste 文件了 (当然它需要 permission 啦)

注: 这里补上一个以前听过的知识, 当一台电脑发送信息时, 它会发给所有的电脑, 但是只有指定的电脑会接受, 其它的会拒接接受. 它的原理好像是这样的

5. Wireless / Wifi

lan cable 太丑了, 所以后来就做无线了, 靠电波, 但是它的运作是一样的.

6. Internet

如果只是一家人玩还不够爽, 如果可以把整个城市都连起来更爽.

显然这不是买个 router 就能解决的问题了. 要很大的 router, 而且不可能放在家里, 肯定是放到城中心, 还要守卫之类的.

所以就有了大型企业或者政府去做这个事情了. 马来西亚是 TM net 公司在做.

7. Fixed IP Address

试想想整个城市 / 国家都连起来以后, 电脑超级多, IP 超级多. 肯定就不够数了.

所以 IP 是 dynamic 的, 你 restart router 以后, 电信台就会给你一个新的 IP.

这就导致了一个问题, 你电话号码经常换的话, 别人怎么找你啊? 于是就有了 Fixed IP, 当然这需要额外付费向电信台买.

8. Hosting / Web Server

我的公司做了一个网站, 里面就是很多的 .html 文件.

我把这些 files 放到公司电脑里, 然后买 Fixed IP. 这样世界各地的人就可以通过 IP 链接到这台电脑.

然后 copy / paste (download) 这些 files 到他们的电脑里. 然后通过他们电脑里的 player (browser) 打开这个 .html files 就可以看到我公司的网页资料了.

公司的这台电脑就叫 hosting 或者 web server.

9. Domain

谁愿意记我公司的 IP Address 呢, 所以 IP to Name (Domain) 就很自然的诞生了.

域名必须确保是 unique 的, 不然就会找错电脑了. 所以需要有机构去管理. 要一个专属名字就需要买.

Fixed IP 要买, Domain 也要买.

10. DNS

在游览器输入一个域名以后, 它是如何知道这个域名对应到哪个 IP 呢?

这个和电话簿类似, 电脑里面也是有一个这样的电话簿, 叫 host file. 它记入了什么 domain 对应什么 IP address.

可是电话簿是我们自己输入的, 这对互联网来说是很不方便的, 想象我需要知道某个公司的名字和 IP address 然后写入电脑的电话簿, 我才能打开它的网站.

虽然打电话我们可以接受这样的流程, 但是互联网可接受不了.

所以就有了 DNS, 它就是一个大的电话簿.

ipconfig/all 会记入当前电脑链接的电话簿, 这个 8888 是 Google 的电话簿, 里面记入了每个 domain 链接到的 DNS

TODO... 未完待续...

host file

https://www.howtogeek.com/howto/27350/beginner-geek-how-to-edit-your-hosts-file/

我对互联网和网站运作的理解 – Domain, DNS, Hosting 介绍的更多相关文章

  1. Java基础(49):快速排序的Java封装(含原理,完整可运行,结合VisualGo网站更好理解)

    快速排序 对冒泡排序的一种改进,若初始记录序列按关键字有序或基本有序,蜕化为冒泡排序.使用的是递归原理,在所有同数量级O(n longn) 的排序方法中,其平均性能最好.就平均时间而言,是目前被认为最 ...

  2. Java基础(48):归并排序的Java封装含原理,完整可运行,结合VisualGo网站更好理解)

    原理: 归并排序建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用. 将已有序的子序列合并,得到完全有序的序列:即先使每个子序列有序, ...

  3. Linux运维之每日小技巧-检测网站状态以及PV、UV等介绍

    [root@ELK-chaofeng07 httpd]# curl -o /dev/null -w %{http_code}\\n -s www.baidu.com 状态码为200表示成功. PV.U ...

  4. 详析静态网站与动态网站区别(服务器ip dns 端口)

    几个基本知识 1.服务器:能够提供服务的机器 取决于机器上所安装的服务软件     1) web服务器:提供web服务(网站访问) 就需要安装web服务软件,Apache,tomcat,iis等 2. ...

  5. 网站开发学习Python实现-Django学习-介绍(6.1.1)

    @ 目录 1.MVT 2.ORM 关于作者 1.MVT 主要的目的是为了快速,简便的开发数据库驱动的网站,强调代码的复用,多个组件可以很方便以插件的方式服务于整个框架,采用的是MVT设计模式(差不多的 ...

  6. 网站与域名知识扫盲-DNS

    域名概述 域名的概念 IP地址不易记忆 早期使用Hosts解析域名 主机名称重复 主机维护困难 DNS(Domain Name System 域名系统) 分布式 层次性 域名空间结构 根域 组织域[. ...

  7. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_6-2.申请微信支付介绍和不同场景的支付方式

    笔记 2.申请微信支付介绍和不同场景的支付方式         简介:介绍微信商户平台,支付方式和使用场景,申请微信支付流程                  1.什么是微信商户平台:        ...

  8. 大型网站的灵魂——性能

    前言     在前一篇随笔<大型网站系统架构的演化>中,介绍了大型网站的演化过程,期间穿插了一些技术和手段,我们可以从中看出一个大型网站的轮廓,但想要掌握设计开发维护大型网站的技术,需要我 ...

  9. 关于大型网站技术演进的思考(十九)--网站静态化处理—web前端优化—上(11)

    网站静态化处理这个系列马上就要结束了,今天我要讲讲本系列最后一个重要的主题web前端优化.在开始谈论本主题之前,我想问大家一个问题,网站静态化处理技术到底是应该归属于web服务端的技术范畴还是应该归属 ...

  10. 深入理解HTML5:语义、标准与样式(勇猛精进早登大师殿堂创最优品质交互)

    深入理解HTML5:语义.标准与样式(勇猛精进早登大师殿堂创最优品质交互) [美]布拉德福(Bradford,A.) [美]海涅(Haine,P.)著 高京译 ISBN 978-7-121-20552 ...

随机推荐

  1. Python 潮流周刊#60:Python 的包管理工具真是多啊(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  2. ps -ef | grep xxx 解释

    上述内容为:命令拆解: ps:将某个进程显示出来-A 显示所有程序.-e 此参数的效果和指定"A"参数相同.-f 显示UID,PPIP,C与STIME栏位.grep命令是查找中间的 ...

  3. [oeasy]python0095_乔布斯求职_雅达利_atari_breakout_打砖块_布什内尔_游戏机_Jobs

    编码进化 回忆上次内容 上次 我们回顾了 电子游戏的历史 从 电子游戏鼻祖 双人网球 到 视频游戏 PingPong 再到 街机游戏 Pong 雅达利 公司 来了 嬉皮士 捣乱? 布什内尔 会如何 应 ...

  4. 第一节 线性数据结构 STL

    vector 容器 迭代器 vector<int> v{1, 0, 0, 8, 6}; for(vector<int>::interator it = v.begin(); i ...

  5. 如何在.NET Framework,或NET8以前的项目中使用C# 12的新特性

    前两天发了一篇关于模式匹配的文章,链接地址,有小伙伴提到使用.NET6没法体验 C#新特性的疑问, 其实呢只要本地的SDK源代码编译器能支持到的情况下(直接下载VS2022或者VS的最新preview ...

  6. Python 按规则解析并替换字符串中的变量及函数

    按规则解析并替换字符串中的变量及函数 需求 1.按照一定规则解析字符串中的函数.变量表达式,并替换这些表达式.这些函数表达式可能包含其它函数表达式,即支持函数嵌套 2.函数表达式格式:${ __函数名 ...

  7. P6680 [CCO2019] Marshmallow Molecules 题解

    P6680 题意 一个 \(n\) 点 \(m\) 边的图,图无重边,无自环. 满足这样一条性质:如果三边互不相等,则三边可以构成三角形. 思路 思路简单,用集合的思想来做. 引用一下 K0stlin ...

  8. nginx灰度发布、网站限速和防盗链

    一.灰度发布(金丝雀发布) 灰度发布时使用比较平稳的过渡方式升级或者替换产品项目的方法统称 主要作用 及时发现项目问题 尽早获取用户反馈的信息,以改进产品 如果项目产生问题,可以将问题影响控制到最小范 ...

  9. 【Kafka】03 Shell 操作

    查看Kafka主题列表 $KAFKA_HOME/bin/kafka-topics.sh \ --zookeeper centos7-02:2181,centos7-03:2181,centos7-04 ...

  10. 【Mybatis】09 日志工厂配置 & Log4J

    什么是日志 Log? 系统日志是记录系统中硬件.软件和系统问题的信息,同时还可以监视系统中发生的事件. 用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹. 系统日志包括系统日志. ...