欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

关于http、https、http/2的知识

程序员文章站 2022-05-21 10:41:16
...
在学习http、https、http/2之前,先整理一下OSI网络模型、TCP/IP协议、TCP和UDP等内容。

一、简单回顾一下OSI七层网络模型

OSI是一个开放性的通信系统互连参考模型,是一个由国际标准化组织提出的的协议规范。模型由上往下是:

  • 应用层(OSI 的应用层协议包括文件的传输、访问及管理协议(FTAM) ,以及文件虚拟终端协议(VIP)和公用管理系统信息(CMIP))

  • 表示层(表示层供多种功能用于应用层数据编码和转化,以确保以一个系统应用层发送的信息 可以被另一个系统应用层识别)

  • 会话层(会话层建立、管理和终止表示层与实体之间的通信会话)

  • 传输层(传输层向高层提供可靠的端到端的网络数据流服务)

  • 网络层(网络层负责在源和终点之间建立连接)

  • 数据链路层(数据链路层通过物理网络链路供数据传输。不同的数据链路层定义了不同的网络和协议特征,其中包括物理编址、网络拓扑结构、错误校验、数据帧序列以及流控)

  • 物理层(物理层负责最后将信息编码成电流脉冲或其它信号用于网上传输)

二、TCP/IP协议

TCP/IP协议整合了TCP和IP等多种协议,处理计算机与网络之间的传输,它参考和整合了OSI网络模型。常见的的TCP/IP协议分为四层,由上往下是:

  • 应用层(应用层对应于 OSI 七层参考模型的应用层和表示层)

  • 传输层(传输层对应于 OSI 七层参考模型的传输层,它供两种端到端的通信服务)

  • 网间层(本层包含 IP 协议、RIP 协议(Routing Information Protocol,路由信息协议),负责数据的包装、寻址和路由。同时还包含网间控制报文协议(Internet Control Message Protocol,ICMP)用来供网络诊断信息)

  • 网络接口层(网络接口层包括用于协作IP数据在已有网络介质上传输的协议)

三、TCP和UDP

TCP(Transmission Control Protocol、传输控制协议)
是一种面向连接的、可靠的、基于字节流的传输层通信协议。UDP(User Datagram Protocol、用户数据报协议)是一个简单的面向数据报的传输层协议。他们负责OSI网络模型中传输层的处理。

TCP和UDP的简单对比:

TCP UDP
面向连接(三次握手、四次挥手) 无连接
资源占用较多 资源占用减少
保证数据顺序 数据无顺序
传输速度较慢 传输速度快
保证数据正确性 容易丢包
流模式 报文模式

四、HTTP

http(超文本传输协议)是一种常用于应用层的协议,它是基于文本传输内容。

八种请求方法

get、post、head、put、delete、trace、options、connect。

http请求信息结构

  • 请求行

  • 请求头

  • 空行

  • 其他消息

状态码

  • 1xx消息——请求已被服务器接收,继续处理

  • 2xx成功——请求已成功被服务器接收、理解、并接受

  • 3xx重定向——需要后续操作才能完成这一请求

  • 4xx请求错误——请求含有词法错误或者无法被执行

  • 5xx服务器错误——服务器在处理某个正确请求时发生错误

常见状态码200(请求成功)、302(重定向到些的url)、304(读取缓存)、404(没有找到文件或目录)、405(请求指定的方法错误)、500(服务器错误)、502(服务器无效响应)

五、HTTPS

https可以称为http安全版,主要是http下增加了SSL(安全套接层)或者TSL(传输层安全),在SSL或TSL在传输层对数据进行了加密处理。

https特点:

  • 1、保证传输信息安全(经过加密)

  • 2、需要申请证书

  • 3、可以防止运营商劫持

  • 4、由于增加了安全层,所以访问速度有所减慢

  • 5、http网站可以访问https链接,https网站无法访问http链接(除了部分支持mixed-content的浏览器)

六、SPDY

spdy是谷歌开放开放的网络传输协议,它位于http和ssl层之间,可以加快访问速度。

spdy的特点:

  • 1、可以降低延迟

  • 2、可以设置请求优先级

  • 3、header压缩

  • 4、基于https保障传输安全

  • 5、支持server push

七、HTTP/2

http/2(超文本传输协议第二版),他对http进行了一些升级改造,也参考了spdy相关的内容(可以称为spdy的演化版本)。

http/2的特点:

  • 新的二进制格式

  • 多路复用

  • header压缩

  • 支持server push

http/2和spdy的区别:

  • http/2支持http传输、spdy只支持https

  • http/2和spdy的header压缩算法不同

参考文章

TCP和UDP的区别
HTTP,HTTP2.0,SPDY,HTTPS你应该知道的一些事
深入浅出-网络七层模型&&网络数据包

以上就是关于http、https、http/2的知识的详细内容,更多请关注其它相关文章!

相关标签: https http 知识