《网络是怎么连接的》第一章笔记
一 生成HTTP请求消息
1.我们先来介绍一下网址,网址,准确来说是URL(Uniform Resource Locator)统一资源定位符。也就是以http://开头的那一串东西,实际上除了http:还有ftp:,file:,mailto:等等,这些代表不同的协议。浏览器不仅仅可以用来访问web服务器,也可以在ftp服务器上传和下载文件,也具备邮件客户端的功能。
网址会包含服务器的域名和要访问的文件名等
2浏览器做的第一步工作是对URL进行解析,从而生成发送给WEB服务器的请求消息
http://user:password@www.lab.glasscom.com:80/dir1/file1.html
其中http:代表网络协议,user:password@代表用户名和密码(可省略),www.lab.glasscom.com表示服务器的名称 80代表端口(可省略),dir1/file1.html代表文件的路径名。当没有写文件名,http://www.lab.glasscom.com/,最后的/代表根目录,结果是访问/index.html或default.html这样的文件。
3 HTTP协议定义了客户端和服务器之间交互的消息内容和步骤,首先客户端向服务器发送请求消息,请求消息中包含的内容是“对什么”和“进行怎样的操作”,其中“对什么”的部分称为URI,可以是存放网页数据的文件名或是CGI程序(对web服务器程序调用其它程序的规则所做的定义就是CGI)。“进行怎样的操作”的部分称为方法,方法表示需要让web服务器完成怎样的工作,主要有GET方法获取URI指定的消息,POST方法从客户部向服务器发送数据,PUT方法替换URI指定的服务器上的文件,DELETE方法删除URI指服务器上的文件。
收到请求消息之后,WEB服务器会对其中的内容进行解析,通过URI和方法判断“对什么”“进行怎么样的操作”,按要求完成工作,并把结果存放在响应消息中。返回响应消息后,浏览器会将数据提取出来并显示在屏幕上。
【《网络是怎么连接的》第一章笔记】二 向DNS服务器查询Web服务器的IP地址
浏览器能够解析网址并生成Http消息,但本身并不具备将消息发到网络中的功能,这一功能需要委托操作系统来实现。在委托操作系统发送消息时,必须提供IP地址而不是域名,IP地址是一串32比特数字,按8比特为一组,分成四组。
Socket库提供查询IP地址的功能,通过解析器向DNS服务器发出查询,并接收返回的响应消息。
三 全世界的DNS服务器大接力
寻找相应的DNS服务器并获取相应的IP地址
四 委托协议栈发送消息。
推荐阅读
- 慢慢的美丽
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 《跨界歌手》:亲情永远比爱情更有泪点
- 诗歌:|诗歌: 《让我们举起世界杯,干了!》
- 期刊|期刊 | 国内核心期刊之(北大核心)
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- 人间词话的智慧
- 《一代诗人》37期,生活,江南j,拨动心潭的一泓秋水
- 广角叙述|广角叙述 展众生群像——试析鲁迅《示众》的展示艺术
- 书评——《小行星》