0
点赞
收藏
分享

微信扫一扫

2023/09/14 qt&c++

像小强一样活着 2023-09-22 阅读 46

Http和Https

1.URI和URL

URI(Uniform Resource Identifier):统一资源标识符,标识资源,可以是相对路径也可以绝对路径表示。

绝对路径:http://www.example.com/images/logo.png

相对路径:/image/logo.png

URL(Uniform Resource Locator):统一资源定位符,定位资源,例如,http://www.example.com/images/logo.png

URL和URI关系:URL是URI的子集,定位符可以是标识符,但是标识符不一定都够定位。也就是URL是URI,但是URI不一定是URL。

URL格式:

2.Http

Http属于应用层协议,最常用的协议之一,用于客户端和服务端进行通信。

Http的请求报文:

Http响应报文:

2.1HTTP响应码

200:标识访问成功。

400:错误的请求。

401:没有验证身份

404:资源找不到

403:标识访问被拒绝

405:请求的方法不允许。服务器限制了某个请求的可用方法,如果对不上就会产生该错误。

500:服务器出现内部错误

504:Gateway Timeout,处理请求超时。

301:永久重定向,当浏览器收到这个域名的请求后,后续的请求都会自动改成新地址(给搜索引擎看的)

302:临时重定向,响应中的Location包含要跳转到的新地址。

301和302的区别:重定向指的是用户访问访问网站时,由于先前的域名/地址切换了,为了不影响用户体验,让用户可以用以前的域名进行访问,就需要用到重定向。当服务端设置了响应重定向时,服务端会在响应中会带上新的地址,当客户端收到重定向响应时,就会重新发送一个新的请求;而永久代表的是域名/地址永久被切换了,搜索引擎会修正引擎数据库;临时代表只是临时跟改了域名/地址,一般情况下,搜索引擎不会修正引擎数据库。

2.2Http协议的特征

  1. 不保存状态:Http协议请求和响应报文不会保存过去的通信信息,每次发送的请求都是独立的。
  2. 持久连接减少通信:只要任意一端没有提出断开连接,则保持TCP连接状态。

2.3代理

代理分为正向代理和方向代理,正向代理代理的是客户端(例如VPPN);反向代理代理的是服务端(代理服务器将请求转发给其他服务器),代理不会改变请求URI,从其他服务器返回的响应经过代理服务器在传给客户端。

3.https

3.1http的缺点

  1. 通信使用明文传输,内容可能被窃取。通过抓取帧,并解析帧,即可得到报文内容。
  2. 不验证通信方的身份,可以伪装身份。篡改URL,请求/响应被恶意转发到其他服务器。案例:运营商/黑客劫持。
  3. 无法证明报文的准确性,可能被篡改。

3.2什么是https

https是http的增强版。Http+加密+认证+完整性保护 = Https。

3.3加密方式

共享密钥:加密和解密使用同一个密钥,也称为对称密钥加密。加密方需要告诉解密方该密钥,解密方才能正确解密。如果密钥被窃取,加密就失去了意义。

公开密钥:发送方使用接收方的公钥加密,接收方使用自己的私钥解密。公钥加密私钥解码,私钥加密公钥解密。
在这里插入图片描述

黑客通过中间人攻击:基本实现信息透明,因此也是不安全的。

https的做法:
在这里插入图片描述
这种方法的缺陷也就是公共密钥的缺陷,总的来说,是公钥被黑客伪造的问题,因此就需要解决公钥被伪造的问题。

3.4证书

CA(Certificate Authority)证书颁发机构:主要实现服务端的身份验证,负责发放和管理数字证书的权威机构。服务商向第三方机构申请认证,并对服务商的资质进行校验,信息审核通过,证书结构会给服务商公钥、申请者的组织信息和个人信息、签发机构 CA的信息、有效时间、证书序列号等信息。同时包含一个签名,签名由上诉的明文经过散列算法得出。当客户端需要请求时,服务端使用私钥对该签名值进行加密同时也发送证书明文给客户端,客户端使用公钥对密文进行解密,对明文进行散列,校验散列的名文是否和解码的密文相同,相同则表示可信的。

关于证书伪造:

即使证书被伪造了,因为没有私钥,就无法篡改签名的密文。即使被篡改,浏览器通过公钥进行解密,也能被发现。

关于证书被完全替换:

即使证书被完全替换,证书中包含的也是黑客的一些信息,浏览器通过判断也能识别出是否被替换。

密文相同,相同则表示可信的。

关于证书伪造:

即使证书被伪造了,因为没有私钥,就无法篡改签名的密文。即使被篡改,浏览器通过公钥进行解密,也能被发现。

关于证书被完全替换:

即使证书被完全替换,证书中包含的也是黑客的一些信息,浏览器通过判断也能识别出是否被替换。

举报

相关推荐

0 条评论