#HTTP协议学习# (十)拓展-HTTPS协议

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协议

时间: 2024-10-11 16:33:18

#HTTP协议学习# (十)拓展-HTTPS协议的相关文章

Apache 实现http协议自动转成https协议,Apache 防DDOS攻击 使用mod_rpaf模块 mod_evasive模块

一:实践环境介绍 二:配置Apache,实现访问http页面自动转成https页面 需求1:整个站点都实现http自动转https 需求2:整个站点使用http协议,只有某个单独页面从http自动转到https 实验环境介绍 使用yum 安装apache Apache版本 # httpd -v Server version: Apache/2.2.15 (Unix) Server built:   Aug 13 2013 17:29:28 使用yum 安装openssl # yum instal

解决iOS9苹果将原http协议改成了https协议问题

在info.plist 加入key <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>

HTTPS协议在Tomcat中启用是如何配置的

版权声明:本文为博主阿甘(Gane_Cheng)原创文章,欢迎转载,传播知识,请留言告知并注明出处,方便文章有误改正之后能找到原文.个人之言,请抱着怀疑的态度参考! 目录(?)[+] 转载请注明出处: http://blog.csdn.net/gane_cheng/article/details/53001846 http://www.ganecheng.tech/blog/53001846.html (浏览效果更好) 本文将讲解HTTPS协议在Tomcat中启用是如何配置的. 概念简介 Tom

【转】Tomcat启用HTTPS协议配置过程

转载请注明出处: http://blog.csdn.net/gane_cheng/article/details/53001846 http://www.ganecheng.tech/blog/53001846.html (浏览效果更好) 本文将讲解HTTPS协议在Tomcat中启用是如何配置的. 1. 概念简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选. HTTP

IOS7.1以后企业应用发布强制需要HTTPS协议

一.问题背景 苹果发布IOS7.1以后,企业应用发布强制需要使用HTTPS协议.需要用https协议就需要在服务器上部署SSL证书. 二.问题描述 苹果发布IOS7.1以后,用户安装app,需要使用https协议来下载plist文件,也就是说,在安装app的第一步,下载.plist文件,就需要使用https协议.https协议如下: 用户要使用https来下载.plist文件就需要企业网站支持https协议访问.企业网站如何做到支持HTTPS协议呢?只有在网站服务器上部署SSL证书才能使网站支持

Https协议报错:com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl解决方法

旭日Follow_24 的CSDN 博客 ,全文地址请点击: https://blog.csdn.net/xuri24/article/details/82220333 所用应用服务器:JBoss服务器 jdk环境:jdk1.6 通信协议:http/https 场景:本地项目对接外部项目(接口编程),尤其银行对接等: 使用外部系统提供的sdk,sdk中封装好了http通信协议等.使用sdk进行调用正常,当导入本地项目对接时,调用请求出现报错: sun.net.www.protocol.http.

#HTTP协议学习# (十二)理解转发与重定向

本文转自:http://blog.csdn.net/meiyalei/article/details/2129120  生动清晰 解释一 转发是服务器行为,重定向是客户端行为.为什么这样说呢,这就要看两个动作的工作流程: 转发过程:客户浏览器发送http请求---->web服务器接受此请求-->调用内部的一个方法在容器内部完成请求处理和转发动作---->将目标资源发送给客户:在这里,转发的路径必须是同一个web容器下的url,其不能转向到其他的web路径上去,中间传递的是自己的容器内的r

大前端学习笔记整理【七】HTTP协议以及http与https的区别

前言 还是老样子,新博客开始前总是想先啰嗦几句...HTTP协议其实在当初学习java时老师就有提过...但是...反正就那么过去了... 这段时间公司的项目正好要求做https的转换和迁移,然后自己思考了一下,好像自己对于http连一知半解都算不上...更不提http与https的区别...想想作为一个未来的大前端工程师,岂能不去研究这些东西? 好吧,废话就到这里...正文开始 什么是HTTP? 以下来自度娘最为专业的解释: 超文本传输协议(HTTP,HyperText Transfer Pr

马哥学习笔记二十五——ISCSI协议,架构及其安装配置

ISCSI监听在tcp/3260端口 iSCSI Target:iscsi-target-utils 客户端认正方式: 1.基于IP 2.基于用户,CHAP tgtadm:命令行工具,模式化命令 --mode 常用模式:target,logicalunit,account target --op new.delete.show.update.bind.unbind logicalunit --op new.delete account --op new.delete.bind.unbind --