浏览器生成消息
生成HTTP请求
URL :Uniform Resource Locator
URL其实就是我们所说的网址,根据访问的目标不同,会有不同的写法
浏览器解析URL
对于这个URL:http://www.baidu.com/dir/file1.html
- http: (协议)
- www.baidu.com(域名)
- /dir/file1.html(数据源的路径)
发送请求
对URL解析过后,确定了WEB服务器和文件路径,那么可以根据这些信息来生成HTTP消息。
- 请求消息
- 请求行:这里会有一个URI + HTTP版本 其实就是可以知道请求的具体内容
- 消息头:定义了一些数据传送细节上的东西,如日期,客户端支持数据类型等等。。。
- 消息体:会有需要发送的数据。消息的主体。
向DNS服务器查询WEB服务器IP地址
为什么要拿到IP地址
互联网公司内部的局域网都是基于TCP/IP的思路来设计的。TCP/IP主要是通过一些小的子网,通过路由器连接起来组成的一个大网络。我们需要通过目标服务器的IP地址才能利用这些子网到达目标服务器。
DNS 解析
我们的www.baidu.com只是一个域名,怎么通过域名来获取到真正的IP地址?
- 我们会先去利用sorket 访问最近的一台DNS服务器,如果这个服务器上没有对应的域名,那么会去访问根域(每一台DNS都有保留根域的IP),然后利用域名等级,一步一步下发去寻找。如果寻找到了会通过缓存来保留这个对应的域名和IP地址。