Http协议及Https协议及特性的简单描述

引入(摘自百度百科)
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 [1] 。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面 .

Http

第一层 http协议
第二层 TCP传输层
第三层 IP层
第四层 数据链路层
第五层 物理层

http特性

1.无连接(优点) 2.无状态(优点) 3.应用层(优点) 4.明文传输(缺点) 5.不安全(缺点)

无连接:每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求是无直接关系的,它不会受前面的请求应答情况直接影响,也不会直接影响后面的请求应答情况

无状态:HTTP无状态协议,是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

Cookie & Session

客户端与服务器进行动态交互的Web应用程序出现之后,HTTP无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,简单的购物车程序也要知道用户到底在之前选择了什么商品。于是,两种用于保持HTTP连接状态的技术就应运而生了,一个是Cookie,而另一个则是Session。

Cookie:是通过客户端保持状态的解决方案。从定义上来说,Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息。

Session:Session指的是服务器端为客户端所开辟的存储空间,在其中保存的信息就是用于保持状态。

http一次事务(会话)

1.建立连接 2.发起请求 3.响应请求 4.断开连接

HTTP协议由于是明文传送,所以存在三大风险:

扫描二维码关注公众号,回复: 11591724 查看本文章

1、被窃听的风险:第三方可以截获并查看你的内容
2、被篡改的危险:第三方可以截获并修改你的内容
3、被冒充的风险:第三方可以伪装成通信方与你通信

HTTP因为存在以上三大安全风险,所以才有了HTTPS的出现。

Https

HTTPS协议的特性:

1.HTTP与HTTPS是完全不同的连接方式,两者所用的端口也不一样,HTTP是80而HTTPS是443

2.HTTPS协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

3.HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。

4.HTTP协议的速度比HTTPS更快,但也更不安全

5.HTTPS 降低一定用户访问速度。

6.HTTPS 消耗 CPU 资源,需要增加大量机器。

https协议栈

https协议栈

如图可以发现 https相较于http协议多了一层 SSL/TLE安全层 那么SSL/TLS协议的主要作用是什么呢?

SSL/TLS协议的主要作用就是:

 1.认证用户和服务器,保证各自的数据都发送到正确的位置上去。

  2.对发送的数据进行加密,保护数据。

  3.保证数据在发送过程中的完整性。

什么是CA

CA认证,即电子认证服务 [1] ,是指为电子签名相关各方提供真实性、可靠性验证的活动。

证书颁发机构(CA, Certificate Authority)即颁发数字证书的机构。是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。

https三次握手 及 如何保证数据安全

1,客户端将SSL 协议的版本号、加密算法的种类,产生的随机数A等信息传给服务器
2,服务器选择其中的一种组合作为加密方式,同时将自己的证书、公钥、另外一个随机数B一起传给客户端
3,客户端验证客户端返回的信息(包括证书,签名,域名等),验证成功,则生成对称加密密钥S,用公钥加密后返回给服务器
4,服务器用私钥将这段密钥解密。得到对称密钥S,并用此密钥加密一段握手消息返回给客户端
5,客户端收到握手消息,用对称密钥解密,验证成功,则握手成功。

第一次写博客,写的不好多多见谅,感谢观看!

猜你喜欢

转载自blog.csdn.net/qq_48021641/article/details/107504474