Java-HTTP响应以及HTTPS(下)

HTTP响应详解

200 OK

很常见的状态码,表示访问成功

404 Not Found

没有找到资源

403 forbidden

表示被拒绝访问,有的资源网站是需要一定权限访问的,如需要登陆的网站不登陆就访问容易见到到403

405 Method Not Allowed

服务器不支持(不同意使用)当前的方法

500 Internal Server Error

服务器内部出现错误,一般是服务器遇到了特殊情况会产生这个状态码(服务器异常崩溃)

504 Gateway Timeout

超时,当服务器负载比较大,服务器处理单条请求消耗的时间就会比较长,这时候就容易出现超时问题。

302 Move temporarily

临时重定向 :告知客户端资源临时迁移到新地址,下次请求仍应使用原 URL。重定向是暂时的,服务器未来可能将资源迁回原 URL,客户端需保留原请求地址

301 Moved Permanently

永久重定向 :当浏览器受到这种响应的时候,后续的请求都会被自动更新成新的地址

HTTPS是什么

HTTPS就是在HTTP的基础上进行了加密的一个应用层协议

这是因为HTTP协议是按照文本的方式进行明文传输的,这就会导致信息在传输过程中容易发生被篡改的现象。 所以明文传输是一种比较危险的方式,容易泄露自己的账号密码,隐私等等

加密是什么

加密就是把明文 进行一些列的变换来生成密文

解密是什么

解密就是把密文 经过一些列变换还原成明文

对称加密

对称加密就是通过一个"密钥",把明文加密成密文,同时也可以把密文还原成明文

通过对明文进行加密,哪怕信息在传输过程中被截获,只要没有 密钥 那么就无法破解密文。

理想状况下 肯定是服务器和客户端都知道密钥的,但是由于客户端数量多,如果维护密钥,每个客户端肯定是都要有各自的密钥的,毕竟如果密钥相同,那么对信息进行加密也就失去了意义。但是这种方法肯定是不现实的,如果通过信息传输来顺带传输密钥的话,密钥也会被截获,这样密钥也就失去了作用。所以此时我们也就需要对密钥的传输来进行加密,即非对称加密。

非对称加密:

非对称加密拥有两个密钥,一个是公钥 一个是私钥

公钥和私钥是配对的,缺点就是运算速度非常慢,比对称加密要慢很多

通过公钥进行明文加密可以变成密文,此时可以通过私钥来还原密文

同理:通过私钥进行加密变成密文,通过公钥来进行解密,变成明文

通过非对称加密:

客户端通过公钥1公钥2 进行加密,此时就算被截获,没有私钥的话,也无法对密文进行解密,而服务器因为有私钥,所以可以进行解密,此时之后的通信就可以通过 公钥2 来进行信息的通信。

但是问题又来了:

我们怎么知道我们获取的数据没有被接获篡改过呢? 比如说,客户端通过公钥发送公钥2,被截获了并且把公钥2改成了公钥3,那么服务器肯定接收到的是 公钥3 ,这种情况服务器肯定会以公钥3 来对数据进行加密,这样我们的数据就又被截获了。而 公钥3 黑客是知道的,这就又导致了隐私的泄露。

证书:

服务器在使用HTTPS前,需要向CA机构申领一份数字证书,数字证书里含有证书申请者信息,公钥信息等等。服务器把证书传输给浏览器,浏览器从证书里面获取公钥。

为了防止证书被伪造,客服端获取到当前证书之后,会对证书进行校验:

1.判断证书的有效期是否过期

2.判断证书的发布机构是否被信任

3.通过该证书发布机构的公钥来对签名进行解密,得到一个hash值(此处称为hash1),然后系统计算整个整数的hahs值(称为hash2)判断hash1是否等于hash2,如果相等就证明证书没有被篡改。

中间人是否可能篡改证书:

由于中间人没有CA机构的私钥,所以无法用私钥加密形成签名,也就没有办法对篡改后的证书形成匹配的签名。如果强行篡改:客户端接收证书之后会发现明文和签名解密后的hash值不一样,证明证书被篡改

中间人是否可能掉包整个证书:

如果想要掉包整个证书,中间人首先要申请一个CA证书,但是由于证书中包含了域名等服务器认证信息,如果整体掉包,如果整体掉包,客户端依旧可以辨认。

如果黑客改了数据后,也计算了hash怎么办

当黑客篡改了你的数据和hash值,他是没有私钥来进行加密并且生成签名的。

如果hash值计算的与原hash值一样,这个概率基本为0,原则上不可行

相关推荐
好望角雾眠2 小时前
第四阶段C#通讯开发-9:网络协议Modbus下的TCP与UDP
网络·笔记·网络协议·tcp/ip·c#·modbus
网安小白的进阶之路2 小时前
A模块 系统与网络安全 第四门课 弹性交换网络-5
网络·安全·web安全
8K超高清2 小时前
高校巡展:中国传媒大学+河北传媒学院
大数据·运维·网络·人工智能·传媒
C2H5OH6663 小时前
WebSocket-练习1
网络·websocket·网络协议
狂奔的sherry3 小时前
Socket vs WebSocket
网络·websocket·网络协议
sadandbad4 小时前
[vulhub靶机通关]DC-2(rbash绕过_git提权)
网络·sql·web安全·网络安全
2501_915106324 小时前
App HTTPS 抓包 工程化排查与工具组合实战
网络协议·ios·小程序·https·uni-app·php·iphone
GTgiantech5 小时前
科普SFP 封装光模块教程
服务器·网络·数据库
0和1的舞者6 小时前
网络通信的奥秘:HTTP详解 (七)
服务器·网络·网络协议·http·okhttp·软件工程·1024程序员节