http和https的区别
1.定义 •http(HyperText Transfer Protocol)是基于 TCP/IP 模型应用层的无状态协议,用于在客户端(如浏览器)和服务器之间传输超文本资源(网页、图片、视频 等),是互联网访问的基础协议。 •https(HyperText Transfer Protocol Secure)是 HTTP 的加密版本,通过在 HTTP 和 TCP 之间添加“SSL/TLS 加密层”,实现请求/响应数据的加密传输,解决 HTTP 明文传输的安全隐患。
2.http核心特点 • 无状态:服务器不记录客户端的历史访问状态(每次请求都是独立的),需通过Cookie、Session 补充状态管理; • 基于 TCP 连接:通信前需通过 TCP 三次握手建立连接,传输完成后通过四次挥手释放连接; • 明文传输:请求和响应数据均为明文,无加密,存在数据泄露、篡改风险; • 简单高效:协议头部简洁,请求/响应流程简单,易于实现。
3.https核心特点 •https 的“身份认证”依赖 CA 机构和数字证书,解决“如何确认服务器是合法的,而非伪造的”问题。 • 使用 https:https 的加密通道和数字证书验证,可有效阻止中间人攻击(攻击者无法解密加密数据,也无法伪造合法的数字证书); • 验证数字证书:客户端(如浏览器)会自动验证服务器证书的合法性,证书无效时会提示风险(如“此网站不安全”),用户需拒绝访问; • 避免公共网络传输敏感数据:在咖啡厅、机场等公共 WiFi 环境下,尽量不登录银行、支付等敏感网站(公共网络易被监听和攻击)。
4.端口 •http默认80端口,https默认443端口。
5. http报文结构(请求报文+响应报文) HTTP 通信的核心是“请求-响应”模式,数据以“报文”形式传输,分为请求报文(客户端→服务器)和响应报文(服务器→客户端),两者结构相似,均由“起始行+头部+空行+实体主体”组成。
(1)HTTP 请求报文示例(简化):
http
GET /s?wd=网络知识 HTTP/1.1 # 起始行
Host: www.baidu.com # 头部字段(Host:目标服务器域名)
User-Agent: Chrome/114.0.0.0 # 头部字段(客户端浏览器信息)
Accept: text/html # 头部字段(可接收的资源格式)
空行(分隔头部和实体主体)
实体主体(GET 请求无主体,POST 请求存放表单数据等)
各部分说明: • 起始行:包含请求方法(GET/POST 等)、请求路径+参数、HTTP 版本;
• 头部字段:键值对形式,传递客户端信息、请求条件等(如 Host、User-Agent、Cookie);
• 空行:必须存在,用于分隔头部和实体主体;
• 实体主体:可选,GET 请求无主体(参数拼在 URL 后),POST 请求存放表单数据、JSON 等。
常见请求方法: • GET:获取资源(参数拼 URL,长度有限制,不安全);
• POST:提交资源(参数存主体,长度无限制,相对安全);
(2)HTTP 响应报文示例(简化):
http
HTTP/1.1 200 OK # 起始行(HTTP 版本+状态码+状态描述)
Content-Type: text/html # 头部字段(响应数据格式)
Content-Length: 1024 # 头部字段(响应数据长度)
Server: Apache # 头部字段(服务器软件信息)
空行(分隔头部和实体主体) ... # 实体主体(网页 HTML 内容)
各部分说明:
• 起始行:包含 HTTP 版本、状态码、状态描述(核心是状态码);
• 头部字段:传递服务器信息、响应数据属性等(如 Content-Type、Server);
• 空行:分隔头部和实体主体;
• 实体主体:服务器返回的具体资源(如 HTML、图片二进制数据)。
6.常见状态码:
• 200 OK:请求成功;
• 404 Not Found:资源不存在;
• 500 Internal Server Error:服务器内部错误;

浙公网安备 33010602011771号