一般面试官会通过这样的问题来考察你对计算机网络知识体系的理解。
图片来源:《图解HTTP》
上面这张图片能够很好的解释发生了什么。首先发给DNS服务器,进行域名解析,得到IP地址后生成针对目标Web服务器的HTTP请求报文,然后报文由TCP协议负责传输,为了方便通信,HTTP请求报文被分为报文段,然后每个报文段可靠的传输给对方,然后报文段由IP层负责一边中转一遍传送,服务器收到报文段后重组报文段,然后由应用层的HTTP协议处理请求的内容,请求的结果以 同样的方式进行回传。
那么各部分是怎么完成工作的呢?
DNS解析方式
1.递归查询
由客户机向DNS服务器发出请求,如果该DNS服务器为被授权的服务器,且它能够回应该请求,则返回给客户机,若不能,则该DNS服务器则向它认为能够给我结果的DNS服务器发出请求,以此类推,得到结果后逐级返回。
2.迭代查询
由客户机向DNS服务器发出请求,如果该DNS服务器为被授权的服务器,且它能够回应该请求,则返回给客户机,若不能,该DNS服务器则向客户机返回一个可能给出结果的DNS服务器地址,客户机再向这个地址发出请求,以此类推,最终可能得到结果,也可能得不到结果。