Web技术与HTTP协议
目录
域名
一、域名的概念
二、域名的结构
三、域名的类型
1. 按层级分类
2. 按用途分类
3. 特殊类型
四、域名的注册与管理
网页与HTML
一、网页的概念
二、HTML 的基础知识
1. HTML 的核心作用
2. HTML 文档的基本结构
3. HTML 标签分类
4. HTML 语法规则
三、静态网页 vs. 动态网页
四、HTML5 的新特性
HTTP协议
一、HTTP 协议的定义与核心特性
1. 核心特性
二、HTTP 协议的工作流程
三、HTTP 请求与响应结构
1. HTTP 请求报文
2. HTTP 响应报文
四、HTTP 协议的版本演变
五、HTTP 的安全性扩展:HTTPS
域名
一、域名的概念
域名(Domain Name)是互联网中用于标识和定位网站、服务器或网络资源的字符串名称。它通过易记的文字替代复杂的IP地址(如 172.217.14.206
),方便用户访问网络资源。
- 核心作用:
- 作为网站的“门牌号”,简化用户对网络资源的访问。
- 通过DNS(域名系统)将域名解析为对应的IP地址,实现网络通信。
二、域名的结构
域名采用分层结构,从右到左层级递增,用点(.
)分隔。例如:mail.example.com
- 顶级域(TLD, Top-Level Domain):
- 最右侧部分,如
.com
、.org
、.cn
。 - 分为两类:
- 通用顶级域(gTLD):如
.com
(商业)、.org
(非营利)、.net
(网络服务)。 - 国家和地区顶级域(ccTLD):如
.cn
(中国)、.us
(美国)、.jp
(日本)。
- 通用顶级域(gTLD):如
- 最右侧部分,如
- 二级域(SLD, Second-Level Domain):
- 紧邻顶级域左侧,如
example
在example.com
中。 - 用户可自定义(需注册)。
- 紧邻顶级域左侧,如
- 子域(Subdomain):
- 二级域下的分支,如
mail.example.com
中的mail
。 - 常用于划分网站功能(如
blog.example.com
)。
- 二级域下的分支,如
三、域名的类型
1. 按层级分类
- 顶级域(TLD):
- 传统gTLD:
.com
、.org
、.edu
(教育机构)等。 - 新gTLD:2012年后开放的如
.app
、.shop
、.ai
(安圭拉岛或人工智能领域)。 - ccTLD:基于国家/地区的域,如
.de
(德国)、.uk
(英国)。
- 传统gTLD:
- 二级域:如
.co.uk
(英国商业)、.com.cn
(中国商业)。
2. 按用途分类
- 通用型:广泛使用的
.com
、.net
。 - 行业型:
.edu
(教育)、.gov
(政府)、.hospital
(医疗)。 - 地理型:
.nyc
(纽约市)、.paris
(巴黎)。 - 品牌型:企业自定义的顶级域,如
.google
、.apple
。
3. 特殊类型
- 国际化域名(IDN):支持非拉丁字符(如中文、阿拉伯语),如
中国移动.中国
。 - 保留域名:如
localhost
(本地测试)、example.com
(示例域名)。
四、域名的注册与管理
- 注册流程:
- 通过域名注册商(如 GoDaddy、阿里云)查询并购买可用域名。
- 需提供所有者信息(需实名认证),按年付费续费。
- 管理机构:
- ICANN(互联网名称与数字地址分配机构):监管全球域名系统。
- 国家机构:如中国的CNNIC管理
.cn
域名。
- 隐私保护:
- 注册时可开启“WHOIS隐私保护”,隐藏个人信息。
网页与HTML
一、网页的概念
网页(Web Page)是互联网上通过浏览器访问的信息载体,由文本、图像、视频、超链接等元素组成,基于HTML(超文本标记语言)构建。
- 核心特点:
- 通过URL(统一资源定位符)唯一标识,例如
https://www.example.com/page.html
。 - 支持跨平台访问(PC、手机、平板等)。
- 可以是静态(内容固定)或动态(内容由服务器实时生成)。
- 通过URL(统一资源定位符)唯一标识,例如
二、HTML 的基础知识
HTML(HyperText Markup Language)是用于创建网页的标准标记语言,通过标签(Tags)定义内容的结构和语义。
1. HTML 的核心作用
- 描述网页内容的结构(标题、段落、列表等)。
- 嵌入多媒体(图片、音频、视频)和超链接。
- 与CSS(样式)和JavaScript(交互)配合,构建完整的前端页面。
2. HTML 文档的基本结构
<!DOCTYPE html> <!-- 声明文档类型为HTML5 -->
<html lang="en"> <!-- 根标签,定义页面语言 --> 、
<head> <meta charset="UTF-8"> <!-- 字符编码声明 --> <title>页面标题</title> <!-- 浏览器标签页显示的标题 --> <link rel="stylesheet" href="style.css"> <!-- 引入CSS -->
</head>
<body><h1>这是一个标题</h1> <!-- 一级标题 --><p>这是一个段落。</p> <!-- 段落 --><img src="image.jpg" alt="图片描述"> <!-- 插入图片 --><script src="script.js"></script> <!-- 引入JavaScript -->
</body>
</html>
3. HTML 标签分类
- 语义化标签(HTML5新增):
<header>
:页眉;<nav>
:导航栏;<section>
:页面区块;<article>
:独立内容(如博客文章);<footer>
:页脚。
- 内容标签:
<h1>
~<h6>
:标题;<p>
:段落;<ul>
/<ol>
:无序/有序列表;<a href="...">
:超链接;<img>
:图片;<table>
:表格。
- 功能标签:
<form>
:表单;<input>
:输入框;<video>
/<audio>
:视频/音频;<div>
/<span>
:通用容器(需结合CSS使用)。
4. HTML 语法规则
- 标签由尖括号包围,如
<tag>
。 - 大多数标签成对出现(开始标签+结束标签),如
<p>内容</p>
。 - 某些标签为自闭合(无结束标签),如
<img src="...">
。 - 标签可包含属性,如
<a href="https://example.com" target="_blank">链接</a>
。
三、静态网页 vs. 动态网页
特性 | 静态网页 | 动态网页 |
---|---|---|
内容生成 | 服务器直接返回预先生成的HTML文件 | 服务器根据用户请求实时生成HTML内容 |
技术依赖 | 仅需HTML/CSS/JavaScript | 需后端语言(如PHP、Python)和数据库 |
更新频率 | 手动修改文件 | 内容随数据库或用户输入动态变化 |
典型场景 | 企业官网、个人博客 | 电商平台、社交网站 |
四、HTML5 的新特性
- 语义化标签:
- 新增
<article>
,<section>
,<nav>
等标签,提升代码可读性和SEO优化。
- 新增
- 多媒体支持:
- 原生支持
<video>
和<audio>
标签,无需Flash插件。
- 原生支持
- 图形与动画:
<canvas>
标签实现绘图和游戏开发。
- 表单增强:
- 新增输入类型(如
email
,date
,range
)和属性(如placeholder
,required
)。
- 新增输入类型(如
- 本地存储:
localStorage
和sessionStorage
替代Cookie,提升数据存储能力。
HTTP协议
一、HTTP 协议的定义与核心特性
HTTP(HyperText Transfer Protocol)是一种基于 客户端-服务器模型 的应用层协议,用于在万维网上传输超文本(如HTML、图像等)12。
1. 核心特性
- 无状态:每次请求独立,服务器不保留客户端的历史交互信息(依赖 Cookie/Session 维持状态)14。
- 无连接:早期 HTTP/1.0 每次请求需重新建立 TCP 连接,HTTP/1.1 后支持持久连接(Persistent Connection)34。
- 明文传输:默认不加密数据(HTTPS 通过 TLS/SSL 加密解决)56。
- 灵活性:支持传输任意类型数据(通过
Content-Type
标记),如文本、图片、视频等26。
二、HTTP 协议的工作流程
- 客户端发起请求:浏览器通过 URL 生成 HTTP 请求报文67。
- 建立 TCP 连接:通过 三次握手 建立客户端与服务器的 TCP 连接(HTTP/1.1 默认复用连接)47。
- 服务器处理请求:解析请求内容,执行数据库查询或文件操作67。
- 返回响应:服务器生成包含状态码和资源的 HTTP 响应报文46。
- 关闭连接:通过 四次挥手 释放 TCP 连接(非持久连接场景)47。
三、HTTP 请求与响应结构
1. HTTP 请求报文
GET /index.html HTTP/1.1 # 请求行(方法 + 路径 + 协议版本) Host: www.example.com # 必需 Header(指定目标域名) User-Agent: Mozilla/5.0 # 客户端标识 Accept: text/html # 可接受的内容类型 Cookie: session_id=abc123 # 客户端 Cookie (空行) # 分隔 Header 和 Body (请求体,GET 方法通常无 Body)
- 常用方法:
GET
:获取资源(幂等)28。POST
:提交数据(非幂等,如用户注册)8。PUT
/DELETE
:更新/删除资源(RESTful API 常用)8。
2. HTTP 响应报文
HTTP/1.1 200 OK # 状态行(协议版本 + 状态码 + 描述) Content-Type: text/html # 响应内容类型 Set-Cookie: session_id=abc123 # 服务端设置 Cookie Content-Length: 1024 # 响应体长度 (空行) # 分隔 Header 和 Body <!DOCTYPE html> # 响应体(HTML 内容)
- 状态码分类:
1xx
:信息类(如101 Switching Protocols
)6。2xx
:成功(如200 OK
、201 Created
)46。3xx
:重定向(如301 Moved Permanently
)6。4xx
:客户端错误(如404 Not Found
)46。5xx
:服务器错误(如500 Internal Server Error
)46。
四、HTTP 协议的版本演变
版本 | 核心改进 |
---|---|
HTTP/1.0 | 支持多种内容类型(MIME),但每次请求需新建 TCP 连接36。 |
HTTP/1.1 | 持久连接、管线化(Pipelining)、Host 头字段(支持虚拟主机)36。 |
HTTP/2 | 二进制分帧、多路复用、头部压缩、服务器推送36。 |
HTTP/3 | 基于 QUIC 协议(UDP 替代 TCP),解决队头阻塞问题36。 |
五、HTTP 的安全性扩展:HTTPS
- 加密机制:通过 TLS/SSL 协议对 HTTP 内容加密,防止窃听和篡改56。
- 身份验证:服务器需提供数字证书(由 CA 颁发),验证其真实性5。
- 默认端口:使用
443
端口(HTTP 默认80
)5。