HTTP与HTTPS

HTTP(Hyper Text Transfer Protocol)

HTTP(超文本传输协议),是一个基于请求与响应无状态的,应用层的协议,基于TCP/IP协议传输数据,是互联网上应用最为广泛的一种网络协议,所有的www文件都必须遵守这个标准。

最初设计HTTP协议的目的是提供一种发布和接收HTML页面的方法

HTTP经过多年的发展,产生了多个版本:

HTTP/0.9---------1991年
HTTP/1.0---------1996年
HTTP/1.1---------1997年
HTTP/2------------2015年

目前,使用最广泛的是HTTP/1.1版本

HTTP协议一般用于B/S架构(即Browser/Server),浏览器作为HTTP客户端通过URL向HTTP服务端(即Web服务器)发送请求

无状态

指协议对事务的处理没有记忆能力,后面如果需要前面的信息,则还需要重传

无连接

服务器处理完请求并收到客户端的应答后,就会断开连接,不利于客户端和服务端保持会话连接。为了弥补这种不足,产生了两个记录HTTP状态的技术:CookieSession

HTTP原理

1、客户端(浏览器)和服务端(服务器)建立TCP连接(三次握手

2、浏览器向服务器发送HTTP请求

3、服务器向浏览器发送HTTP响应

4、服务器关闭TCP连接(四次挥手

5、浏览器将响应得到的HTML代码放到前端给用户

HTTP报文

1、请求报文构成
1)请求行
包括请求方法、URL、协议/版本
2)请求头
3)请求正文

2、响应报文构成
1)状态行
2)响应头
3)响应正文

请求方法

常用的请求方法有:
get、post、put、delete

HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer)

HTTPS是HTTP的安全版。
由于HTTP是以明文的方式传输内容,攻击者如果截取了报文就可以直接读取其中的信息,为了解决这一问题,在HTTP协议的基础上加入了SSL/TLS协议,依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密

HTTPS原理

1、客户使用https的URL访问Web服务器,与Web服务器建立SSL连接。
2、Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
3、客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
4、客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
5、Web服务器利用自己的私钥解密出会话密钥。
6、Web服务器利用会话密钥加密与客户端之间的通信。

流程:
1、客户端向服务端发送https连接请求
2、服务端返回证书(公钥)
3、客户端产生随机密钥(对称)
4、客户端使用公钥对对称密钥进行加密
5、客户端向服务端发送加密后的对称密钥
6、服务端使用自己的私钥进行解密,得到对称密钥
7、客户端与服务端通过使用对称密钥加密后的密文进行通信

HTTPS的缺点

1、相比于HTTP,会增加数据开销,速度也更慢
2、SSL证书需要money,功能越强大,费用越高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值