先谈谈自己感兴趣的几个点吧
HTTP发展史简述
- HTTP(超文本传输协议)是万维网(World Wide Web)的基础协议,由蒂姆·伯纳斯·李博士和他的团队在1989-1991年间在欧洲核子研究中心创造出来。
- HTTP最初没有版本号,后来被称为HTTP/0.9,也叫做单行协议。它只支持GET方法,不支持请求头或响应头,只能传输HTML文件。
- HTTP/1.0是对HTTP/0.9的强化,增加了POST、DELETE、PUT、HEADER等方法,引入了请求头和响应头的概念,允许传输多种类型的文件,但每个TCP连接只能发送一个请求,存在连接复用性差和无状态无连接的弊端。
- HTTP/1.1是对HTTP/1.0的优化和完善,增加了长连接和管道化技术,可以在一个TCP连接上复用多个请求和响应,减少了建立连接的开销和延迟。还增加了更多的请求方法,引入了Host字段,支持内容协商和缓存控制等机制。
- HTTP/2.0是一个里程碑式的版本,采用了二进制格式而不是文本格式,实现了多路复用,可以在一个TCP连接上并发发送多个请求和响应,并根据标识符进行区分。还实现了头部压缩和服务端推送等功能,提高了传输效率和性能。HTTP/2.0的设计受到了谷歌的SPDY协议的影响。
- HTTP/3.0是最新的版本,目前还在开发中。它基于QUIC协议,使用UDP而不是TCP作为传输层协议,解决了TCP连接建立慢、队头阻塞、拥塞控制等问题。它还支持加密、流控制、错误恢复等功能
CDN是什么
- CDN(内容分发网络)是一种利用边缘节点服务器缓存和分发内容的技术,可以加速用户访问网站或应用的速度,减轻源站和网络的压力,提高用户体验和安全性。
- CDN的工作原理是通过DNS解析和负载均衡,将用户的请求导向离用户最近的缓存服务器,如果缓存服务器有用户需要的内容,则直接返回给用户,如果没有,则从源站获取内容并缓存到缓存服务器上。
- CDN的应用场景包括网站或应用的静态资源加速,视音频点播或大文件下载加速,直播流媒体加速等。
网络分层
网络分层是一种将通信协议按照功能划分为不同的层次的思想,每一层都提供特定的服务,并遵循特定的规则。常见的网络分层模型有OSI七层模型,TCP/IP四层模型和TCP/IP五层模型。简单地说,网络分层模型可以分为以下几个层次:
- 物理层:负责将数据转换为电信号或其他物理信号,并在物理媒介上进行传输。
- 数据链路层:负责将网络层交下来的IP数据报组装成帧,并在两个相邻节点间的链路上传送帧中的数据。每一帧包括数据和必要的控制信息。
- 网络层:负责将称为数据报的网络层分组从一台主机移动到另一台主机。网络层包括著名的IP协议,该协议定义了数据报中的各个字段以及端系统和路由器如何作用于这些字段。网络层还负责将数据报在网络中进行选路。
- 传输层:负责在应用程序端点之间传送应用层报文。传输层主要使用以下两种协议:传输控制协议TCP和用户数据报协议UDP。TCP向它的应用程序提供了面向连接的服务,这种服务包括了应用层报文向目的地的确保传递和流量控制。UDP协议向它的应用程序提供无连接服务,这是一种不提供不必要服务 的服务,不提供可靠性,没有流量控制,也没有拥塞控制。
- 应用层:是体系结构中的最高层。应用层直接为用户的应用进程提供服务。这里的进程就是指正在运行的程序。在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议等等。
网络基础
网络组成部分:由主机、路由器、交换机等组成
网络结构:网络的网络
信息交换方式:电路交换和分组交换
网络分层:分清职责,物理层、链路层、网络层、运输层和应用
网终协议:标头和载荷