C++遍历数组的有几种方式?
answer:1、下标遍历,传统的遍历方式 2、指针遍历,数组本身也是指针,所以可以使用指针进行遍历 3、for(range-based),用于同一类型的范围数据进行遍历 4、迭代器,使用迭代器iter的函数集可以进行较快的遍历,自动回收。
http和https的区别?
answer:主要区别后置增加了安全加密,使用ssl协议进行加密,保证数据的安全,前者使用明文传输。另外访问端口也不一样,http是80,https是443,https需要使用ca证书。实质上https=http+加密+认证+完整性保护,后三个可以认为是ssl,分别代表ssl协议的私密性、身份认证和完整性
http的访问流程?
answer:1、浏览器根据域名解析对应的IP地址,DNS解析(浏览器缓存---系统缓存---路由器缓存---ISPDNS服务缓存)
2、找到了服务器,浏览器和服务器建立TCP连接,TCP三次握手
3、浏览器给服务器发送请求,封装请求json
4、服务器响应返回对应的请求数据,比如数据库查询接口,返回数据库查询数据。
5、接收到数据,界面部分进行渲染和显示
https的访问加密流程?
answer:
1、客户端向服务器发起https请求,连接服务器的443端口
2、服务器将非对称加密的公钥传递给客户端,用证书的形式回传给客户端
3、客户端受到该公钥证书进行验证,有问题,停止https请求,没有问题,客户端随机生成一个私钥,clientkey,用于对称加密数据。在使用公钥对这个clientkey数据进行非对称加密。客户端发起第二次https请求
4、服务器使用私钥进行解密,得到clientkey,使用clientkey对数据进行堆成加密
5、将加密后的数据传递给客户端,客户端进行对称解密。完成第二次的https请求
https的加密算法?
answer:
1、对称加密,使用相同的私钥进行加解密,安全性比较低,是和长数据进行加密
1.1、对称加密DES
2、非对称加密,加密和解密的过程中使用不同的秘钥,一个是公钥,对外公开,一个是私钥,仅仅加密端持有,适合少量数据进行加密。
2.1、客户端请求使用公钥加密,服务端私钥解密
2.2、服务端返回使用私钥加密,客户端公钥解密
2.3、私钥和公钥可以互相推导,但是很难
3、哈希算法
4、数字签名,为了验证数据的完整性,使用哈希算法对数据生成摘要,然后对摘要进行私钥加密,生成数字签名,附在数据下面,发给客户端,客户端收到之后先公钥解密,然后得到摘要和自己计算出的摘要进行对比,相同则代表没发生变化
5、CA证书,为了验证正确的交互方,不是为了保证公钥的安全性。证书用自己的私钥对服务器的公钥和相关信息进行加密,生成CA证书,服务器发送的附上证书即可。
SSL了解?
ssl协议的私密性、身份认证和完整性。
https响应状态码?
1、100-199:服务器接受到部分请求,需要客户端提交剩余请求
2、200-299:表示服务器成功接受请求并完成处理过程,常用200OK
3、300-399:为完成请求,客户端须进一步细化请求,比如请求资源移动到新的地址,常用302(页面移动),304(使用缓存资源)
4、400-499:客户端请求存在错误。常见的404(服务器无法找到请求页面,nginx配置问题),403(请求权限不够)
5、500-599:服务器端出现错误,常用500(请求未完成,请求接口没打开)
标签:加密,请求,http,https,服务器,私钥,客户端 From: https://www.cnblogs.com/sukkimy/p/17183894.html