HTTPS(Hypertext Transfer Protocol over Secure Socket Layer,基于SSL的HTTP协议)使用了HTTP协议,但HTTPS使用不同于HTTP协议的默认端口及一个加密、身份验证层(HTTP与TCP之间)。

HTTPS通信方式:

  客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。

(1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

(2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

(3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

(4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

(5)Web服务器利用自己的私钥解密出会话密钥。

(6)Web服务器利用会话密钥加密与客户端之间的通信。

[

note:

HTTPS =HTTP +SSL

HTTP:80端口 HTTPS:443端口

]

HTTPS解决的问题

1 . 信任主机
采用https 的server 必须从CA 申请一个用于证明服务器用途类型的证书. 此证书只有用于对应的server 的时候,客户端才信任此主机.
2 . 通讯过程中的数据的泄密和被窜改
1. 一般意义上的https, 就是 server 有一个证书.
a) 主要目的是保证server 就是他声称的server. 这个跟第一点一样.
b) 服务端和客户端之间的所有通讯,都是加密的.
i. 具体讲,是客户端产生一个对称的密钥,通过server 的证书来交换密钥. 一般意义上的握手过程.
ii. 加下来所有的信息往来就都是加密的. 第三方即使截获,也没有任何意义.因为他没有密钥. 当然窜改也就没有什么意义了.
2. 少许对客户端有要求的情况下,会要求客户端也必须有一个证书.
a) 这里客户端证书,其实就类似表示个人信息的时候,除了用户名/密码, 还有一个CA 认证过的身份. 应为个人证书一般来说上别人无法模拟的,所有这样能够更深的确认自己的身份.
b) 目前少数个人银行的专业版是这种做法,具体证书可能是拿U盘作为一个备份的载体.

参考:

http://www.cnblogs.com/ok-lanyan/archive/2012/07/14/2591204.html

http://www.2cto.com/net/201207/139401.html

#HTTP协议学习# (十)拓展-HTTPS协议相关推荐

  1. 什么是HTTP协议?什么是HTTPS协议?

    点赞关注是对我最大的支持,留言可分享测试资料. 什么是HTTP协议?什么是HTTPS协议? HTTP是超文本传输协议,是互联网上用得最多的网络协议, 所以的www文件都遵守这个标准.HTTP 协议工作 ...

  2. 网络协议学习笔记-IGMP协议

     网络协议学习笔记-IGMP协议 http://hi.baidu.com/clxye/item/3db870336d86c0c11a969614 IGMP协议(Internet Group Man ...

  3. 网络协议学习之Ethernet II协议(二层)

    网络协议学习之Ethernet II协议 简介 一.协议 1.协议结构 二.抓包分析 总结 简介 Ethernet II协议位于五层OSI模型中的第二层,属于链路层的协议. 一.协议 1.协议结构 前 ...

  4. #HTTP协议学习# (八)拓展-HTTPS协议

    转自:http://www.cnblogs.com/bukudekong/p/3837045.html HTTPS(Hypertext Transfer Protocol over Secure So ...

  5. android rtsp协议转http协议_Http协议和Https协议

    序言 Http和Https属于计算机网络范畴,但作为开发人员,不管是后台开发或是前台开发,都很有必要掌握它们. 在学习Http和Https的过程中,主要是参考了阮一峰老师的博客<阮一峰:HTTP ...

  6. TLS协议学习-第二篇-握手协议

    TLS协议学习第二篇,内容来自:https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-200 ...

  7. 应用层协议:HTTP与HTTPS协议详解、二者的区别

    http协议详解 1.HTTP协议:超文本传输协议 是一种分布式.合作式.多媒体信息系统服务,面向应用层的协议.是一种通用的,不分状态的协议.是一种请求/应答协议. 1.1.HTTP/1.0和HTTP ...

  8. 【网络协议趣谈】HTTPS协议加密证书和工作模式

    用HTTP协议,看个新闻还没有问题,但是换到更加严肃的场景中就存在很多的安全风险. 例如,下单做一次支付,如果还是使用普通的HTTP协议,那很可能会被黑客盯上 发送一个请求说要点个外卖,但是这个网络包 ...

  9. 百度地图在http协议正常,在https协议下地图无法正常显示的解决方法

    百度地图的添加方法说明: 1 到百度地图创建自己的地图   http://api.map.baidu.com/lbsapi/creatmap/index.html 2 复制好代码 经过测试百度地图在H ...

最新文章

  1. CMS发生FullGc分析
  2. 更大的工字型电感作为150kHz导航信号接收天线
  3. 数据库事务转载基础二:MySQL事务隔离级别详解
  4. 简历中能熟练使用计算机怎么写,过了计算机二级,可以在简历里写“熟练掌握Excel”吗?...
  5. “约见”面试官系列之常见面试题第二篇说说rem(建议收藏)
  6. python中列表如何比较大小_如何比较python中的列表/列表?
  7. java 2017腾讯面试题_腾讯2017刁难面试题,是不是大神就看你会做几题
  8. springmvc 响应封装_SpringMVC 封装返回结果对象
  9. 以编程方式使用 Microsoft Office Visio 2003 ActiveX 控件
  10. 腾讯云— LAMP 架构个人实践分享
  11. gps经纬度坐标 c语言,测试百度地图输入GPS经纬度显示位置API
  12. android半透明引导页
  13. 转载:啤酒文化历史渊源
  14. python微信转账记录_python 处理微信对账单数据的实例代码
  15. 淘宝逛逛达人怎么去快速变现
  16. 第四章 DDR3和FLASH 基于ARTY A7的MicroBlaze系统搭建与应用
  17. 【好文推荐】mysql的优点和缺点
  18. Leetcode 685. 冗余连接 II Redundant Connection II
  19. 用视频快速了解XDOC
  20. 【简单爱心win7】护眼电脑主题

热门文章

  1. Vue pdf 文件(文件流)预览,下载,视频下载
  2. 数值分析——LU分解求解线性方程组的Python实现
  3. ailx10的hacknet攻略002
  4. 蒙特卡罗方法(一):1.蒲丰投针求pi、2.掷骰子--求连续掷两颗骰子,点数之和大于6且第一次掷出的点数大于第二次掷出点数的概率
  5. docker容器使用docker-squash压缩体积
  6. 介绍基于ARM的移动视频监控系统
  7. Windows11-Redis 最新安装教程
  8. openssl 的安装
  9. 经典乱码“烫烫烫”和“屯屯屯”
  10. 密码打马赛克已经不安全了!这款开源的去“马赛克“工具一秒还原