首先强烈推荐大家想学HTTP协议的同学们,看《图解HTTP》这本书,真的是很生动很容易理解。接下来废话就不多说了,读完小小地总结一下。

 你知道当我们在网页浏览器(Web browser)的地址栏中输入 URL 时,Web 页面是如何呈现的吗?在看了<图解HTTP>这本书后,觉得很生动形象,在此分享给大家。


读《图解HTTP》有感(上)

 

       Web 页面当然不能凭空显示出来。根据 Web 浏览器地址栏中指定的 URL,Web 浏览器从 Web 服务器端获取文件资源(resource)等信 息,从而显示出 Web 页面。 像这种通过发送请求获取服务器资源的 Web 浏览器等,都可称为客 户端(client)。

 

读《图解HTTP》有感(上)

        Web 使用一种名为 HTTP(HyperText Transfer Protocol,超文本传输协 议 1)的协议作为规范,完成从客户端到服务器端等一系列运作流 程。而协议是指规则的约定。可以说,Web 是建立在 HTTP 协议上通 信的。

        下图是日本的第一个web网页:(个人感觉很炫酷)

读《图解HTTP》有感(上)

           为了理解 HTTP,我们有必要事先了解一下 TCP/IP 协议族。 因为通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上运作 的。而 HTTP 属于它内部的一个子集。 接下来,我们仅介绍理解 HTTP 所需掌握的 TCP/IP 协议族的概要。 若想进一步学习有关 TCP/IP 的知识,请参考其他讲解 TCP/IP 的专业 书籍。

     如果某人发出一个想看某个 Web 页面的 HTTP 请求,那么具体流程是怎么样的?

             利用 TCP/IP 协议族进行网络通信时,会通过分层顺序与对方进行通 信。发送端从应用层往下走,接收端则往应用层往上走。
我们用 HTTP 举例来说明,首先作为发送端的客户端在应用层 (HTTP 协议)发出一个想看某个 Web 页面的 HTTP 请求(应用层)。 接着,为了传输方便,在传输层(TCP 协议)把从应用层处收到的数 据(HTTP 请求报文)进行分割,并在各个报文上打上标记序号及端 口号后转发给网络层。
网络层(IP 协议),增加作为通信目的地的 MAC 地址后转发给链 路层。这样一来,发往网络的通信请求就准备齐全了。
接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用 层。当传输到应用层,才能算真正接收到由客户端发送过来的 HTTP 请求。

读《图解HTTP》有感(上)

          发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该 层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层 时会把对应的首部消去。
这种把数据信息包装起来的做法称为封装(encapsulate)。 

       现在我们知道web是依赖于HTTP协议,而HTTP协议在传输层是依靠TCP协议来传输的,TCP提供可靠的字节流服务。 所谓的字节流服务(Byte Stream Service)是指,为了方便传输,将大 块数据分割成以报文段(segment)为单位的数据包进行管理。而可 靠的传输服务是指,能够把数据准确可靠地传给对方。一言以蔽之, TCP 协议为了更容易传送大数据才把数据分割,而且 TCP 协议能够 确认数据最终是否送达到对方。确保数据能到达目标,这也是TCP和UDP的区别。那么TCP是如何保障可靠传输呢?在下一篇博客我们再来讨论。

 

相关文章:

  • 2021-05-19
  • 2021-05-10
  • 2021-06-09
  • 2021-09-03
  • 2021-11-18
  • 2022-12-23
  • 2021-04-07
猜你喜欢
  • 2021-04-15
  • 2021-05-18
  • 2021-10-31
  • 2021-05-05
  • 2021-09-15
  • 2021-05-09
  • 2022-01-05
相关资源
相似解决方案