前言

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

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. [oeasy]python0048_取整_int_float_浮点型_cast_扮演_tab_制表键_制表符

    转化为10进制 回忆上次内容 上次 把其他进制 转化回 十进制 用的是 int 函数 int 来自于 integer 同源词 还有 integrate entire 意思都是完整的 完整的 和 零散的 ...

  2. css3实现背景三角形样式

    话不多说上效果图: css: font-family: PingFang-SC-Heavy, PingFang-SC; font-weight: 800; color: #2160AD; border ...

  3. CF1988C Increasing Sequence with Fixed OR Solution

    题意简述如下: 给定一个正整数 \(n\),请构造一个正整数序列使其满足以下条件并尽可能长:这个序列中每个数都大于等于 \(1\) 且小于等于\(n\):这个序列是单调递增的:这个序列中任意两个相邻的 ...

  4. git操作之一:git add/commit/init

    在日常的开发中,适用版本控制系统来进行协同开发已经是工作中的常态,使用比较多的要数git这个工具,今天就来说下git的日常用法以及在开发中的一些疑惑. 一.概述 git在日常开发中广泛应用,其概念可以 ...

  5. 【VMware VCF】VMware Cloud Foundation Part 05:部署 SDDC 管理域。

    之前文章("VMware Cloud Foundation Part 03:准备 Excel 参数表."和"VMware Cloud Foundation Part 04 ...

  6. LLM并行训练7-混合并行总结

    概述 根据前面的系列文章, 对预训练大模型里用到的主要并行加速技术做了一系列拆分分析. 但是在实际的训练里往往是多种并行混合训练. 我们要怎么配置这些并行策略才能让训练框架尽可能的减少通信瓶颈, 提升 ...

  7. 【Web】 抓包工具Charles

    官方软件包下载 https://www.charlesproxy.com/download/ 在线生成激活码: https://www.zzzmode.com/mytools/charles/ 代理设 ...

  8. 【Front-End】获取视频资源

    需求场景: 我妈发个消息,在某某是网站上发现一个很好的视频,对我妈来说是一个有用的视频资源 但是视频网站不提供下载功能,叫我来帮她获取这个资源 一般来说可以利用一些东西来实现这个需求 这个是视频地址: ...

  9. docker 容器(container)使用ssh服务登录一段时间无操作后自动断开问题解决

    如题,ssh登录建立好的docker容器,无操作一段时间后,发现ssh自动断开: 解决方法: 修改配置文件 /ect/ssh/sshd_config 在文件最后添加下面内容: PermitRootLo ...

  10. 多线程之park()与interrupt()的理解

    1.背景 其他不多说,很多时候面试会问 2.代码 package com.ldp.demo01; import com.common.MyThreadUtil; import lombok.exter ...