网络基础入门到深入(3):网络协议-HTTP/S

目录

一、HTTP和HTTPS协议简介

1.HTTP协议

[.HTTP 协议](#.HTTP 协议)

作用:

特点:

2.HTTPS协议

作用:

实现方式:

特点:

二.HTTP的请求与响应结构

1.HTTP请求结构

1.请求行:描述操作和资源

2.请求头:

[3.请求体 :](#3.请求体 :)

2.HTTP响应结构

1.状态行:

2.响应头:

3.响应体:

HTTPS的工作原理(SSL/TLS)

[1. SSL/TLS 的核心功能](#1. SSL/TLS 的核心功能)

[2. HTTPS 的握手过程](#2. HTTPS 的握手过程)

[3. 核心概念](#3. 核心概念)


本篇内容将开始讲解HTTP和HTTPS,这部分内容会涉及HTTP 的请求与响应结构、HTTPS 的安全性原理


一、HTTP和HTTPS协议简介

1.HTTP协议

.HTTP 协议
  • 全称:HyperText Transfer Protocol(超文本传输协议)
作用

在客户端(如浏览器)与服务器之间传输网页数据。

特点
  • 无状态:每次请求独立,服务器不会记住之前的请求。
  • 明文传输:数据不加密,容易被窃听。

2.HTTPS协议

  • 全称:HTTP Secure(安全超文本传输协议)

作用

为 HTTP 添加了加密层,确保通信安全。

实现方式

HTTP + SSL/TLS。

特点

  • 数据加密,保护隐私。
  • 防止中间人攻击和数据篡改。
  • 使用 https:// 前缀,默认端口是 443。

二.HTTP的请求与响应结构

1.HTTP请求结构

客户端向服务器发送请求,包含以下部分:

1.**请求行:**描述操作和资源
  • 方法(如 Get、POST、PUT、DELETE)
  • URL(目标资源路径)
  • 协议版本(如HTTP/1.1)

示例:

bash 复制代码
GET /index.html HTTP/1.1
2.请求头:

包含附加信息(元数据)

  • 示例:

Host: www.example.com

User-Agent: Mozilla/5.0

3.请求体 :

携带数据(仅POST登方法有)

示例:

name=Alice&age=25


2.HTTP响应结构

服务器响应客户端的请求,包含以下部分:

1.状态行:

描述响应状态

  • 协议版本(如HTTP/1.1)
  • 状态码(如200表示成功)
  • 状态描述(如OK)

以下是常见的 HTTP 响应结构中的状态码和状态描述 表格,涵盖了不同的类别及常见状态码的解释:

类别 状态码 状态描述 含义
信息响应 100 Continue 继续,请求的初始部分已经接收,客户端应继续发送剩余部分。
101 Switching Protocols 切换协议,服务器已根据客户端请求切换到另一协议。
102 Processing 处理中,服务器已接收请求但尚未完成。
成功 200 OK 请求成功,服务器返回请求的资源。
201 Created 已创建,请求导致新的资源成功创建。
202 Accepted 已接受,服务器接受了请求但尚未处理完成。
204 No Content 无内容,服务器成功处理了请求,但没有返回任何内容。
重定向 301 Moved Permanently 永久移动,资源已永久转移到新位置,后续应使用新 URL。
302 Found 临时移动,资源暂时被转移到另一个位置。
303 See Other 查看其他位置,客户端应使用 GET 请求访问另一个 URI。
304 Not Modified 未修改,客户端缓存的资源未改变,可以直接使用本地副本。
307 Temporary Redirect 临时重定向,资源被临时移动,且后续仍应使用原 URL。
客户端错误 400 Bad Request 错误请求,客户端请求有语法错误,服务器无法理解。
401 Unauthorized 未授权,客户端未提供认证凭据或凭据无效。
403 Forbidden 禁止访问,服务器理解请求但拒绝执行。
404 Not Found 未找到,服务器无法找到请求的资源。
405 Method Not Allowed 方法不允许,请求中使用的方法被禁止。
408 Request Timeout 请求超时,客户端在规定时间内未完成请求。
429 Too Many Requests 请求过多,客户端发送的请求次数超出限额。
服务器错误 500 Internal Server Error 服务器内部错误,服务器在处理请求时发生错误。
501 Not Implemented 未实现,服务器不支持当前请求的方法。
502 Bad Gateway 错误网关,服务器作为网关时收到无效响应。
503 Service Unavailable 服务不可用,服务器暂时过载或维护。
504 Gateway Timeout 网关超时,服务器作为网关时未及时获得上游服务器响应。

2.响应头:

附加信息

示例:

Content-Type: text/html

Content-Length: 1234

3.响应体:

返回的实际内容


HTTPS的工作原理(SSL/TLS)

1. SSL/TLS 的核心功能
  • 加密:防止通信内容被窃听。
  • 认证:确认服务器身份是否可信。
  • 完整性:确保数据未被篡改。
2. HTTPS 的握手过程

HTTPS 的核心是 TLS 握手。以下是简化的流程:

  1. 客户端发起请求:客户端发送支持的加密算法和协议版本。
  2. 服务器响应:服务器选择加密算法,并发送公钥和数字证书。
  3. 密钥协商:客户端验证服务器证书,并生成对称密钥,通过服务器公钥加密发送给服务器。
  4. 安全通信开始:双方使用对称密钥进行加密通信。
3. 核心概念
  • 对称加密:同一密钥用于加密和解密,速度快。
  • 非对称加密:公钥加密,私钥解密,安全性高。
  • 数字证书:由受信任机构(CA)颁发,用于验证服务器身份。

好了,这就是本篇文章,大概讲解了一下HTTP和HTTPS协议的一些内容,后续将会介绍其他更多的协议内容

相关推荐
谢大旭2 小时前
http 请求类型及其使用场景
http
A.sir啊2 小时前
爬虫基础(六)代理简述
爬虫·python·网络协议
Bulestar_xx3 小时前
vulnhub DC-4 walkthrough (含非预期)
linux·网络·安全
5xidixi6 小时前
HTTP(1)
网络·网络协议·http
doubt。8 小时前
2.[网鼎杯 2020 朱雀组]phpweb
网络·安全·web安全·网络安全·php·代码复审
lingllllove8 小时前
使用 HTTP::Server::Simple 实现轻量级 HTTP 服务器
服务器·网络协议·http
Linux运维老纪8 小时前
K8s之Service详解(Detailed Explanation of K8s Service)
服务器·网络·云原生·容器·kubernetes·云计算·运维开发
Ljw...9 小时前
udp和tcp的区别
网络协议·tcp/ip·udp
一只码代码的章鱼9 小时前
计算机网络 笔记 传输层
网络·网络协议·tcp/ip·计算机网络
别致的影分身9 小时前
Linux网络 HTTP cookie 与 session
网络·网络协议·http