我们通过一个例子来理解,比如,我们浏览一个页面 http://www.baishancha.com/index.html(我随便敲得一个网址,不存在)
客户端就是你正在打开的浏览器,
Web服务器是 Web资源的宿主,简单的Web资源是指 Web服务器文件系统中的静态文件,如 文本文件、图片文件、电影文件等,当然不一定非得是静态文件,还可以是软件程序。
而你敲得网址是服务器的位置,叫做统一资源定位符(URL),它描述了一台特定服务器上某资源的特定位置,URL分为三部分,第一部分说明了访问资源所使用的协议,如 http协议(http://);第二部分给出了服务器的因特网地址(比如www.baishancha.com);其余部分指定了Web服务器上的某个具体的资源。
一个HTTP事务是由一条请求命令和一个响应结果组成,这种通信是通过名为HTTP报文的格式化数据块进行的,HTTP请求报文和响应报文格式类似,包括起始行、首部字段、主体三个部分。(具体介绍请查看其他资料)那么HTTP报文是如何从一个地方搬移到另一个地方的呢?
在HTTP客户端向服务器发送报文之前,需要用IP地址和端口号在客户端与服务器之间建立一条TCP/IP连接,IP地址和端口号从URL中获取,如果URL中没有使用IP地址而是文本形式的域名(主机名),可以通过域名服务机制(DNS)将主机名转换为IP地址,URL中没有端口号的时候,可假设默认端口号是80。在建立好连接后就可以发送报文了。下面是获取某个简单HTML资源的步骤:
浏览器从URL中解析出服务器的主机名;
浏览器将主机名转换成服务器的IP地址;
浏览器将URL中的端口号(如果有的话)解析出来;
浏览器与服务器之间建立一条TCP连接;
浏览器向服务器发送一条HTTP请求报文;
服务器向浏览器回送一条HTTP响应报文;
关闭连接,浏览器显示文档。
作者:白山茶aa
来源:CSDN
原文:https://blog.csdn.net/qq_43818615/article/details/91346845
版权声明:本文为博主原创文章,转载请附上博文链接!