Web相关知识(草稿)
目录
1、Web 概念
1.1 Web 的基本概念
特点
1.2 B/S 架构模型
1.3 Web 请求与响应过程
1.4 静态资源与动态资源
1.5 Web 的发展阶段
1.6 实验:搭建最小 Web 服务
实验目标:
实验步骤 : ?
1.7 小结
2、HTTP 与 HTTPS 协议
2.1 http与https区别
2.3 HTTP状态码
2.3.1 HTTP 状态码概览
2.3.2 常用状态码详解
1、Web 概念
1.1 Web 的基本概念
Web(World Wide Web,万维网)是运行在互联网之上的一个 超文本信息系统,它依赖于 HTTP/HTTPS 协议 实现
特点
分布式:资源分布在世界各地的服务器上。
跨平台:只要有浏览器,就能访问资源。
无状态:每次 HTTP 请求都是独立的,服务器不会记住客户端状态(除非使用Cookie/Session)。
1.2 B/S 架构模型
Web 采用 B/S 架构(Browser/Server):
Browser(浏览器):用户的入口,发送请求、渲染页面。
Server(服务器):接收请求,返回所需资源或动态内容。
1.3 Web 请求与响应过程
一次完整的 Web 访问过程包括以下步骤:
输入 URL:用户在浏览器输入 http://www.example.com
。
DNS 解析:浏览器将域名解析为 IP 地址。
建立连接:浏览器与 Web 服务器建立 TCP 连接(3 次握手)。
发送请求:浏览器发起 HTTP 请求(GET/POST)。
服务器处理:
Web 服务器处理静态资源请求
动态请求转发到应用服务器(如 Tomcat、Django)
应用服务器可能再查询数据库
返回响应:Web 服务器将结果打包成 HTTP 响应报文返回浏览器。
渲染页面:浏览器解析 HTML、加载 CSS/JS、渲染最终页面。
1.4 静态资源与动态资源
静态资源:不需要服务器额外处理,直接返回即可。
HTML、CSS、图片、视频、JS 文件优点:速度快,压力小
动态资源:需要服务器端代码计算生成,再返回客户端。
1.5 Web 的发展阶段
Web 1.0(只读):静态页面为主,用户只能浏览。
Web 2.0(交互式):用户可生成内容,AJAX(前端) 技术普及。
Web 3.0(智能化):语义网、区块链、去中心化概念兴起。
1.6 实验:搭建最小 Web 服务
注意后面安装nginx之后再创建一个静态页面
实验目标:
体验一次最简单的 Web 请求与响应过程 Wireshark 并且抓包。
实验步骤 : ?
1.7 小结
Web 是基于 B/S 架构 的信息交互方式。
核心是 请求-响应模型,通过 HTTP/HTTPS 协议传输数据。
Web 可提供 静态资源 和 动态资源。
2、HTTP 与 HTTPS 协议
2.1 http与https区别
HTTP:明文传输,不安全。
HTTPS:在 HTTP 上加入 SSL/TLS 加密,防止中间人攻击。
TLS 握手过程(建立安全通道)
流程:
客户端 Hello
浏览器发起请求,告诉服务器自己支持哪些加密算法。
服务端 Hello + 证书
网站返回 SSL 证书(证明身份),选择一种加密算法。
客户端验证证书
浏览器检查证书是否可信(CA 颁发、没过期、域名匹配)。
协商密钥
双方生成一个临时密钥,用于对称加密后续通信。
加密通信开始
后续 HTTP 数据都通过加密通道传输。
2.3 HTTP状态码
2.3.1 HTTP 状态码概览
HTTP 状态码都是 三位数字,按首位分为五类:
类型 | 范围 | 含义 | 大白话理解 |
---|---|---|---|
1xx | 100–199 | 信息性状态码 | “我收到了请求,还在处理中” |
2xx | 200–299 | 成功 | “请求成功,服务器给你东西了” |
3xx | 300–399 | 重定向 | “你要的东西搬家了,去新地址找” |
4xx | 400–499 | 客户端错误 | “你请求有问题(URL错、权限不够)” |
5xx | 500–599 | 服务器错误 | “服务器出问题,暂时拿不到东西” |
2.3.2 常用状态码详解
2xx 成功
状态码 | 含义 | 类比 |
---|---|---|
200 OK | 请求成功 | “东西拿到了” |
201 Created | 创建成功 | “你提交的表单/资源已创建” |
204 No Content | 成功,但没有内容 | “操作成功,但没有额外东西返回” |
3xx 重定向
状态码 | 含义 | 类比 |
---|---|---|
301 Moved Permanently | 永久搬家 | “这个页面永久换地址了” |
302 Found | 临时搬家 | “暂时换地址,下一次还用旧地址” |
304 Not Modified | 内容未改 | “东西没变,你可以用缓存” |
4xx 客户端错误
状态码 | 含义 | 类比 |
---|---|---|
400 Bad Request | 请求格式错 | “你写的请求我看不懂” |
401 Unauthorized | 未认证 | “先登录,再访问” |
403 Forbidden | 禁止访问 | “你没权限” |
404 Not Found | 找不到页面 | “东西搬走或根本没这东西” |
5xx 服务器错误
状态码 | 含义 | 类比 |
---|---|---|
500 Internal Server Error | 服务器内部出错 | “服务器崩了” |
502 Bad Gateway | 网关错误 | “我去找别的服务器,结果那边挂了” |
503 Service Unavailable | 服务不可用 | “服务器忙不过来了,稍后再试” |
504 Gateway Timeout | 网关超时 | “找别的服务器太慢,超时了” |
生活中的 HTTP 状态码类比
场景 | 状态码 | 对应情况 |
---|---|---|
打开网页正常 | 200 | 成功拿到网页 |
点链接页面搬家 | 301/302 | 浏览器自动跳到新地址 |
输入错网址 | 404 | “没找到这个页面” |
登录需要权限 | 401 | “先登录才能看” |
网站挂了 | 500 | “服务器出问题了” |