HTTP协议剖析
什么是HTTP协议?如何发起请求?我认为这样讲大家能够理解:
浏览器访问网站也是http请求的一个过程。当你打开浏览器,访问一个URL
(协议://服务器IP:端口/路径/文件)的时候,相当于向服务器发送了一个http请求,然后服务器会根据你的请求,向你响应一个HTML数据。这个客户端与服务端交互的过程叫做http协议。那么这个协议的过程是什么样子的呢?(简版)
1:客户端向服务端发送请求
2:服务端向客户端响应html数据
3:连接自动切断
PS:这个请求只能由客户端发起,而服务端不能主动向客户端发起!
然而我们通过浏览器发送的http请求,在服务器响应后,客户端接受到的数据都是被浏览器渲染过而显示的画面。为了能更清晰的剖析客户端与服务端之间的协议交互,我们来一次脱离浏览器的http请求。这就要借用到我们的工具:
curl.exe
一般来说Linux自带curl.exe 似乎Windows没有自带curl.exe 没关系,Windows的用户也可以通过下载使用。
脱离浏览器发起http请求
我们可以通过输入命令:
cURL http://www.baidu.com/
来向百度发起http请求,看看返回的响应结果吧!
看,返回的是一个html文件数据!我们还可以在原命令的基础上后面加个参数 -I 来查看http服务器返回的响应头。
好了我们基本了解了http请求的基本逻辑,就通过下面这篇文章来对http进行深度剖析吧!