1.3、DNS与HTTP

2017年09月05日 14:39 | 2377次浏览

DNS

浏览器要找到名为“www.example.com”的主机必须通过DNS(Domain Name System,即域名系统)1,把“www.example.com”这样的名字转化为一个IP地址——在计算机网络的世界里,我们通常依赖IP地址定位到一台具体的计算机。


HTTP

HTTP即超文本传输协议(Hypertext Transfer Protocol)1。它是像浏览器这样的HTTP客户端程序(正式名称叫做User Agent)向HTTP服务器程序(Server)获取资源(如网页、图片等)的协议。它采用简单的“一问一答”模式:客户端发出一个请求(Request),服务器给出一个应答(Response)。这一过程可以用curl命令展示如下(HTTP是一个基于文本的协议,因此我们可以查看请求和应答):

curl -v http://www.example.com/index.html

命令输出

* Trying 93.184.216.34...
* Connected to www.example.com (93.184.216.34) port 80 (#0)
> GET /index.html HTTP/1.1
> Host: www.example.com
> User-Agent: curl/7.43.0
> ...
>
< HTTP/1.1 200 OK
< Content-Type: text/html
< Content-Length: 1270
< ...
<
<!doctype html>
<html>
…
</html>

其中,“> ”开头的行是客户端发出的请求,“< ”开头的行是服务器的应答。注意行首的“> ”和“< ”本身并不是请求或者应答的一部分,只是curl输出的一种标记。同时,为了简明扼要,我略去了一些行,用“...”表示。

“* ”开头的行是HTTP连接建立以前curl输出的一些诊断信息。我们可以看到curl通过DNS查找到“www.example.com”对应的IP—— 93.184.216.34


小说《我是全球混乱的源头》

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程


上一篇:1.2、URL是什么 下一篇:1.4、客户端请求
^