HTTP与HTTPS(二)

一、HTTP与HTTPS发展历程

image

1、1990年,HTTP诞生,HTTP在WWW全球信息刚起步的时候就得到了应用;

2、1991年发布HTTP/0.9最早版本发布,该版本极其简单,只有一个命令GET;

3、1996年HTTP/1.0版本发布,这时候不仅仅可以传输文字,而且还可以传输图像,视频,二进制文件;

4、1999年HTTP/1.1版本发布,进一步完善了HTTP协议,直到现在还是一直很流行的版本;

5、2000年,HTTPS正式发布,是以安全为目标的HTTP通道。

二、HTTP工作过程

http请求过程

首先,来看一下这个过程是怎么样的?

  • 1、首先,由客户端发送一个SYN同步报文到服务端;
  • 2、当服务端收到这个SYN同步报文后,会给客户端一个回复报文:SYN,ACK报文;
  • 3、当客户端收到这个SYN,ACK回复报文后,会给服务器端一个ACK确认报文;
前面的1、2、3都是发生在TCP层面,也就是说1,2,3对应的都是TCP报文段,这也是TCP连接建立的过程
在TCP连接建立后,客户端和服务端就可以进行正常的http网络请求了.
接下来,客户端与服务器端要发生http层面上的请求与响应了。
  • 4、首先,客户端发送一个HTTP请求报文到服务端;
  • 5、当服务端收到HTTP请求报文后,处理后,把数据返回给客户端,产生的是HTTP响应报文;
4,5条报文是HTTP层面的请求与响应数据。当客户端与服务端结束了网络请求与响应,
这条TCP通道就要关闭,接下来看一下连接断开,如果说断开是客户端发起的
  • 6、首先,客户端发送一条FIN报文到服务端;
  • 7、当服务端收到客户端的终止报文(FIN)后,会给客户端发送一个ACK确认报文,当客户端收到服务器端发送的ACK报文后,这时客户端到服务器端的连接就断开了;
  • 8、接下来,过一段时间,服务器端又会给客户端发送一个FIN,ACK终止报文,
  • 9、当客户端收到服务器端发送的FiN,ACK报文后,会给服务器端一个ACK确认报文,至此,服务器端到客户端的TCP连接通道就关闭了。
6、7条报文是客户端到服务端的连接断开了
8、9条报文是服务器端到客户端的连接断开了。
TCP连接通道是一个全双工的的通道,也就是说,可以从客户端向服务器端发送数据,
服务器端也可以通过同一条通道向客户端发送数据。并不是两条通道。

接下来,看一下HTTP的报文格式:

请求报文:

HTTP请求报文格式
HTTP请求报文格式:对应上述具体

响应报文:

HTTP响应报文格式
HTTP响应报文格式对应上述具体

三、HTTPS

全称:Hyper Text Transfer Protocol over Secure Socket Layer
HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。

首先来看一下HTTPS的安全从何而来:
安全套接字层SSL&安全传输层TLS
  • SSL:Secure Sockets Layer安全套接字。
  • TLS:Trasport Layer Security传输层安全,SSL继任者。
    TLS与SSL在传输层之上对网络连接进行加密,为网络通信提供安全及数据完整性。
SSL协议:

为了解决以下风险而设计产生:
1、所有信息都是加密传播,第三方无法窃听;
2、具有校验机制,一旦被篡改,通信双方会立刻发现;
3、配备身份证书,防止身份被冒充。

HTTP与HTTPS层级区别(HTTPS中的SSL协议)

HTTPS简单的工作流程:

HTTPS简单的工作流程
首先客户后端发送一个网络请求,或者说是一个HTTPS请求时,会把请求的数据包装成HTTP请求报文,
然后通过(经过)TLS&SSL中间层后,就会把HTTP请求报文进行加密,然后再把加密后的数据向下传递到
TCP传输层,再传给IP网络层,然后经历网络传输到接收方,接收方的IP网络层接收到IP报文后,再顺着层次结构,
一步一步往上,将TCP将报文传输到TLS&SSL中间层时,由中间层来对这个数据进行解密,
然后重新拼装成HTTP报文发送给接收方(应用层。)

