美文网首页前端网络学习
读书笔记:《图解HTTP》第一章 网络基础

读书笔记:《图解HTTP》第一章 网络基础

作者: 小笨蛋_729 | 来源:发表于2019-01-30 18:50 被阅读1次

    原文地址
    博客积累地址

    HTTP的诞生及发展

    HTTP是为了知识共享而诞生,最初的设计理念是让远隔两地的研究者们共享知识,借助多文档之间相互关联形成的超文本,连成可相互参阅的 WWW(World Wide Web,万维网)

    3项WWW 构建技术

    • 作为页面的文本标记语言 HTML(超文本标记语言)
    • 作为文档传递协议的 HTTP
    • 指定文档所在地址的 URL(统一资源定位符)

    现在我们都知道在网页浏览器的地址栏中输入URL可以呈现Web页面

    当然Web页面不能凭空显示出来,它是根据浏览器输入的URl,浏览器从web服务器获取文件资源等信息,从而显示出web页面

    像这种通过发送请求获取服务资源的web浏览器器等,都称为客户端(client)

    An image

    从客户端到服务器端获取信息的一系列运作流程,需要双方规定一些规则,以此来告知双方自己需要什么消息,我们可以将这些规则理解为HTTP协议,即HTTP协议就是双方通信的规范。

    TCP/IP协议

    计算机与网络设备要相互通信,双方就必须基于相同的方法。

    早期的计算机网络,都是由各厂商自己规定一套通信协议,互不兼容,带来不同协议之间无法通信的弊端

    为了把世界所有不同类型的计算机连接起来,规定了一套全球通用的协议

    因为互联网协议包括上百种协议标准,但是最重要的两个协议是TCP和IP协议,所以大家把互联网的协议简称TCP和IP协议

    HTTP 属于TCP/IP协议内部的一个子集、一个协议标准

    TCP/IP协议重要的一个概念是分层,我们称为TCP/IP模型

    分层的好处是,如果某个地方有变动,只需改变某层内部,只需把各层的之间的接口部分规划好,每个层次的内部设计可以随意改动

    TCP/IP模型

    分层 内容
    应用层 向用户提供应用服务时通信的活动;FTP(文件传输协议)、DNS服务、HTTP协议等
    传输层 提供处于网络连接中计算机之间的数据传输;TCP(传输控制协议)、UDP(用户数据报协议)
    网络层 规定传输路线,传输数据包(数据包是网络传输最小的数据单位)
    链路层 处理连接网络的硬件部分

    TCP/IP通信传输流

    TCP/IP协议会通过分层顺序与对方进行通信

    1. 客户端在应用层发出HTTP请求
    2. 传输层对从应用层收到的数据(HTTP请求报文)进行分割,在各个报文上打上标记序号、端口号后转发给网络层
    3. 网络层,增加作为通信目的地MAC地址转发给链路层
    4. 服务器在链路层收到消息,按层往上发送,直到应用层,最终收到客户端的HTTP请求

    发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该 层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层 时会把对应的首部消去

    An image

    IP、TCP 和 DNS

    IP、TCP 和 DNS 是与HTTP密不可分的三个协议,接下来一一说明

    负责传输的IP协议

    IP协议位于网络层,它的作用是把各种数据包传送给对方

    而要保证确实传送到对方那里,需要满足各类条件;其中两个重要的条件是IP地址和MAC地址

    IP地址指明节点被分配的地址,MAC地址指网卡所属的固定地址
    IP地址可以和MAC地址配对,IP地址可变换,MAC地址基本不会更改

    确保可靠性的TCP协议

    TCP协议位于传输层,提供可靠的字节流服务

    字节流服务
    字节流服务是指,为了方便传输,将大块数据分割成报文段为单位的数据包进行管理,而TCP协议能够确认数据最终是否发送到对方

    为了保证通信的可靠性,TCP协议采用了三次握手策略建立连接,TCP协议发送数据包后,会向对方确认是否发送成功

    TCP三次握手

    我们将发送一次消息称为一次握手

    TCP三次握手使用了TCP的标志:SYN 和 ACK

    1. 发送端首先发送一个带有SYN标志的数据包给对方,确认对方是否可以收到消息
    2. 对方收到后,返回带有SYN/ACK标志的数据包表示收到消息,你可以跟我通信啦
    3. 发送端最后发送带ACK标志的数据包,会话结束

    若在握手的某个阶段莫名中断,TCP协议会以相同的顺序发送相同的数据包

    An image

    负责域名解析的DNS服务

    DNS服务和HTTP协议一样位于应用层,DNS提供域名到IP地址之间的解析服务

    计算机被赋予IP地址,通过IP地址可以访问页面,与IP地址的一组数字相比,域名(字母数字的组合:比如www.baidu.com)更符合人们的记忆习惯,但是计算机擅长处理数字,为了解决这一问题,DNS 服务应运而生

    An image

    TCP、IP和DNS在使用HTTP协议通信过程中各自发挥的作用

    An image

    相关文章

      网友评论

        本文标题:读书笔记:《图解HTTP》第一章 网络基础

        本文链接:https://www.haomeiwen.com/subject/qrwcsqtx.html