**HTTP:**超文本传输协议,是互联网上应用最为广泛的一种网络协议。设计之初是为了提供一种发布和接收HTTP页面的方法。可以使浏览器更加高效。HTTP是以明文方式发送信息,如果黑客截取了Web浏览器和服务器之间的传输报文,就可以直接获取其中的信息。
HTTP原理:
- 客户端的浏览器首先要通过网络与服务器进行连接,(通过TCP),一般TCP的端口号是80。建立连接后,客户端发送一个请求给服务器,请求方式的格式为:统一资源定位符(URL)、协议版本号、MIME信息包括请求修饰符、客户机信息和许可内容。
- 服务器接收到请求后,给与相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码、后边是MIME信息包括服务器信息、实体信息和可能的内容。
**HTTPS:**是以安全为目标的HTTP通道,是HTTP的安全版。HTTPS安全的基础是SSL。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL 记录协议(SSL Record Protocol),它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL 握手协议(SSL Handshake Protocol),它建立在 SSL 记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL协议是一种安全传输协议,SSL是SecureSocketLayer的缩写,即安全套接层协议。该协议最初由Netscape企业发展而来,目前已经成为互联网上用来鉴别网站和网页浏览者的身份,以及在浏览器使用者及网页服务器之间进行加密通讯的全球化标准协议。由于SSL技术已建立到了所有主要的浏览器和WEB服务器程序当中,因此,仅需安装数字证书,或服务器证书就可以激活服务器功能了。
SSL协议能够对信用卡和个人信息提供较安全的保护。SSL是对计算机之间整个会话进行加密的协议。在SSL中,采用了公开密钥和私有密钥两种加密方法。
SSL协议的优势在于它是应用层协议确立无关的。高层的应用协议如HTTP、FTP、Telnet等能透明地建立于SSL协议之上。其在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证我们在互联网上通信的安全。
SSL协议提供的安全服务有:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。
HTTPS设计目标:
3. 数据保密性
4. 数据完整性
5. 身份校验安全性
HHTP HTTPS区别:
1、HTTPS 协议需要到 CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。(以前的网易官网是http,而网易邮箱是 https 。)
2、HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。
3、HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息。)