首先大家得理解 协议两个字是什么意思, 协议就是定义的规则,HTTP协议,就是名字叫HTTP的一种规则,HTTPS协议,名字叫HTTPS的一种规则,TCP协议就是名字叫TCP的规则,UDP协议就是名字叫UDP的一种规则
应该都知道 网络发送分为以下几层
应用层
与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。
例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。
但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。示例:TELNET,HTTP,FTP,NFS,SMTP等。
表示层
这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制或ASCII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。
如果选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算机的字符集。示例:
加密,ASCII等。
会话层
它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,
以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,
则用数据代表表示层。示例:RPC,SQL等。
传输层
这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,
还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。
网络层
这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,
网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。
数据链路层
它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。示例:ATM,FDDI等。
物理层
OSI的物理层规范是有关传输介质的特性标准,这些规范通常也参考了其他组织制定的标准。连接头、帧、帧的使用、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。
示例:Rj45,802.3等。
TCP和UDP 的区别,都是传输层协议,
TCP协议:
TCP协议也就是在传输层用TCP协议的规则进行的封装,数据形式进行TCP协议的规则传输,
1)提供IP环境下的数据可靠传输(一台计算机发出的字节流会无差错的发往网络上的其他计算机,而且计算机A接收数据包的时候,也会向计算机B回发数据包,这也会产生部分通信量),有效流控,全双工操作(数据在两个方向上能同时传递),多路复用服务,是面向连接,端到端的传输;
2)面向连接:正式通信前必须要与对方建立连接。事先为所发送的数据开辟出连接好的通道,然后再进行数据发送,像打电话。
UDP协议:
UDP协议也就是在传输层用UDP协议的规则进行的封装,数据形式进行TCP协议的规则传输,
1)面向非连接的(正式通信前不必与对方建立连接,不管对方状态就直接发送,像短信,QQ),不能提供可靠性、流控、差错恢复功能。UDP用于一次只传送少量数据,可靠性要求低、传输经济等应用。
HTTP和HTTPS的区别,都是引用层协议,
HTTP协议:
HTTP协议也就是在应用层HTTP协议的规则进行的封装,数据形式进行HTTP协议的规则传输,
HTTPS协议:
HTTPS协议也就是在应用层HTTP协议的规则进行的封装,数据形式进行HTTP协议的规则传输,
总结:
数据HTTP协议和HTTPS协议在应用层加密之后,还要到传输层将加密 数据包 让TCP协议进行加密,因为都要进行三次握手,所以HTTP协议和HTTPS协议底层都是基于TCP协议的。
HTTP协议我想不用多说 是经过三次握手的协议,所以基于TCP协议
HTTPS协议,HTTPS的工作流程:如下