【Java面试题】HTTP与 HTTPS 的区别

HTTP 与 HTTPS 的区别 :

主要体现在三个方面,分别是信息传输安全证书和身份验证连接方式

信息传输安全:

HTTP 是超文本传输协议,HTTP下的信息是明文传输的,因此使用HTTP协议可能导致信息被截获或者第三方恶意篡改,这对于隐私信息是不安全的。

HTTPS协议是一种具有SSL的加密传输的协议(HTTPS是由SSL + HTTP 构建),通过SSL协议

对传输的内容进行加密,从而保证信息传输的安全性。

证书和身份验证:

HTTP协议不需要证书。

HTTPS需要向CA 申请证书,一般免费的证书比较少,所以需要一定的费用,同时,HTTPS协议不仅可以加密传输信息,还可以对身份进行认证,能够提供对网站服务器的认证,防止中间人攻击。

连接方式:

HTTP和HTTPS 使用的连接方式是完全不同的,用的端口也不一样,HTTP默认的端口是80,HTTPS默认的端口是443,HTTP的连接方式很简单,是无状态的。

HTTP的连接方式有以下两种:

  1. 短连接 (非持续连接),指服务端对于来自客户端的每一个请求均建立一个连接,当服务端响应请求后就关闭连接,不为其他的请求而持续连接。

  2. 长连接 (持续连接),指服务端响应请求后,不关闭连接,为之后的其他的请求保持连接状态,这种连接方式下,一个连接可以发送多个请求,一个请求完成后不会关闭连接,继续等待下一个请求连接。

HTTPS的连接方式:

当客户端向服务器发起请求时,服务器会将SSL证书发给客户端,客户端会对SSL证书进行验证,确认服务器身份的真实性。如果证书通过,则客户端和服务器之间会建立一个SSL/TLS 加密连接,所有数据的传输都会通过这个加密连接进行安全传输。

相关推荐
mit6.8242 小时前
[实现Rpc] 通信类抽象层 | function | using | 解耦合设计思想
c++·网络协议·rpc
是小崔啊3 小时前
java网络编程02 - HTTP、HTTPS详解
java·网络·http
卷心菜不卷Iris5 小时前
第1章大型互联网公司的基础架构——1.6 RPC服务
网络·网络协议·微服务·rpc·http协议·rpc协议
Blasit5 小时前
C++ Qt建立一个HTTP服务器
服务器·开发语言·c++·qt·http
是纯一呀7 小时前
WebSocket(WS)协议系列(一)基本概念
网络·websocket·网络协议
zhj16953697 小时前
手写简易RPC(实践版)
java·网络·网络协议·rpc
2301_793069827 小时前
HTTP 和RESTful API 基础,答疑
网络协议·http·api·restful
hvinsion8 小时前
深入解析TLS协议:保障网络通信安全的关键技术
网络协议·安全·网络安全
千舟11 小时前
自己动手编写tcp/ip协议栈4:tcp数据传输和四次挥手
网络协议·go
大熊程序猿11 小时前
netcore https配置
网络协议·http·https