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,原则上不可行

相关推荐
奋斗羊羊10 小时前
TCP、UDP 和串口通信对比分析
网络协议·tcp/ip·udp
wWYy.10 小时前
C++-集群聊天室(2):muduo网络库
网络·c++
珠海西格11 小时前
远动通信装置为何是电网安全运行的“神经中枢”?
大数据·服务器·网络·数据库·分布式·安全·区块链
java干货11 小时前
微服务:把一个简单的问题,拆成 100 个网络问题
网络·微服务·架构
LcVong11 小时前
WPF MediaPlayer获取网络视频流当前帧并展示图片完整范例
网络·wpf
新缸中之脑11 小时前
Moltbook:OpenClaw的社交网络
网络
岚天start12 小时前
Python HTTP服务器添加简单用户名密码认证的三种方案
服务器·python·http
开开心心就好12 小时前
键盘映射工具改键位,绿色版设置后重启生效
网络·windows·tcp/ip·pdf·计算机外设·电脑·excel
不知名。。。。。。。。12 小时前
传输层————TCP/UDP
网络协议·tcp/ip·udp
zhengfei61112 小时前
MCP 将帮助防御者更努力、更智能地进行检测工程
网络