理论课40分钟

28课:HTTP与Web技术

网页背后的协议

教学目标

1掌握HTTP请求和响应格式
2理解URL的组成
3了解HTTPS的加密原理

📖 课前导入

你每天都在用浏览器看网页、看视频、买东西。当你点击一个链接时,背后发生了什么?

答案就是HTTP协议——浏览器和Web服务器之间的"通信语言"。它是互联网上使用最广泛的应用层协议,也是我们理解Web技术的基础。

📚 一、HTTP协议概述

HTTP简介

HTTP(HyperText Transfer Protocol,超文本传输协议)定义了浏览器(客户端)与Web服务器之间请求和响应的格式。基于TCP端口80(HTTPS使用端口443)。

📝

无状态

每次请求独立,服务器不记住之前的请求

🔄

请求-响应模型

客户端发请求,服务器返回响应

📄

基于文本

请求和响应头部都是人类可读的文本

📚 二、URL的组成

URL示例拆解:

https://www.example.com:443/path/page.html?id=123&lang=zh#section2
协议:https
主机名:www.example.com
端口:443(可省略)
路径:/path/page.html
查询参数:?id=123&lang=zh
锚点:#section2

📚 三、HTTP请求与响应 ⭐核心

HTTP请求格式

GET /index.html HTTP/1.1

Host: www.example.com

User-Agent: Chrome/120.0

Accept: text/html

Accept-Language: zh-CN

Connection: keep-alive

(空行)

(请求体,GET通常为空)

HTTP响应格式

HTTP/1.1 200 OK

Content-Type: text/html; charset=UTF-8

Content-Length: 1256

Server: nginx

Date: Mon, 07 Apr 2025 02:49:00 GMT

(空行)

<html><body>网页内容...</body></html>

常用HTTP请求方法

方法作用特点
GET获取资源参数在URL中,可缓存,幂等
POST提交数据参数在请求体中,不可缓存
PUT更新/替换资源幂等,完整替换
DELETE删除资源幂等
HEAD获取响应头(不要正文)用于检查资源是否存在

📚 四、HTTP状态码 ⭐必背

1xx

信息性

请求已接收,继续处理

2xx

成功

请求已成功处理

3xx

重定向

需要进一步操作

4xx

客户端错误

请求有误

5xx

服务器错误

服务器处理失败

状态码含义说明
200OK请求成功,返回所请求的内容
301Moved Permanently永久重定向(URL已更改)
302Found临时重定向
304Not Modified资源未修改,使用缓存
400Bad Request请求语法错误
403Forbidden没有访问权限
404Not Found请求的资源不存在
500Internal Server Error服务器内部错误
502Bad Gateway网关/代理收到无效响应
503Service Unavailable服务暂不可用(维护/过载)

📚 五、HTTPS——加密的HTTP

HTTPS = HTTP + TLS/SSL

HTTPS在HTTP和TCP之间加了一层TLS/SSL加密,提供数据加密、身份认证和完整性保护。使用TCP端口443

🔐 加密

传输的数据被加密,中间人无法窃听。

🆔 身份认证

通过数字证书验证服务器身份,防止钓鱼网站。

✅ 完整性

数据在传输中不会被篡改。

注意

HTTP vs HTTPS

HTTP(不安全)

数据明文传输,可被窃听和篡改。浏览器地址栏显示"不安全"。

HTTPS(安全)

数据加密传输,浏览器地址栏显示🔒锁图标。

现代网站基本都已使用HTTPS。涉及登录、支付等敏感操作的网站必须使用HTTPS。

HTTP协议抓包分析

使用浏览器开发者工具和Wireshark分析HTTP请求/响应的完整过程,包括请求头、状态码和Cookie

12:00
HTTP协议抓包分析推荐视频12:00

使用浏览器开发者工具和Wireshark分析HTTP请求/响应的完整过程,包括请求头、状态码和Cookie

✅ 课堂小测

随堂测验

1/5

HTTP默认使用哪个端口?HTTPS呢?

📋 本课小结

1

HTTP:基于TCP的请求-响应协议,端口80,无状态。

2

请求方法:GET获取、POST提交、PUT更新、DELETE删除。

3

状态码:2xx成功、3xx重定向、4xx客户端错误、5xx服务器错误。

4

HTTPS:HTTP + TLS加密,端口443,提供安全的Web通信。