技术大拿和你聊聊https和ssltls协议

技术大拿和你聊聊https和ssltls协议

ID:18737128

大小:54.62 KB

页数:6页

时间:2018-09-20

技术大拿和你聊聊https和ssltls协议_第1页
技术大拿和你聊聊https和ssltls协议_第2页
技术大拿和你聊聊https和ssltls协议_第3页
技术大拿和你聊聊https和ssltls协议_第4页
技术大拿和你聊聊https和ssltls协议_第5页
资源描述:

《技术大拿和你聊聊https和ssltls协议》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、聊聊HTTPS和SSL/TLS协议  要说清楚HTTPS协议的实现原理,至少需要如下几个背景知识。  1.大致了解几个基本术语(HTTPS、SSL、TLS)的含义  2.大致了解HTTP和TCP的关系(尤其是“短连接”VS“长连接”)  3.大致了解加密算法的概念(尤其是“对称加密与非对称加密”的区别)  4.大致了解CA证书的用途  考虑到很多技术菜鸟可能不了解上述背景,俺先用最简短的文字描述一下。如果你自认为不是菜鸟,请略过本章节,直接去看“HTTPS协议的需求”  先澄清几个术语——HTTPS、SSL、TLS 

2、 1.“HTTP”是干嘛用滴?  首先,HTTP是一个网络协议,是专门用来帮你传输Web内容滴。关于这个协议,就算你不了解,至少也听说过吧?比如你访问俺的博客的主页,浏览器地址栏会出现如下的网址:http://www.techug.com/  俺加了粗体的部分就是指HTTP协议。大部分网站都是通过HTTP协议来传输Web页面、以及Web页面上包含的各种东东(图片、CSS样式、JS脚本)。  2.“SSL/TLS”是干嘛用滴?  SSL是洋文“SecureSocketsLayer”的缩写,中文叫做“安全套接层”。它是在

3、上世纪90年代中期,由网景公司设计的。(顺便插一句,网景公司不光发明了SSL,还发明了很多Web的基础设施——比如“CSS样式表”和“JS脚本”)  为啥要发明SSL这个协议捏?因为原先互联网上使用的HTTP协议是明文的,存在很多缺点——比如传输内容会被偷窥(嗅探)和篡改。发明SSL协议,就是为了解决这些问题。  到了1999年,SSL因为应用广泛,已经成为互联网上的事实标准。IETF就在那年把SSL标准化。标准化之后的名称改为TLS(是“TransportLayerSecurity”的缩写),中文叫做“传输层安全协

4、议”。  很多相关的文章都把这两者并列称呼(SSL/TLS),因为这两者可以视作同一个东西的不同阶段。  3.“HTTPS”是啥意思?  解释完HTTP和SSL/TLS,现在就可以来解释HTTPS啦。咱们通常所说的HTTPS协议,说白了就是“HTTP协议”和“SSL/TLS协议”的组合。你可以把HTTPS大致理解为——“HTTPoverSSL”或“HTTPoverTLS”(反正SSL和TLS差不多)。  再来说说HTTP协议的特点  作为背景知识介绍,还需要再稍微谈一下HTTP协议本身的特点。HTTP本身有很多特点,

5、考虑到篇幅有限,俺只谈那些和HTTPS相关的特点。  1.HTTP的版本和历史  如今咱们用的HTTP协议,版本号是1.1(也就是HTTP1.1)。这个1.1版本是1995年底开始起草的(技术文档是RFC2068),并在1999年正式发布(技术文档是RFC2616)。  在1.1之前,还有曾经出现过两个版本“0.9和1.0”,其中的HTTP0.9「没有」被广泛使用,而HTTP1.0被广泛使用过。  另外,据说明年(2015)IETF就要发布HTTP2.0的标准了。俺拭目以待。  2.HTTP和TCP之间的关系  简单

6、地说,TCP协议是HTTP协议的基石——HTTP协议需要依靠TCP协议来传输数据。  在网络分层模型中,TCP被称为“传输层协议”,而HTTP被称为“应用层协议”。  有很多常见的应用层协议是以TCP为基础的,比如“FTP、SMTP、POP、IMAP”等。  TCP被称为“面向连接”的传输层协议。关于它的具体细节,俺就不展开了(否则篇幅又失控了)。你只需知道:传输层主要有两个协议,分别是TCP和UDP。TCP比UDP更可靠。你可以把TCP协议想象成某个水管,发送端这头进水,接收端那头就出水。并且TCP协议能够确保,先

7、发送的数据先到达(与之相反,UDP不保证这点)。  3.HTTP协议如何使用TCP连接?  HTTP对TCP连接的使用,分为两种方式:俗称“短连接”和“长连接”(“长连接”又称“持久连接”,洋文叫做“Keep-Alive”或“PersistentConnection”)  假设有一个网页,里面包含好多图片,还包含好多「外部的」CSS文件和JS文件。在“短连接”的模式下,浏览器会先发起一个TCP连接,拿到该网页的HTML源代码(拿到HTML之后,这个TCP连接就关闭了)。然后,浏览器开始分析这个网页的源码,知道这个页面

8、包含很多外部资源(图片、CSS、JS)。然后针对「每一个」外部资源,再分别发起一个个TCP连接,把这些文件获取到本地(同样的,每抓取一个外部资源后,相应的TCP就断开)相反,如果是“长连接”的方式,浏览器也会先发起一个TCP连接去抓取页面。但是抓取页面之后,该TCP连接并不会立即关闭,而是暂时先保持着(所谓的“Keep-Alive”)。然后浏览

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。