热身问答
在开始探索之旅之前,我们准备了一些和本章内容有关的小题目,请大家先试试看。
这些题目是否答得出来并不影响接下来的探索之旅,因此请大家放轻松。
问题
下列说法是正确的(√)还是错误的(×)?
1. http://www.nikkeibp.co.jp/中的www代表World Wide Web协议(对通信操作规则所作的定义)。
2.个人也可以申请注册互联网中的域名。
3.浏览器等网络应用程序实际上并不具备网络控制功能。
答案
1. ×。http://www.nikkeibp.co.jp/中的www只是Web服务器上的一种命名。而且,World Wide Web也不是一个协议的名字,而是Web的提出者最早开发的浏览器兼HTML编辑器的名字。
2. √。如果是“.com”“.net”“.org”“.jp”(除“co.jp”“ne.jp”等“xx.jp”格式的域名外)等没有对注册对象范围进行限制的域名,任何个人都可以申请注册。此外,也有一种“.name”域名是专门为个人申请者准备的。
3. √。应用程序并不是自己去控制网络,而是委托操作系统来控制网络。
探索之旅的看点
探索之旅即将出发,出发之前我们先来介绍一下本次的看点。
(1)生成HTTP请求消息
本次探索之旅从用户在浏览器中输入网址(URL)开始。接下来,浏览器的工作会从对用户输入的网址进行解析开始。浏览器如何解析网址就是我们的第一个看点。然后,浏览器会根据网址的含义来生成请求消息。浏览器通过请求消息将用户需要哪些数据告知服务器,而请求消息实际的样子就是我们的第二个看点。只要理解了具体的消息长什么样,我们也就能够理解访问Web服务器时使用的HTTP协议的原理了。
(2)向DNS服务器查询Web服务器的IP地址
请求消息生成之后,浏览器会委托操作系统向Web服务器发送请求,但浏览器必须告诉操作系统接收方的IP地址才行,因此浏览器必须先查出Web服务器的IP地址。网址中只有Web服务器的域名,因此浏览器需要向DNS服务器查询域名对应的IP地址,浏览器如何进行这一操作也是本章看点之一。
(3)全世界DNS服务器的大接力
这时,我们的旅程进入到了DNS服务器帮助浏览器查询IP地址这一环节了。全世界共有上万台DNS服务器,它们相互接力才能完成IP地址的查询,而它们进行接力的方法也是本章看点之一。
(4)委托协议栈发送消息
查询到IP地址之后,浏览器就可以将消息委托给操作系统发送给Web服务器了,但这个委托到底是如何完成的呢?这也是本章看点之一。“委托给操作系统”这句话看似简单,但关于委托给操作系统,其实有非常详细的规则,必须要遵守这些规则才能完成操作。由于只有编写程序的人才需要精通这些规则,所以面向一般读者的图书中几乎很少见到对这些规则的解释。不过,对这些规则有个大概的理解还是会有很多好处的,因为理解了向操作系统进行委托时的规则,我们就能够明白做出某个委托时操作系统会给我们怎样的反馈,这可以说是相当于具体地理解了网络的潜在能力。这一点对于没有编程经验的人来说也很重要。