HTTP是为了知识共享而诞生,最初的设计理念是让远隔两地的研究者们共享知识,借助多文档之间相互关联造成的超文本,连成可相互参阅的 WWW(World Wide Web,万维网)git
3项WWW 构建技术github
如今咱们都知道在网页浏览器的地址栏中输入URL能够呈现Web页面web
固然Web页面不能凭空显示出来,它是根据浏览器输入的URl,浏览器从web服务器获取文件资源等信息,从而显示出web页面浏览器
像这种经过发送请求获取服务资源的web浏览器器等,都称为客户端(client)服务器
从客户端到服务器端获取信息的一系列运做流程,须要双方规定一些规则,以此来告知双方本身须要什么消息,咱们能够将这些规则理解为HTTP协议,即HTTP协议就是双方通讯的规范。网络
计算机与网络设备要相互通讯,双方就必须基于相同的方法。frontend
早期的计算机网络,都是由各厂商本身规定一套通讯协议,互不兼容,带来不一样协议之间没法通讯的弊端ide
为了把世界全部不一样类型的计算机链接起来,规定了一套全球通用的协议spa
由于互联网协议包括上百种协议标准,可是最重要的两个协议是TCP和IP协议,因此你们把互联网的协议简称TCP和IP协议
HTTP 属于TCP/IP协议内部的一个子集、一个协议标准
TCP/IP协议重要的一个概念是分层,咱们称为TCP/IP模型
分层的好处是,若是某个地方有变更,只需改变某层内部,只需把各层的之间的接口部分规划好,每一个层次的内部设计能够随意改动
分层 | 内容 |
---|---|
应用层 | 向用户提供应用服务时通讯的活动;FTP(文件传输协议)、DNS服务、HTTP协议等 |
传输层 | 提供处于网络链接中计算机之间的数据传输;TCP(传输控制协议)、UDP(用户数据报协议) |
网络层 | 规定传输路线,传输数据包(数据包是网络传输最小的数据单位) |
链路层 | 处理链接网络的硬件部分 |
TCP/IP协议会经过分层顺序与对方进行通讯
发送端在层与层之间传输数据时,每通过一层时一定会被打上一个该 层所属的首部信息。反之,接收端在层与层传输数据时,每通过一层 时会把对应的首部消去
IP、TCP 和 DNS 是与HTTP密不可分的三个协议,接下来一一说明
IP协议位于网络层,它的做用是把各类数据包传送给对方
而要保证确实传送到对方那里,须要知足各种条件;其中两个重要的条件是IP地址和MAC地址
IP地址指明节点被分配的地址,MAC地址指网卡所属的固定地址
IP地址能够和MAC地址配对,IP地址可变换,MAC地址基本不会更改
TCP协议位于传输层,提供可靠的字节流服务
字节流服务
字节流服务是指,为了方便传输,将大块数据分割成报文段为单位的数据包进行管理,而TCP协议可以确认数据最终是否发送到对方
为了保证通讯的可靠性,TCP协议采用了三次握手策略创建链接,TCP协议发送数据包后,会向对方确认是否发送成功
咱们将发送一次消息称为一次握手
TCP三次握手使用了TCP的标志:SYN 和 ACK
若在握手的某个阶段莫名中断,TCP协议会以相同的顺序发送相同的数据包
DNS服务和HTTP协议同样位于应用层,DNS提供域名到IP地址之间的解析服务
计算机被赋予IP地址,经过IP地址能够访问页面,与IP地址的一组数字相比,域名(字母数字的组合:好比www.baidu.com)更符合人们的记忆习惯,可是计算机擅长处理数字,为了解决这一问题,DNS 服务应运而生