前端小白day1:HTTP与HTTPS的知识概念

1.HTTP是什么

HTTP是超文本传输协议,也就是HyperText Transfer Protocol,位于TCP五层模型中的应用层。

2.超文本传输协议的具体描述

可以拆分为三个部分:

1.超文本

2.传输

3.协议

image

超文本传输协议是计算机世界中两点之间传输文本、视频、图片、音频等超文本数据的约定与规范 。

3.HTTP比较常见的状态码

【1xx】

1xx类状态码属于提示信息,是协议处理中的一种中间状态,比较少见。

【2xx】

2xx类状态码表明服务器成功处理了客户端的请求。

「200 OK」是最常见的成功状态码,表示一切正常。如果是非 HEAD 请求,服务器返回的响应头都会有 body 数据。

「204 No Content」也是常见的成功状态码,与 200 OK 基本相同,但响应头没有 body 数据。

「206 Partial Content」是应用于 HTTP 分块下载或断电续传,表示响应返回的 body 数据并不是资源的全部,而是其中的一部分,也是服务器处理成功的状态。

【3xx】

3xx 类状态码表示客户端请求的资源发送了变动,需要客户端用新的 URL 重新发送请求获取资源,也就是重定向。

「301 Moved Permanently」表示永久重定向,说明请求的资源已经不存在了,需改用新的 URL 再次访问。

「302 Moved Permanently」表示临时重定向,说明请求的资源还在,但暂时需要用另一个 URL 来访问。

301 和 302 都会在响应头里使用字段 Location,指明后续要跳转的 URL,浏览器会自动重定向新的 URL。

「304 Not Modified」不具有跳转的含义,表示资源未修改,重定向已存在的缓冲文件,也称缓存重定向,用于缓存控制。

【4xx】

4xx 类状态码表示客户端发送的报文有误,服务器无法处理,也就是错误码的含义。

「400 Bad Request」表示客户端请求的报文有错误,但只是个笼统的错误。

「403 Forbidden」表示服务器禁止访问资源,并不是客户端的请求出错。

「404 Not Found」表示请求的资源在服务器上不存在或未找到,所以无法提供给客户端。

【5xx】

5xx 类状态码表示客户端请求报文正确,但是服务器处理时内部发生了错误,属于服务器端的错误码。

「500 Internal Server Error」与 400 类型,是个笼统通用的错误码,服务器发生了什么错误,我们并不知道。

「501 Not Implemented」表示客户端请求的功能还不支持,类似“即将开业,敬请期待”的意思。

「502 Bad Gateway」通常是服务器作为网关或代理时返回的错误码,表示服务器自身工作正常,访问后端服务器发生了错误。

「503 Service Unavailable」表示服务器当前很忙,暂时无法响应服务器,类似“网络服务正忙,请稍后重试”的意思。

image

 4.GET与POST的区别

GET:是客户端向服务器请求资源,这个资源可以是静态的文本,图片,页面和视频等。比如当你打开这篇文章,浏览器就会发送GET请求给服务器,服务器就会把文章的文本和图片等内容发送回来。

image

POST:是客户端向服务器更新或修改数据,它向 URI 指定的资源提交数据,数据就放在报文的 body 里。比如你在文章评论留言处写好要想说的内容,然后点击【提交】,浏览器会向服务器执行一次POST请求,将要发送的内容放进报文 body 中,然后拼接好POST请求头,通过TCP协议发送给服务器。

5.HTTPS与HTTP的区别

HTTP是超文本传输协议,信息数据是明文传输,存在安全隐患。HTTPS则解决了HTTP安全性缺陷的不足,在HTTP协议和TCP协议中加入SSL/TLS安全协议,使得信息数据可以加密传输。

image

6. HTTPS解决了什么风险

【信息加密】别人无法窃取你的通信信息。

【检验机制】别人无法篡改通信内容,一旦篡改则无法正常显示。

【身份证书】证明你所访问的网站是官方认证的网站,不是假网站。

7.HTTPS是如何解决这些风险的

1.混合加密

通过混合加密的方式可以保证信息的机密性,解决了窃听的风险。

HTTPS 采用的是对称加密和非对称加密结合的「混合加密」方式:

image

 2.摘要算法

摘要算法用来实现完整性,能够为数据生成独一无二的「指纹」,用于校验数据的完整性,解决了篡改的风险。

客户端在发送明文之前会通过摘要算法算出明文的「指纹」,发送的时候把「指纹 + 明文」一同加密成密文后,发送给服务器,服务器解密后,用相同的摘要算法算出发送过来的明文,通过比较客户端携带的「指纹」和当前算出的「指纹」做比较,若「指纹」相同,说明数据是完整的。

image

3. 数字证书

为了保证服务器发送给客户端的公钥是没有被篡改的,需要借助第三方权威机构 CA (数字证书认证机构),将服务器公钥放在数字证书(由数字证书认证机构颁发)中,只要证书是可信的,公钥就是可信的。

image

 这样就可以解决冒充网站的风险。

8.加入SSL/TLS协议后的握手过程

1.客户端向服务器索要并验证服务器的公钥。

2.双方协商生产「会话秘钥」。

3.双方采用「会话秘钥」进行加密通信。

前两步也就是 SSL/TLS 的建立过程,也就是握手阶段。

如图详解:

image

 可以参考HTTPS是什么?加密原理和证书。SSL/TLS握手过程_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1KY411x7Jp/?spm_id_from=333.788&vd_source=8c7ff41c9353bb0f29cf3a80e7783376

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值