HTTP框架修炼之道 | 青训营

151 阅读3分钟

HTTP框架修炼之道

一、HTTP是什么?

众所周知,HTTP是超文本传输协议,那么怎么具体去理解超文本传输协议呢?

  1. 协议:HTTP是确定计算机之间交流通信、控制、错误处理的规范
  2. 传输:HTTP主要作用与互联网两点之间的数据传输
  • 双向:两点之间的数据传输是双向的
  • 多段:两点直接的传输是可以有其他'中间人'接力、中转
  1. 超文本:HTTP传输的数据是文本、图片、音视频、超链接等的混合体

所以综上所述:HTTP是在互联网中,为两点之间传输文字、图片、音视频等超文本数据的约定和规范

二、HTTP相关的概念/协议

  1. 浏览器:浏览器叫做"Web Browser",在HTTP协议里,浏览器的角色是"User Agent",即"用户代理".意思是作为访问者发起HTTP请求,通常我们会成为"客户端"
  2. Web服务器:浏览器发起HTTP请求,那么作为响应方我们叫做服务器(Web Server)
  • 硬件层面:大多数情况就是指一台服务器(计算机),或者是云服务器,集群等
  • 软件层面:可以提供Web服务的应用程序,例如Apache, Nginx等
  1. CDN:CDN是在客户端和服务器之间的一个节点,他可以缓存数据,可以让浏览器的请求在半路就可 以获取响应,优秀的CDN调度算法可以找到离用户最近的节点,大幅度的缩短响应时间
  2. Web Service:区别于Web Server, Web Service是一个基于Web的服务架构技术. Service是 网络服务实体,Serve是网络服务器,后者是前者的承载
  3. TCP/IP:TCP/IP是一系列网络通信协议的统称,核心的2个协议就是TCP和IP.
  • IP协议:属于"网际层",主要是解决路由和寻址的问题.用IP地址来定位每一台设备
  • TCP协议:属于"传输层"主要负责传输控制,他位于IP协议之上,基于IP协议提供可靠的字节流通信. "可靠"表示数据不丢失,"字节流"表示数据完整
  1. DNS:指域名系统,用简单好记的单词来映射复杂的IP地址.这个映射的过程被称为"域名解析"
  2. URI:统―资源标识符,可以唯一的标记互联网资源
  3. URL: URI的一种常用表现形式,统—资源定位符,是URI的一个子集
  4. HTTPS:运行在SSL/TLS协议之上的HTTP,SSL/TLS 负责加密通信 10.代理:代理是客户端和服务器中间的一个环节,可以转发客户端的请求,也可以转发服务器的响应
  • 匿名代理:隐藏起来的代理机器,外界只能看到代理服务器
  • 透明代理:外界既知道代理,也知道客户端
  • 正向代理:靠近客户端,代表客户端想服务器发送请求。
  • 反向代理:靠近服务端,代表服务器响应请求

三、网络分层模型

  1. TCP/IP网络分层模型
  • 链接层(帧):负责发送原始数据包,工作在网卡的层次,使用MAC地址来标记网络设备。
  • 网际层(包):IP协议就在这一层,用IP地址代替MAC地址,连接整个互联网
  • 传输层(段):TCP(UDP)在这一层工作,保证数据在2个IP地址之间"可靠"的传输
  • 应用层(报文):面向SSH, HTTP, FTP等应用协议
  1. OSI网络分层模型
  • 物理层:网络的物理形式,光线,网卡等数据链路层:相当于TCP/IP里的链接层
  • 网络层:相当于TCP/IP里的网际层·传输层:相当于TCP/IP里的传输层。
  • 会话层:维护网络中的链接状态
  • 表示层:将数据转换为合适,可理解的语法/语义。应用层:面向具体的应用传输