若志 • 随笔 - ssl
type: channel
link: https://rz.sb/tag/ssl/
items: 给博客加上ssl
items: https和http有什么区别？

给博客加上ssl
type: item
date: 2019-03-17T08:22:00+08:00
description: 之前写过一篇关于http和https区别文章：所以我给我博客加上https认证，比较安全 本来博客建立之初就要弄个ssl证书的，由于我拖延症极其严重导致现在才去搞：审核还是比较快的审核通过之后，就是去安装ssl，如果用宝塔面板，宝塔面板可以一条龙服务（申请+安装），特别方便，当然也可以安装刚刚在腾讯云申请的ssl证书，我这里使用宝塔一键：然后点击右上【强制HTTPS】就安装完成啦～

https和http有什么区别？
type: item
date: 2019-03-03T02:44:00+08:00
description: 首先来个网上介绍：基本概念（http服务器-->本地浏览器，正确快速传输；https安全套接字层，http的安全版本， http+ssl层，建立一个信息安全的通道，保证数据传输的安全，确认网站的真实性）1、HTTP：超文本传输协议（HyperText Transfer Protocol）。是互联网上应用最为广泛的一种网络协议，所有的www文件都必须遵守这个标准。是一个客户端和服务器端请求和应答的标准（TCP），用于从www服务器传输超文本到本地浏览器的传输协议，它可以使浏览器更加高效，使网络传输减少。它不仅保证计算机正确快速地传输超文本文档，还确定传输文档中的哪一部分，以及哪部分内容首先显示（如文本先于图形）等。2、HTTPS：安全套接字层超文本传输协议（Hyper Text Transfer Protocol over Secure Socket Layer）。以安全为目标的HTTP通道，简单讲是HTTP的安全版本，即HTTP下加入SSL层，HTTPS的安全基础是SSL，因此加密的详细内容就需要SSL。HTTPS和SSL支持使用X.509数字认证，如果需要的话用户可以确认发送者是谁，也就是说它的主要作用可以分为两种：（1）建立一个信息安全的通道，来保证数据传输的安全；（2）确认网站的真实性。再来看看他们之间的具体区别：HTTP协议传输的数据都是未加密的，也就是明文的，因此使用HTTP协议传输隐私信息非常不安全，为了保证这些隐私数据加密传输，网景公司设计了SSL(Sercure Socket Layer)协议用于对HTTP协议传输的数据进行加密，从而诞生了HTTPS。具体的区别如下：1、HTTPS更安全：HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议，要比HTTP协议的信息明文传输安全；2、HTTPS需要申请证书：HTTPS协议需要到CA申请证书，一般免费证书很少，需要交费，费用大概与.com域名差不多，每年需要大约几十元的费用。而常见的HTTP协议则没有这一项；3、端口不同：HTTP使用的是大家最常见的80端口，而HTTPS连接使用的是443端口；4、安全性不同：HTTP的连接很简单，是无状态的。而HTTPS协议是SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议，要比HTTP协议安全；他们的具体工作：HTTPS具体工作HTTPS连接时，服务器要求有公钥和签名的证书。使用HTTPS连接，服务器响应初始连接，并提供它所支持的加密方法，作为回应，客户端选择一个连接方法，并且客户端和服务器端交换证书验证彼此身份，完成后在确保使用相同密钥的情况下传输加密信息，然后关闭连接，为了提供HTTPS连接支持，服务器必须有一个公钥证书，该证书包含经过证书机构认证的密钥信息，大部分证书都是通过第三方机构授权的以保证证书是安全的。HTTPS跟HTTP一样，只不过增加了SSL。HTTP包含如下动作：（1）浏览器打开一个TCP连接（2）浏览器发送HTTP请求到服务器端（3）服务器发送HTTP回应信息到浏览器（4）TCP连接关闭SSL包含如下动作：（1）验证服务器端； （2）允许客户端和服务器端选择加密算法和密码，确保双方都支持（3）验证客户端（可选）（4）使用公钥加密技术来生成共享加密数据（5）创建一个加密的SSL连接（6）基于该SSL连接传递HTTP请求最后看下他们的工作原理啦：HTTPS的工作原理如上图就是一个简单的https工作原理我们都知道HTTPS能够加密信息，以免敏感信息被第三方获取，所以很多银行网站或电子邮箱等安全级别较高的服务都会采用HTTPS协议。1、客户端发起HTTPS请求就是用户在浏览器里输入一个https网址，然后连接到server的443端口2、服务端的配置采用HTTPS协议的服务器必须要有一套数字证书，可以自己制作，也可以向组织申请，区别就是自己颁发的证书需要客户端验证通过，才可以继续访问，而使用受信任的公司申请的证书则不会弹出提示页面(startssl就是个不错的选择，有1年的免费服务)。这套证书其实就是一对公钥和私钥，如果对公钥和私钥不太理解，可以想象成一把钥匙和一个锁头，只是全世界只有你一个人有这把钥匙，你可以把锁头给别人，别人可以用这个锁把重要的东西锁起来，然后发给你，因为只有你一个人有这把钥匙，所以只有你才能看到被这把锁锁起来的东西。3、传送证书这个证书其实就是公钥，只是包含了很多信息，如证书的颁发机构，过期时间等等。4、客户端解析证书这部分工作是由客户端的TLS来完成的，首先会验证公钥是否有效，比如颁发机构，过期时间等等，如果发现异常，则会弹出一个警告框，提示证书存在问题。如果证书没有问题，那么就生成一个随机值，然后用证书对该随机值进行加密，就好像上面说的，把随机值用锁…