接下来,再看一下SSL连接建立过程:

SSL连接建立过程.png

详细解释:

左边是客户端,右边是服务端,
首先,客户端发送一条握手信息给服务端,那么客户端发送给服务端的这条信息里面包含哪些内容呢?
主要包含两个内容:一个是客户端发送给服务器端的一个随机数1(number1),另一个是协商的一些加密算法,
或者说客户端支持的一些加密算法,当客户端把这些内容发送给服务器端后,服务器端后给予客户端
一个响应握手信息,这里面也主要包含两个内容,一个是随机数2(number2),另一个是匹配好的协商加密
算法,那这个匹配好的协商加密算法一定是客户端发送给服务器端加密算法集合的一个子集,
那么当服务器端给客户端第一个响应报文之后,随即又会传递给客户端第二个响应报文,就是服务端的一个
证书,那么当客户端收到服务端传递过来的一个证书过后,需要对服务端的证书进行验证,
这个也就是我们说的这个过程中的评估信任证书,那么这个过程中,客户端主要对服务端的证书进行校验,
它是否是有效的、是否是合法的。那么如果判断它是有效的还是合法的呢?我们主要通过两点对服务端的证书是否可靠,
是否可信任。
第一点:验证服务器端证书的数字摘要和服务证书解密之后的内容是否一致:篡改
第二点:证书链:我们要逐级验证证书,一直到根证书(浏览器,或操作系统中),要在我们操作系统信任的证书列表中。

当客户端对服务端的证书验证通过后,客户端会组装会话秘钥, 组装会话秘钥有三个内容,第一个是
客户端自己保留的number1,第二个是服务端的number2,第三个是预主密钥;客户端根据number1、number2、
预主密钥去组装会话秘钥,然后客户端会把预主密钥通过服务端传递过来的证书里面的公钥加密后传递给
服务端,这样服务端就能拿到加密后的预主密钥,然后服务端通过私钥去解密预主密钥,这样的话,服务端
也获得了3个随机数,number1、number2、预主密钥;当服务端拿到这三个数后,它也可以组装会话秘钥,
跟客户端组装会话秘钥一样,就是说他们组装出来的会话秘钥是一样的。
然后客户端会根据组装出来的会话秘钥去加密一条消息,然后把加密后的消息传递给握手的服务端,
这一过程主要验证服务端能否正常接受客户端的加密消息。
同样的,服务端也会发送一个加密后的握手消息给客户端,来验证客户端是否正常接受服务端的加密消息。
如果这两步都通过了,就说明SSL的客户端与服务端的连接就建立成功了。
预主密钥:由客户端产生,传递给服务端。跟随机数1和随机数2配合使用,用来生成会话秘钥。
随机数1,随机数2:
公钥跟私钥:非对称加密中的。

四、区别:

1、HTTPS协议需要到CA申请证书,一般免费证书很少,需要交费;
2、HTTP是明文传输,HTTPS则是具有安全性的SSL加密传输;
3、HTTP与HTTP使用的端口号也不同,前者是80,后者是443;
4、HTTPS可进行加密传输、身份认证,比HTTP安全。

五、简单说一下加密算法

1、对称加密:加密跟解密所使用的是同一把秘钥;(安全性没有非对称加密好,但是性能比非对称加密好)


对称加密

2、非对称加密:公钥进行加密,私钥进行解密,也可以说加密跟解密不是用同一把秘钥。


非对称加密
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 229,836评论 6 540
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,275评论 3 428
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 177,904评论 0 383
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,633评论 1 317
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,368评论 6 410
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 55,736评论 1 328
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 43,740评论 3 446
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,919评论 0 289
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,481评论 1 335
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,235评论 3 358
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,427评论 1 374
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 38,968评论 5 363
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,656评论 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 35,055评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,348评论 1 294
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,160评论 3 398
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,380评论 2 379

推荐阅读更多精彩内容