HTTPS工作流程解析:HTTPS究竟在哪一层工作?
一、引言
随着网络安全问题日益突出,HTTPS(Hypertext Transfer Protocol Secure)已成为现代互联网中不可或缺的安全通信协议。
许多人对HTTPS的工作原理和其所在的协议层次存在疑惑。
本文将详细解析HTTPS的工作流程,并探讨HTTPS究竟在哪一层工作。
二、HTTP与HTTPS简介
1. HTTP:超文本传输协议(Hypertext Transfer Protocol)是一种应用层协议,用于在互联网上传输文本信息,如网页内容等。
2. HTTPS:是在HTTP基础上通过SSL/TLS协议提供加密通信的安全超文本传输协议。
三、HTTPS工作流程
HTTPS的工作流程主要涉及到应用层(Application Layer)和传输层(Transport Layer)。以下是HTTPS的工作流程解析:
1. 客户端发起请求:用户在浏览器地址栏输入网址后,浏览器会向服务器发送HTTP请求。
2. 服务器响应请求:服务器接收到请求后,会进行身份验证和授权检查。如果请求合法,服务器会返回响应。
3. SSL/TLS握手:在服务器返回响应之前,浏览器会验证服务器的SSL证书。这一过程涉及到了HTTPS的加密通信核心——SSL/TLS协议。SSL/TLS协议在传输层工作,负责建立加密通道,确保数据传输的安全性。
4. 数据传输:一旦SSL/TLS握手成功,浏览器和服务器之间将建立加密通道。之后,浏览器与服务器之间的所有通信都将通过该加密通道进行,确保数据的安全性。
5. 响应处理:客户端收到服务器返回的响应后,会对其进行解析并展示给用户。
四、HTTPS在哪一层工作?
HTTPS主要在应用层(Application Layer)工作,但其在传输层(TransportLayer)也起到了关键作用。具体来说:
1. 应用层:HTTPS作为应用层协议,负责处理互联网上的文本信息传输。在HTTPS中,浏览器和服务器通过HTTP请求和响应来交换数据。
2. 传输层:虽然HTTP本身并不具备加密功能,但HTTPS通过在这一层使用SSL/TLS协议来实现加密通信。SSL/TLS协议负责建立加密通道,确保数据传输的安全性。因此,HTTPS在传输层也发挥了重要作用。
五、结论
HTTPS主要在应用层工作,负责在互联网上传输文本信息。
为了实现加密通信,HTTPS在传输层也使用了SSL/TLS协议。
这些协议共同协作,确保用户在互联网上能够进行安全、可靠的通信。
六、扩展知识:HTTP与HTTPS的差异
1. 安全性:HTTP协议不具备加密功能,而HTTPS通过SSL/TLS协议实现加密通信,确保数据传输的安全性。
2. 性能:由于HTTPS需要进行SSL/TLS握手和加密解密过程,相对于HTTP,其性能可能会有所降低。但随着技术的发展和优化,这一差异已经逐渐减小。
3. 应用场景:HTTP主要用于普通网页浏览等场景,而HTTPS则广泛应用于需要高度安全性的场景,如电子商务、网银等。
七、总结
本文详细解析了HTTPS的工作流程,并探讨了HTTPS在哪一层工作。
通过对HTTP和HTTPS的简介、工作流程、以及差异的分析,我们了解到HTTPS主要在应用层工作,但在传输层也起到了关键作用。
随着网络安全需求的不断增长,对HTTPS的理解和应用将变得越来越重要。
https和http的区别是什么
HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。 它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。
HTTPS实际上应用了Netscape的安 全全套接字层(SSL)作为HTTP应用层的子层。 (HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。 )SSL使 用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。
HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。 HTTPS和HTTP的区别:https协议需要到ca申请证书,一般免费证书很少,需要交费。
http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。http的连接很简单,是无状态的HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全HTTPS解决的问题:
1 . 信任主机的问题. 采用https 的server 必须从CA 申请一个用于证明服务器用途类型的证书. 改证书只有用于对应的server 的时候,客户度才信任次主机. 所以目前所有的银行系统网站,关键部分应用都是https 的. 客户通过信任该证书,从而信任了该主机. 其实这样做效率很低,但是银行更侧重安全. 这一点对我们没有任何意义,我们的server ,采用的证书不管自己issue 还是从公众的地方issue, 客户端都是自己人,所以我们也就肯定信任该server.
2 . 通讯过程中的数据的泄密和被窜改
1. 一般意义上的https, 就是 server 有一个证书.
a) 主要目的是保证server 就是他声称的server. 这个跟第一点一样.
b) 服务端和客户端之间的所有通讯,都是加密的.i. 具体讲,是客户端产生一个对称的密钥,通过server 的证书来交换密钥. 一般意义上的握手过程. 加下来所有的信息往来就都是加密的. 第三方即使截获,也没有任何意义.因为他没有密钥. 当然窜改也就没有什么意义了.
2. 少许对客户端有要求的情况下,会要求客户端也必须有一个证书.
a) 这里客户端证书,其实就类似表示个人信息的时候,除了用户名/密码, 还有一个CA 认证过的身份. 应为个人证书一般来说上别人无法模拟的,所有这样能够更深的确认自己的身份.
b) 目前少数个人银行的专业版是这种做法,具体证书可能是拿U盘作为一个备份的载体.
HTTPS 一定是繁琐的.
a) 本来简单的http协议,一个get一个response. 由于https 要还密钥和确认加密算法的需要.单握手就需要6/7 个往返.i. 任何应用中,过多的round trip 肯定影响性能.
b) 接下来才是具体的http协议,每一次响应或者请求, 都要求客户端和服务端对会话的内容做加密/解密.i. 尽管对称加密/解密效率比较高,可是仍然要消耗过多的CPU,为此有专门的SSL 芯片. 如果CPU 信能比较低的话,肯定会降低性能,从而不能serve 更多的请求. 加密后数据量的影响. 所以,才会出现那么多的安全认证提示
网络的七层模型里面,常用的一些服务,如www,ftp,tftp,ip,tcp/ip,icmp这些应用都是工作在那层上面的?
OSI7层模型与网络协议一7层模型由下至上为1至7层,分别为: 应用层(Application;layer) 表示层(Presentation;layer) 会话层(Session;layer) 传输层(Transport;layer) 网络层(Network;layer) 数据链路层(Data;link;layer) 物理层(Physical;layer) 其中上三层称之为高层,定义应用程序之间的通信和人机界面。 什么意思呢,就是上三层负责把电脑能看懂的东西转化为你能看懂的东西,或把你能看懂的东西转化为电脑能看懂的东西。 下四层称之为底层,定义的是数据如何端到端的传输(end-to-end),物理规范以及数据与光电信号间的转换。 下面一层一层的来说明: 应用层,很简单,就是应用程序。 这一层负责确定通信对象,并确保由足够的资源用于通信,这些当然都是想要通信的应用程序干的事情。 表示层,负责数据的编码、转化,确保应用层的正常工作。 这一层,是将我们看到的界面与二进制间互相转化的地方,就是我们的语言与机器语言间的转化。 数据的压缩、解压,加密、解密都发生在这一层。 这一层根据不同的应用目的将数据处理为不同的格式,表现出来就是我们看到的各种各样的文件扩展名。 会话层,负责建立、维护、控制会话,区分不同的会话,以及提供单工(Simplex)、半双工(Half duplex)、全双工(Full;duplex)三种通信模式的服务。 我们平时所知的NFS,RPC,X Windows等都工作在这一层。 传输层,负责分割、组合数据,实现端到端的逻辑连接。 数据在上三层是整体的,到了这一层开始被分割,这一层分割后的数据被称为段(Segment)。 三次握手(Three-way handshake),面向连接(Connection-Oriented)或非面向连接(Connectionless-Oriented)的服务,流控(Flow control)等都发生在这一层。 网络层,负责管理网络地址,定位设备,决定路由。 我们所熟知的IP地址和路由器就是工作在这一层。 上层的数据段在这一层被分割,封装后叫做包(Packet),包有两种,一种叫做用户数据包(Data packets),是上层传下来的用户数据;另一种叫路由更新包(Route;update packets),是直接由路由器发出来的,用来和其他路由器进行路由信息的交换。 数据链路层,负责准备物理传输,CRC校验,错误通知,网络拓扑,流控等。 我们所熟知的MAC地址和交换机都工作在这一层。 上层传下来的包在这一层被分割封装后叫做帧(Frame)。 物理层,就是实实在在的物理链路,负责将数据以比特流的方式发送、接收。 二.网络协议 IP(Internet;Protocol;网际协议)连接两个节点。 每个节点都由一个32位地址来标识。 当发送消息时,IP协议从较高级的协议(TCP或UDP)接受消息,并添加包含有关目标主机信息的IP报头。 TCP(传输控制协议),TCP要求在发送数据之前必须打开连接。 服务器应用程序必须执行一个称作被动打开(passive;open)的操作,以利用一个已知的端口号创建一个连接,这时,服务器并不是对网络进行呼叫,而是侦听并等待引入的请求。 客户应用程序必须执行一个主动打开(active;open),为此,它向服务器应用程序发送一个同步序列号(SYN)以标识连接。 客户应用程序可以将动态端口号作为本地的端口使用。 服务器必须向客户发送一个确认(ACK)以及服务器的序列号(SYN),随后,客户恢复一个ACK,这样就建立连接了。 如果在收到ACK之前发送方已经超时,则消息将被放到重发队列中以再次发送。 UDP(用户数据报协议),UDP是一个速度很快的协议,因为它仅仅指定了数据传输所需要的最低机制,它的缺点,消息接收顺序不确定,第一个发送的消息可能最后一个被接到。 消息可能丢失,也可能同时接收到2个相同的消息。 在发送多播和广播时,我们通常不希望从每个节点都返回一个确认,这样将使服务器超负荷,并且网络负荷变大,所以在这个情况下使用UDP协议是很好的选择。 ICMP(Internet控制消息协议)是一个控制协议,IP设备用来向其他的IP设备通知网络中的活动和错误。 如果没有TCP协议,则IP;并不是一个可靠的协议,并且没有确认,没有数据的错误控制功能(只有一个报头校验和),也不能重新传输。 ICMP消息在IP报头的内部发送,ICMP消息来发送的类型:响应和响应回复,目标不可达和重定向,超时。 在用PING命令时会发送4个ICMP消息。 IGMP(Internet组管理协议)是IP协议的一个扩充,必须由IP模块来实现。 多播应用程序使用IGMP,利用IGMP消息发送对某个多播地址的一组成员请求,这样就能够注册某条多播消息,也可以使用IGMP取消成员的关系。 FTP(File;Transfer;Protocol;文件传输协议)用于将文件复制到服务器,反之亦然。 他还能列举服务器上的文件和目录。 他是一个基于TCP的应用层协议,FTP命令封装在TCP消息的TCP数据块中。 HTTP(Hypertext;Transfer;Protocol;超文本传输协议)HTTP是一个可靠的协议,这通过使用TCP来实现,HTTP具有:缓存、客户应用程序身份识别、支持各种MIME格式的不同附件等。 HTTPS(SSL上的HTTP)如果需要与WEB服务器交换机密数据,则可以使用HTTPS,SSL(Secure;Socket;Layer;安全套接字层),SSL在TCP之上,他使用一个公钥/私钥原理来交换保密的对称密钥,用一个对称密钥来加密消息。 想要支持HTTPS,WEB服务器必须安装一个证书,HTTPS默认端口是443。 SMTP(Simple;Mail;Transfer;Protocol;简单邮件传输协议)是一个用于发送和接受邮件消息的协议。 SMTP不允许我们从邮件服务器读取消息,为此需要使用POP3或者IMAP协议。 POP3(Post;Office;Protocol;邮局协议)是为断开环境设计的。 利用POP3,客户可以访问服务器,并获取服务器为其所保留的消息。 IMAP(Internet;Message;Access;Protocol;Internet消息访问协议)用来访问邮件服务器上的邮件,IMAP客户可以有脱机模式,这时可以在本地机器上对邮件进行操作。 IMAP使客户能够对远程邮箱进行操作,就像是本地操作邮箱一样。 NNTP(Network;News;Transfer;Protocol;网络新闻传输协议)是一个用于提交,中继和获取消息的应用层协议,该协议提供了能够访问新闻服务器并且从中获取选定消息的客户应用程序,并且还支持服务器到服务器的消息传输。 SNMP(Simple;Network;Management;Protocol;简单网络管理协议)可以对网络上的设备进行管理。 SNMP的目的在于利用性能问题和故障触发的警报来有效的管理设备,并且允许对设备进行配置。 与网络设备相关联的SNMP代理将有一个MIB(Management;Information;Base;管理信息库)数据库,它将面向对象的方式包含了该设备的可管理信息。 SNMP客户通过发送SNMP;GET;请求来访问数据库中的信息,用SNMP;SET;请求配置MIB数据库。 Telnet协议,该协议使我们能够利用用户身份验证连接到一个远程系统,然后从一个控制台环境远程调用命令。
https工作在什么层
应用层。它是建立于传输层的且透明的TLS(以前叫SSL)基础之上
评论一下吧
取消回复