响应的内容和请求信息的内容类似。只是响应中的第一行内容为状态码,表示执行结果是否成功。常见的 HTTP 状态码如下图所示。
响应信息返回后显示在屏幕中,如果为纯文字,到此就结束了。但是大部分时候都会有图片,视频,音频等信息,这个时候怎么办?
浏览器会从响应信息中的文字搜索相应的标签,如果有图片等其他信息,则再次请求服务器,按照相应的文件名向服务器发送请求并显示在刚才预留的空间中。至此,我们访问网页的初级过程版本就差不多结束了。下面用一个案例加深下印象。
上图是简化版,在这里再稳固几点。
Get 和 Post 哪些区别?
请求头和响应头哪些位置是需要空格或者空行?
常用响应状态码和请求方法?
刨根到此,我们从表面上知道,从敲入网址,构造请求消息,收到响应,并能将美女图片给呈现在眼前,这样就完事了?不好意思,我们时刻都有一颗去大厂的心,意味着我们不能只知道表面现象还要适当去了解更多的细节。
虽然浏览器能够解析我们的网址,但是它并不具备将消息发送到网络中的能力,那是谁打的辅助?当然是操作系统大哥,为了让操作系统大哥帮忙,我们得先拜访下操作系统大哥,问问需要我们提供哪些资源,需要什么,我们就全力配合它。
IP地址
我们在浏览器输入的是网址,但是操作系统需要的是IP地址,所以我们需要想办法进行转换。转换的方法就需要请教 DNS 了。很简单,我们告诉 DNS,"我的域名是www.xiaolan.com,请告诉我的 IP 地址",OK,DNS 服务器很爽快,回复"你的 IP 地址是xxx.xxx.xxx.xxx"。那么问题来了,我们是如何向 DNS 发送的这个查询呢?我们先来复习DNS。
DNS
有些小伙伴说 Mac 地址不能作为标识吗?可是太不容易记忆了,从而出现了简化了 IP 形式,可以它被直接暴露给外网不说,还让人类觉得比较麻烦,干脆用几个字母算了,也就是域名了。域名不仅仅能够代替 IP,还有很多其他的用途比如在 Web 应用中用来标识虚拟主机。