初识HTTP、HTTPS

文章目录

HTTP

HTTP:超文本传输协议,是当今互联网上应用最广泛的一种传输协议

HTTP由三部分组成:请求行、请求头、请求体、请求数据组成
请求行:由请求的方法、URL、HTTP协议版本组成
请求的方法包括GET、POST 、HEAD、 DELETE、PUT

HEAD: 服务端收到HEAD请求时只返回响应头,不发送响应内容。所以,如果只需要查看某个页面的状态时,用HEAD更高效,因为省去了传输页面内容的时间

问题一:浏览器地址栏输入“www.baidu.com”回车,内部客户端和服务端是如何通信的呢?

1、URL自动解析
2、获取IP,建立TCP连接:首先它会在DNS本地缓存表中查找,如果有则直接告诉IP地址。如果没有则要求网关DNS进行查找,如此下去,找到对应的IP后,则返回会给浏览器。
当获取IP之后,就开始与所请求的Tcp建立三次握手连接,连接建立后,就向服务器发出HTTP请求。
3、客户端浏览器向服务器发出HTTP请求
4、Web服务器应答,并向浏览器发送数据
5、Web服务器关闭TCP连接:当Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,如果浏览器或者服务器在其头信息加入:Connection:keep-alive 代码,TCP连接在发送后将仍然保持打开状态,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

HTTP1.X

特点:
1、以纯文本的形式进行传输
2、无连接:无连接主要是限制每次连接只处理一个请求
3、无状态: HTTP 对客户端请求状态没有进行存储,比如每次请求都需要重新登录
4、简单快速:只需传送方法和路径就可以向服务端进行请求
5、还有支持传输任意类型的数据对象

HTTP2.0

http2.0是一种安全高效的http传输协议
它主要修改了HTTP的报文传输格式,通过引入二进制分帧层实现性能的提升
目的:改进传输性能,实现网络低延迟和高吞吐量。

特点:
1、采用二进制格式传输数据
2、采用多路复用IO,一个连接即可实现并行
3、压缩头部信息:客户端和服务器会同时维护同一张头信息表,所有的字段都会存入这张表中,生成一个索引号,只发送索引号,提高了速度。

HTTPS

HTTPS是安全的HTTP
在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性
HTTPS 在HTTP 的基础下加入SSL安全加密协议
HTTP一方面用来保证传输通道的安全、另一方面可以验证网站的真实性

完整的HTTPS的通信流程:

1.用户通过浏览器请求https网站,要求与服务器建立SSL连接,告诉服务器自己支持那些加密算法

2.服务器收到请求后,返回网站的数字证书给浏览器,数字证书中包含颁发机构,网址,公钥,证书有效期等信息

3.客户端验证数字证书,生成随机密钥x,用证书中的公钥对随机密钥x进行加密,并发送给服务器

4.服务器收到之后,用私钥进行解密,得到随机密钥x,然后使用随机密钥x对网页加密,发送给浏览器

5.浏览器收到加密后的网页后用随机密钥x进行解密,得到最终网页

其中HTTPS为了实现浏览器与服务器之间的加密通信,采用了对称式加密和非对称式加密两种算法来保证通信安全

对称加密

加密和解密使用同一密钥。
优点:运算速度快;
缺点:无法安全地将密钥传输给通信方

常见的对称加密算法:DES、AES

非对称加密

非对称式加密:加密和解密使用不同的密钥
优点:可以更安全地将公开密钥传输给通信发送方
缺点:运算速度慢,因为采用的加密算法是很耗CPU资源的
常见的非对称加密算法:DSA、RSA

HTTP 与 HTTPS 区别

区别说明
加密HTTP传输的是明文,而HTTPS传输的是密文
连接方式不同HTTP采用的是TCP连接(三次握手),而HTTPS采用的TCP+数字证书
端口HTTP 默认的端口是 80和 HTTPS 默认端口是 443
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值