【Web探索之旅】第三部分第二课:IP地址和域名
内容简介
1、第三部分第二课:IP地址和域名
2、第三部分第三课预告:协议
第三部分第二课:IP地址和域名
上一课我们说了在Web之中,全球各地有无数台机器,有些充当客户机,有些作为服务器。
那么这些机器如何找到和辨认彼此呢?难道不会“只是因为在人群中多看了你一眼,再也没能想起你容颜”吗?
如果我用我的浏览器上网,我怎么知道哪个服务器向我发送此网站呢?
为了解决这个难题,IT科学家们使用了一个叫做IP地址的东西(东西好像有点太难听了,IP它根本就不是个东西好嘛)。
IP是Internet Protocol的简称,英语意为“互联网协议”。
IP地址就是用来表示每一台连接Web的机器的。而且是唯一标识(当然我们在【TCP/IP探索之旅】中会讲到不同类别的IP地址,有些是可以重复的,牵涉到局域网,广域网,公有地址和私有地址等概念,在此不深究)。
我们暂时只要了解:大范围来讲,全球每台电脑都有一个独一无二的IP地址,就好像是它的唯一铭牌。我们可以把“电脑”比作“电话”,那么“IP地址”就相当于“电话号码”。
IPv4和IPv6
IPv4和IPv6是IP地址的不同版本,v4就是第四版(v是英语version的首字母,version意为“版本”),那么v6就是第六版。
IPv4的地址长度为32位(共有2^32(2的32次方)个IP地址),分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用句点隔开。例如159.226.13.1。
IPv6的地址长度为128位(共有2^128(2的128次方)个IP地址),分为8段,每段16位,用十进制数字表示,每段数字范围为0~65535,段与段之间用句点隔开。如果每个16位用16进制表示,那么例如1080:0000:0000:0000:0008:0800:200C:417A。
互联网当前使用的主要是基于IPv4协议的32位地址,地址总容量近43亿个。而IPv6地址采用128位标识,数量为2的128次方,相当于IPv4地址空间的4次幂。
有人曾形象地比喻:“IPv6可以让地球上每一粒沙子都拥有一个IP地址。”
实际上,并不急于推广IPv6,只需在现有的IPv4基础上将32位扩展8位到40位,即可解决IPv4地址不够的问题。这样一来可用地址数就扩大了256倍。
我们的课程中还是以IPv4的地址值来举例。
例如我们有以下IP地址:
难道我们每次上网,都要在地址栏里输入这样的数字才能找到我要的网页吗?这样的话太累了,臣妾做不到啊。
那怎么办呢?于是域名应运而生。
域名
因为直接记每个IP地址太难,所以人们想到了用人类易于记忆的名字来代替数字。比如,上面例子中的 205.89.177.26,其实是曾经Google首页的IP地址。所以我们就用一个域名(domain name)来代替,也就是:google.com
但是我们的服务器其实只认得数字形式的IP地址。所以我们需要一个“中间人”,将google.com这样的域名先解析成205.89.177.26,然后再找到对应的网页。
这个中间人就是DNS,Domain Name System(域名系统),是Internet的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。
有了DNS,我们就可以轻松地在地址栏输入 google.com,然后经过DNS解析,变为对应的IP地址,再由服务器读取。
DNS是由域名解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定有域名。
总结
IP地址使我们可以找到地球上每台联网的电脑。
记住域名比IP地址方便,而从域名到IP地址的解析是通过DNS。
第三部分第三课预告
今天的课就到这里,一起加油吧!
下一课我们学习:协议
程序员联盟 微信公众号
*您若觉得本文不错,请点击画面右上角《···》按钮分享
*新朋友请关注「程序员联盟」微信搜公众号 ProgrammerLeague
程序员联盟官网:
小编微信号: frogoscar
小编邮箱: enmingx@gmail.com
小编QQ号: 379641629
程序员联盟QQ群:413981577
程序员联盟微信群:先加我微信
头条网自媒体“程序员联盟”:
http://www.toutiao.com/m3750422747/
小编的51CTO博客,CSDN博客,博客园,新浪博客和开源中国博客
http://4526621.blog.51cto.com
http://blog.csdn.net/frogoscar
http://www.cnblogs.com/frogoscar
http://blog.sina.com.cn/frogoscar
http://my.oschina.net/frogoscar/blog
【打赏小编】
觉得文章对您有帮助,请纪念小编的辛勤劳动,扫描二维码打赏小编,谢谢!
支付宝
Paypal
【Web探索之旅】第三部分第二课:IP地址和域名的更多相关文章
- 【C++探索之旅】第一部分第二课:C++编程的必要软件
内容简介 1.第一部分第二课:C++编程的必要软件 2.第一部分第三课预告:第一个C++程序 C++编程的必要软件 经过上一课之后,大家是不是摩拳擦掌,准备大干一场了呢. 这一课我们来做一些C++开发 ...
- 【Linux探索之旅】第一部分第二课:下载Linux,免费的噢
内容简介 1.第一部分第二课:下载Linux,免费的噢 2.第一部分第三课预告:测试并安装Ubuntu 下载Linux,免费的噢 大家好,上一课我们认识了非常“霸气侧漏”的Linux操作系统. 也知道 ...
- 【Web探索之旅】第三部分第一课:服务器
内容简介 1.第三部分第一课:服务器 2.第三部分第二课预告:IP地址和域名 第三部分第一课:服务器 大家好,欢迎来到[Web探索之旅]的第三部分.这一部分有不少原理,还是很重要的. 这一部分我们会着 ...
- 【Web探索之旅】第三部分第一课:server
wx_fmt=jpeg" alt="0? wx_fmt=jpeg" style="height:auto"> 内容简单介绍 .第三部分第一课:s ...
- 【C语言探索之旅】 第三部分第二课:SDL开发游戏之创建窗口和画布
内容简介 1.第三部分第二课: SDL开发游戏之创建窗口和画布 2.第三部分第三课预告: SDL开发游戏之显示图像 第三部分第二课:SDL开发游戏之创建窗口和画布 在上一课中,我们对SDL这个开源库做 ...
- 【Web探索之旅】第四部分:Web程序员
内容简介 1.第四部分第一课:什么是Web程序员? 2.第四部分第二课:如何成为Web程序员? 3.第四部分第三课:成为优秀Web程序员的秘诀 第四部分:Web程序员(完结篇) 大家好.终于来到了[W ...
- 【Web探索之旅】第一部分:什么是Web?
内容简介 1.Web探索之旅:开宗明义 2.第一部分第一课:什么是Web? 3.第一部分第二课:Web,服务和云 4.第一部分第三课:Web的诞生史 Web探索之旅:开宗明义 大家好. 我们这个系列课 ...
- CentOS工作内容(三)配置网络IP地址
CentOS工作内容(三)配置网络IP地址 用到的快捷键 tab 自动补齐(有不知道的吗) ctrl+a 移动到当前行的开头(a ahead) ctrl+u 删除(剪切)此处至开始所有内容 vim 末 ...
- 【Web探索之旅】第二部分第五课:响应式网站和移动应用
内容简介 1.第二部分第五课:响应式网站和移动应用 2.第三部分第一课预告:服务器 第二部分第五课:响应式网站和移动应用 在我们开始聊响应式网站之前,我们可以聊聊移动App(App是Applicati ...
随机推荐
- 让你提前知道软件开发(22):shell脚本文件操作
文章1部分 再了解C语言 shell脚本中的文件操作 [文章摘要] 编写shell脚本时,经常会涉及到对文件的操作,比方从文件里读取一行数据.向文件追加一行数据等. 完毕文件读写操作的方法有非常多,了 ...
- UNIX 网络编程之线程
概述: 实现并发服务器一般都是父进程accept一个连接,然后fork一个子进程,该子进程处理与该连接对端的客户之间的通信.但是fork是昂贵,耗资源和时间.而线程是轻量级线程,它的创建比进程的创建块 ...
- M I S 开发与管理
今天是开学的第一天,很意外的一天没课.但是我知道还有很多事情在等待这我,不能懈怠!安排好计划,把重要不紧急的事情逐渐蚕食掉,切不可养虎为患,等拖到它变成重要紧急事件后,那就后悔莫及了. 下午看了看自考 ...
- KMP算法的Next数组详解(转)
转载请注明来源,并包含相关链接. 网上有很多讲解KMP算法的博客,我就不浪费时间再写一份了.直接推荐一个当初我入门时看的博客吧: http://www.cnblogs.com/yjiyjige/p/3 ...
- JavaWeb 项目中的绝对路径和相对路径以及问题的解决方式
近期在做JavaWeb项目,总是出现各种的路径错误,并且发现不同情况下 / 所代表的含义不同,导致在调试路径上浪费了大量时间. 在JavaWeb项目中尽量使用绝对路径 由于使用绝对路径是绝对不会出 ...
- hdu1151 Air Raid,DAG图的最小路径覆盖
点击打开链接 有向无环图的最小路径覆盖 = 顶点数- 最大匹配 #include <queue> #include <cstdio> #include <cstring& ...
- python六核心编程——条件和循环
1.if声明 单 if 通过使用布尔运算符的声明 and , or 和 not. if-elif-else. elif即else if if expression1: expr1_true_ ...
- CrossBridge介绍
CrossBridge介绍 作者:chszs,转载需注明.博客主页: http://blog.csdn.net/chszs CrossBridge是Adobe FlasCC的开源版本,它提供了一个完整 ...
- SWT的文件选择对话框I的使用
swt文件选择框 FileDialog fileselect=new FileDialog(shell,SWT.SINGLE); fileselect ...
- UVA 10404 Bachet's Game(dp + 博弈?)
Problem B: Bachet's Game Bachet's game is probably known to all but probably not by this name. Initi ...