我对互联网和网站运作的理解 – Domain, DNS, Hosting 介绍
前言
一直没有写过关于互联网和网站运作的原理相关文章. 这篇就稍微介绍一下它们.
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 介绍的更多相关文章
- Java基础(49):快速排序的Java封装(含原理,完整可运行,结合VisualGo网站更好理解)
快速排序 对冒泡排序的一种改进,若初始记录序列按关键字有序或基本有序,蜕化为冒泡排序.使用的是递归原理,在所有同数量级O(n longn) 的排序方法中,其平均性能最好.就平均时间而言,是目前被认为最 ...
- Java基础(48):归并排序的Java封装含原理,完整可运行,结合VisualGo网站更好理解)
原理: 归并排序建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用. 将已有序的子序列合并,得到完全有序的序列:即先使每个子序列有序, ...
- Linux运维之每日小技巧-检测网站状态以及PV、UV等介绍
[root@ELK-chaofeng07 httpd]# curl -o /dev/null -w %{http_code}\\n -s www.baidu.com 状态码为200表示成功. PV.U ...
- 详析静态网站与动态网站区别(服务器ip dns 端口)
几个基本知识 1.服务器:能够提供服务的机器 取决于机器上所安装的服务软件 1) web服务器:提供web服务(网站访问) 就需要安装web服务软件,Apache,tomcat,iis等 2. ...
- 网站开发学习Python实现-Django学习-介绍(6.1.1)
@ 目录 1.MVT 2.ORM 关于作者 1.MVT 主要的目的是为了快速,简便的开发数据库驱动的网站,强调代码的复用,多个组件可以很方便以插件的方式服务于整个框架,采用的是MVT设计模式(差不多的 ...
- 网站与域名知识扫盲-DNS
域名概述 域名的概念 IP地址不易记忆 早期使用Hosts解析域名 主机名称重复 主机维护困难 DNS(Domain Name System 域名系统) 分布式 层次性 域名空间结构 根域 组织域[. ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_6-2.申请微信支付介绍和不同场景的支付方式
笔记 2.申请微信支付介绍和不同场景的支付方式 简介:介绍微信商户平台,支付方式和使用场景,申请微信支付流程 1.什么是微信商户平台: ...
- 大型网站的灵魂——性能
前言 在前一篇随笔<大型网站系统架构的演化>中,介绍了大型网站的演化过程,期间穿插了一些技术和手段,我们可以从中看出一个大型网站的轮廓,但想要掌握设计开发维护大型网站的技术,需要我 ...
- 关于大型网站技术演进的思考(十九)--网站静态化处理—web前端优化—上(11)
网站静态化处理这个系列马上就要结束了,今天我要讲讲本系列最后一个重要的主题web前端优化.在开始谈论本主题之前,我想问大家一个问题,网站静态化处理技术到底是应该归属于web服务端的技术范畴还是应该归属 ...
- 深入理解HTML5:语义、标准与样式(勇猛精进早登大师殿堂创最优品质交互)
深入理解HTML5:语义.标准与样式(勇猛精进早登大师殿堂创最优品质交互) [美]布拉德福(Bradford,A.) [美]海涅(Haine,P.)著 高京译 ISBN 978-7-121-20552 ...
随机推荐
- [oeasy]python0116_文字的起源_苏美尔文明_楔形文字_两河流域
文字起源 回忆上次内容 上次回顾了西里尔字符的编码过程 KOI-7 KOI-8 ISO-8859 系列进行总结 字符扩展 ascii 共 16 种 由iso组织制定 从 iso-8859-1 到 ...
- C# 算术表达式求值(后缀法),看这一篇就够了
一.种类介绍 算术表达式有三种:前缀表达式.中缀表达式和后缀表达式.一般用的是中缀,比如1+1,前后缀就是把操作符移到前面和后面,下面简单介绍一下这三种表达式. 1.前缀表示法 前缀表示法又叫波兰表示 ...
- C# 泛型SQLHelper<T>类
示例[1] 1.创建SQLHelper类 using System.Collections.Generic; using System.Configuration; using System.Data ...
- Notepad++实现代码格式化
NotePad++是一个轻量级的代码编辑器,占用内存少,运行速度快,Notepad++本身是不带这个格式化功能的,但他支持NppAStyle插件完成格式化. 1. 下载插件NppAStyle.dll, ...
- 基于vue.js 移动可视化,拖拽生成H5系统
效果预览 功能简介 基于Vue.js(2.0)版本开发的,通过拖拽可视化的操作,生成H5的页面,类似易企秀的工具,前端展示页面运用了之前发布的 vue-animate-fullpage 插件进行动画渲 ...
- Android低功耗子系统的投票机制以及触发进入系统休眠的过程
从kernel角度看,系统是否进入休眠应该由内核来控制,因此Linux引入了 wakeup source以及autosleep机制 关于wakeup source的介绍,请参考: Wakeup Sou ...
- vue 路由缓存 keep-alive include和exclude无效
<keep-alive :include="keepAliveData"> <router-view v-if="isShowRouter" ...
- 系动词&使役动词
系动词 系动词的作用就是赋值 I am a rabbit 把 a rabbit赋值给i我 我是一只兔子 The rabbit is smart 这兔子是聪明的 smart赋值给兔子 系动词连系的方式, ...
- 使用 $fetch 进行 HTTP 请求
title: 使用 $fetch 进行 HTTP 请求 date: 2024/8/2 updated: 2024/8/2 author: cmdragon excerpt: 摘要:文章介绍了Nuxt3 ...
- 【郝斌C ST】指针 swap问题
C语言 指针 swap问题 在主函数种实现变量的交换 现在我们把这交换的行为封装进方法中 swap函数确实进行了交换,打印也是10和5了,但是下面a和b的结果还是5和10 - 形参i 和 形参j 并不 ...