第一章概述了网络请求到回复的整个过程。里面只需要理解一下几点:
- http的url的格式。
- dns的解析过程
- get post的格式
- http返回结果的状态码分类
url格式的组成是固定的。为http://username:password@hostname:port/location
的格式。其中http表示协议,比如还有ftp协议。username:password可以省略,端口号也可以省略,因为默认http的端口就是80. 后面的location是个虚拟的概念,写过rest接口的都应该知道,针对不同路径的请求的处理,完全有自己定义实现。
dns的解析过程比较有趣。所谓的dns的层次结构指的是
比如域名www.baidu.com
由点分割为三部分,层次最高的是com
其次是 baidu
最后才是www
。这里的www
仅仅指网络服务器的意思,你要命名为别的也可以。其实除了这三个部分外,还有个根域名。对应的是完整urlwww.baidu.com.
中的最后那个点。
所有的dns服务器初始化时,会将全球的根域名服务器的ip地址初始化。当需要进行dns解析时
- 计算机想本地dns服务器发起请求。
- 本地dns会先查看是否有缓存数据,有直接返回,没有则向自己保留的符合要求的最低的层次发起请求。比如已经知道
com
域名的dns服务器则直接向这个dns服务器发起请求。最坏情况是想根域名dns解析服务器发起请求。 - 高层dns服务器会返回底层服务器的解析dns服务器ip。比如根域名服务器告诉本地dns服务器
com
域名解析服务器的地址。 - 迭代查询后返回给最初发起dns查询的服务器。
这里最重要的就是层次存储。所有dns服务器会储存全部的根域名服务器的地址,根域名会储存全部的一级域名地址,即com、cn、jp、me
等。而每个com
的域名解析服务器也会储存全部的com
下的解析服务器。
http的返回值 分为:
http状态值 | 大致含义 |
---|---|
1xx | 临时相应,一般看不到 |
2xx | 成功 |
3xx | 重定向,表明客户端需要进一步进行处理 |
4xx | 客户端错误 404 not fund 客户端请求的资源不存在 |
5xx | 服务器内部错误 |
网友评论