一、开场白
很多人搞不清楚https与http的区别,我今天带领大家取领略一下两者之间的奥义,下面跟着我的思路往下走起。
二、进入主题
我们先来了解一下TCP/IP的通信
【1】 应用层
决定用户提供应用服务时通信的活动,HTTP协议处于该层;还有比如FTP文件传输协议和DNS域名系统也处于该层。
【2】 传输层
传输层对于应用层,提供了网络连接中的两台计算器之间数据传输;在传输中有两个性质不同的协议:TCP和UDP。
【3】 网络层
处理网络上流动的数据包,数据包是网络协议中的最小数据单位;该层规定了传输路线。
【4】 链路层
处理链接网络的硬件部分;一般包括 光纤,路由器等。
再说一下url和uri的区别
URL大家应该很熟悉,就比如https://www.baidu.com就是所谓的URL
URI让我们了解一下格式
【1】 协议方案名
规定应用层的请求方式
【2】 登录信息认证
指定用户名和密码作为服务器获取信息的登陆信息,不是必须的
【3】服务器地址
服务器的地址,可以是ip可以是域名或者IPV6的地址
【4】 服务器端口号
网络端口号,不是必须项
【5】 到层次的文件路径
指定服务器上的文件路径来定位特指的资源
【6】 查询字符串
指定路径需要的参数
【7】 片段标识符
通常可标记出已获取资源中的子资源(文档内的某个位置),不是必须的
我们再来看看Http的报文结构
我们将http协议交互的信息称之为http报文,请求段发送的报文称之为请求报文,服务端发送的报文称之为相应报文,下面我们来画一个图了解一下;
下面来说说HTTP的缺点和优点
我先来说说HTTP的缺点吧:
【1】通信使用的是明文不加密,可能会被窃听。
【2】不验证通信通信方的身份,可能遭遇伪装。
【3】无法证明报文的完整性,有可能被篡改。
显而易见优点:
【1】访问速度快
【2】组成部分简单
【3】易于扩展
下面我们开始说HTTPS了