注册 登录 进入教材巡展
#
  • #

出版时间:2025-12-05

出版社:机械工业出版社

以下为《Web开发基础(原书第3版)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 机械工业出版社
  • 9787111792796
  • 1-1
  • 2025-12-05
  • 1217
内容简介
本书面向初学者,系统、全面地介绍了Web开发的相关知识,涵盖Web开发的各种元素以及流程。本书案例丰富,类型多样,读者可在学习过程中边学边练,从而能够轻松地掌握应用技巧。本书第1~11章介绍了客户端基础知识,包括Web开发基础、Web工作原理、HTML、CSS、网页多媒体和JavaScript。第12~15章概述了服务器端开发基础,介绍了Web服务器的运行环境以及开发技术。第16~18章是与Web开发相关的其他重要主题,涉及Web安全、Web服务器的托管与配置等内容。本书适合作为高校计算机及相关专业的Web开发课程的教材,也适合作为Web开发初学者和IT技术人员的参考书。
目录
译者序
前 言
致 谢
第1章 Web开发基础1
1.1 一个复杂的生态系统1
1.2 定义及发展历史3
1.2.1 互联网简史3
1.2.2 Web的诞生4
1.2.3 Web应用与桌面应用的对比5
1.2.4 从静态到动态(并回归静态)7
1.3 客户机-服务器模型11
1.3.1 客户机11
1.3.2 服务器11
1.3.3 服务器类型12
1.3.4 实际服务器的安装12
1.3.5 云服务器15
1.4 互联网在哪里16
1.4.1 从计算机到户外16
1.4.2 从家到海边17
1.4.3 如今互联网如何组织18
1.5 Web开发工作20
1.5.1 角色和技能20
1.5.2 Web开发公司的类型23
1.6 本章小结25
1.6.1 关键术语26
1.6.2 习题26
1.6.3 参考文献27
第2章 Web工作原理28
2.1 互联网协议28
2.1.1 分层体系结构28
2.1.2 链路层28
2.1.3 网际层29
2.1.4 运输层31
2.1.5 应用层32
2.2 域名系统33
2.2.1 名称等级34
2.2.2 名称注册35
2.2.3 地址解析36
2.3 统一资源定位符38
2.3.1 协议39
2.3.2 域名39
2.3.3 端口39
2.3.4 路径39
2.3.5 查询字符串39
2.3.6 片段标识符40
2.4 超文本传输协议40
2.4.1 首部40
2.4.2 请求方法42
2.4.3 响应代码43
2.5 Web浏览器43
2.5.1 获取网页43
2.5.2 浏览器渲染44
2.5.3 浏览器缓存45
2.5.4 浏览器功能45
2.5.5 浏览器扩展46
2.6 Web服务器46
2.6.1 操作系统47
2.6.2 Web服务器软件47
2.6.3 数据库软件47
2.6.4 脚本软件47
2.7 本章小结48
2.7.1 关键术语48
2.7.2 习题49
2.7.3 参考文献49
第3章 HTML:简介50
3.1 什么是HTML,它从何而来50
3.1.1 XHTML52
3.1.2 HTML 554
3.2 HTML语法54
3.2.1 元素和属性54
3.2.2 HTML元素嵌套55
3.3 语义标记56
3.4 HTML文档的结构57
3.4.1 DOCTYPE58
3.4.2 Head和Body59
3.5 HTML元素速览59
3.5.1 标题60
3.5.2 段落和分区 63
3.5.3 链接63
3.5.4 URL相对引用65
3.5.5 行内文本元素67
3.5.6 图像68
3.5.7 字符实体68
3.5.8 列表69
3.6 HTML 5语义结构元素71
3.6.1 页眉和页脚元素73
3.6.2 导航元素73
3.6.3 main元素 74
3.6.4 文章和分节元素74
3.6.5 图和图提要元素75
3.6.6 aside元素76
3.6.7 细节和总结元素77
3.6.8 附加语义元素77
3.7 本章小结82
3.7.1 关键术语82
3.7.2 习题82
3.7.3 动手实践83
第4章 CSS:选择器和基本样式87
4.1 什么是CSS87
4.1.1 CSS的优点87
4.1.2 CSS 版本88
4.1.3 浏览器采用88
4.2 CSS语法89
4.2.1 选择器89
4.2.2 属性89
4.2.3 值90
4.3 样式的位置92
4.3.1 内联样式92
4.3.2 内嵌样式表92
4.3.3 外部样式表93
4.4 选择器94
4.4.1 元素选择器94
4.4.2 类选择器95
4.4.3 id选择器96
4.4.4 属性选择器96
4.4.5 伪元素和伪类选择器97
4.4.6 上下文选择器98
4.5 级联:样式如何互动101
4.5.1 继承101
4.5.2 具体性102
4.5.3 位置103
4.6 盒子模型106
4.6.1 块与内联元素的对比106
4.6.2 背景108
4.6.3 边框和盒子阴影110
4.6.4 边距和填充111
4.6.5 盒子尺寸113
4.7 CSS文本样式118
4.7.1 字体家族118
4.7.2 字体大小119
4.7.3 字体粗细122
4.7.4 段落属性122
4.8 CSS框架和变量125
4.8.1 什么是CSS框架125
4.8.2 CSS变量129
4.9 本章小结130
4.9.1 关键术语131
4.9.2 习题131
4.9.3 动手实践132
4.9.4 参考文献135
第5章 HTML:表格和表单136
5.1 HTML表格136
5.1.1 基本表格结构136
5.1.2 跨行和跨列138
5.1.3 附加的表格元素139
5.1.4 使用表格进行布局139
5.2 设置表格样式140
5.2.1 表格边框140
5.2.2 盒子格式和斑马条纹141
5.3 表单简介143
5.3.1 表单结构143
5.3.2 表单如何工作144
5.3.3 查询字符串144
5.3.4 
元素145
5.4 表单控件元素146
5.4.1 文本输入控件147
5.4.2 选择控件149
5.4.3 按钮控件150
5.4.4 特殊控件151
5.4.5 日期和时间控件153
5.5 表格和表单的可访问性155
5.5.1 可访问表格155
5.5.2 可访问表单156
5.6 设计表单及其样式157
5.6.1 设置表单元素样式157
5.6.2 设计表单158
5.7 验证用户输入159
5.7.1 输入验证的类型159
5.7.2 通知用户160
5.7.3 如何减少验证错误161
5.7.4 在哪里进行验证163
5.8 本章小结169
5.8.1 关键术语169
5.8.2 习题169
5.8.3 动手实践170
第6章 网页多媒体173
6.1 数字图像的表示173
6.1.1 图像类型174
6.1.2 颜色模型175
6.2 图像的概念179
6.2.1 颜色深度179
6.2.2 图像大小180
6.2.3 显示分辨率183
6.3 文件格式184
6.3.1 JPEG184
6.3.2 GIF185
6.3.3 PNG189
6.3.4 SVG189
6.3.5 其他格式190
6.4 音频与视频192
6.4.1 媒体的概念192
6.4.2 浏览器视频支持192
6.4.3 浏览器音频支持194
6.5 使用颜色196
6.5.1 挑选颜色196
6.5.2 定义色度196
6.6 本章小结198
6.6.1 关键术语198
6.6.2 习题199
6.6.3 动手实践199
第7章 CSS:布局203
7.1 CSS布局的传统方法203
7.1.1 浮动元素204
7.1.2 定位元素204
7.1.3 元素的重叠和隐藏207
7.2 弹性盒子布局209
7.2.1 弹性容器和弹性条目210
7.2.2 弹性盒子使用示例211
7.3 网格布局214
7.3.1 指定网格结构215
7.3.2 显式的网格放置217
7.3.3 单元格属性218
7.3.4 嵌套网格218
7.3.5 网格区域220
7.3.6 网格与弹性盒子结合使用221
7.4 响应式设计223
7.4.1 设定视窗224
7.4.2 媒体查询226
7.4.3 图像缩放228
7.5 CSS特效231
7.5.1 变换231
7.5.2 过滤器232
7.5.3 过渡233
7.5.4 动画236
7.6 CSS预处理器238
7.6.1 Sass基础239
7.6.2 混合与函数241
7.6.3 模块242
7.7 本章小结244
7.7.1 关键术语244
7.7.2 习题245
7.7.3 动手实践245
7.7.4 参考文献250
第8章 JavaScript:语言基础251
8.1 JavaScript的概念和功能251
8.1.1 客户端脚本252
8.1.2 JavaScript发展史253
8.1.3 JavaScript和Web 2.0254
8.1.4 现代软件开发中的
   JavaScript254
8.2 JavaScript发展趋势256
8.2.1 内联JavaScript256
8.2.2 嵌入式JavaScript256
8.2.3 外部JavaScript256
8.2.4 不使用JavaScript的用户258
8.3 变量和数据类型258
8.3.1 JavaScript输出260
8.3.2 数据类型261
8.3.3 内置对象263
8.3.4 连接符264
8.4 条件语句264
8.4.1 真假判断267
8.5 循环267
8.5.1 while循环和do...while
   循环267
8.5.2 for循环268
8.6 数组269
8.6.1 使用for...of遍历数组271
8.6.2 数组解构271
8.7 对象272
8.7.1 使用对象字面量符号创建
   对象272
8.7.2 使用Object构造器创建
   对象273
8.7.3 对象解构274
8.7.4 JSON275
8.8 函数278
8.8.1 函数声明与函数表达式278
8.8.2 嵌套函数280
8.8.3 JavaScript中的提升281
8.8.4 回调函数282
8.8.5 对象和函数结合283
8.8.6 函数构造器284
8.8.7 箭头语法285
8.9 JavaScript中的作用域和闭包288
8.9.1 JavaScript中的作用域288
8.9.2 JavaScript中的闭包293
8.10 本章小结294
8.10.1 关键术语294
8.10.2 习题295
8.10.3 动手实践295
8.10.4 参考文献299
第9章 JavaScript:应用300
9.1 文档对象模型300
9.1.1 节点和节点列表301
9.1.2 文档对象301
9.1.3 选择方法302
9.1.4 元素节点对象304
9.2 修改DOM306
9.2.1 修改元素样式306
9.2.2 比较innerHTML、
   textContent
   和DOM操作307
9.2.3 DOM操作方法308
9.2.4 DOM时序310
9.3 事件312
9.3.1 实现事件处理程序312
9.3.2 页面加载和DOM314
9.3.3 事件对象314
9.3.4 事件传播315
9.3.5 事件代理317
9.3.6 使用数据集属性318
9.4 事件类型320
9.4.1 鼠标事件320
9.4.2 键盘事件321
9.4.3 表单事件321
9.4.4 媒体事件322
9.4.5 框架事件322
9.5 JavaScript中的表单326
9.5.1 响应表单移动事件327
9.5.2 响应表单更改事件327
9.5.3 验证提交的表单328
9.5.4 提交表单330
9.6 正则表达式331
9.6.1 正则表达式语法331
9.6.2 扩展示例332
9.7 本章小结337
9.7.1 关键术语337
9.7.2 习题338
9.7.3 动手实践338
9.7.4 参考文献342
第10章 JavaScript:附加特性343
10.1 数组函数343
10.1.1 forEach343
10.1.2 find、filter、map和
       reduce344
10.1.3 sort346
10.2 原型、类和模块347
10.2.1 使用原型348
10.2.2 类350
10.2.3 模块352
10.3 使用JavaScript进行异步编码356
10.3.1 从Web API获取数据358
10.3.2 承诺367
10.3.3 异步和等待369
10.4 使用浏览器API374
10.4.1 Web Storage API374
10.4.2 Web Speech API376
10.4.3 Geolocation API376
10.5 使用外部API377
10.5.1 谷歌地图377
10.5.2 使用Plotly.js绘制图表382
10.6 本章小结385
10.6.1 关键术语385
10.6.2 习题386
10.6.3 动手实践386
10.6.4 参考文献389
第11章 JavaScript: React390
11.1 JavaScript的前端框架390
11.1.1 为什么需要框架390
11.1.2 React、Angular和Vue391
11.2 React简介394
11.2.1 React组件396
11.3 props、状态、行为和表单398
11.3.1 props398
11.3.2 状态401
11.3.3 行为403
11.3.4 React中的表单406
11.3.5 组件的数据流动408
11.4 React构建方式413
11.4.1 构建工具413
11.4.2 Create React App415
11.4.3 其他的React构建方法417
11.5 React的生命周期417
11.5.1 获取数据417
11.6 扩展React418
11.6.1 路由419
11.6.2 React中的CSS420
11.6.3 状态的其他方法421
11.7 本章小结427
11.7.1 关键术语427
11.7.2 习题428
11.7.3 动手实践428
11.7.4 参考文献431
第12章 服务器端开发:PHP432
12.1 什么是服务器端开发432
12.1.1 前端与后端的对比432
12.1.2 常用的服务器端技术432
12.2 PHP语言基础437
12.2.1 PHP的标签437
12.2.2 变量和数据类型438
12.2.3 输出440
12.2.4 并置441
12.3 程序控制444
12.3.1 if...else444
12.3.2 switch...case445
12.3.3 while和do...while446
12.3.4 for446
12.3.5 控制结构的替代语法 447
12.3.6 包含文件447
12.4 函数 449
12.4.1 函数语法449
12.4.2 调用函数 450
12.4.3 参数450
12.4.4 函数内的变量作用域453
12.5 数组454
12.5.1 定义和访问数组455
12.5.2 多维数组456
12.5.3 遍历数组458
12.5.4 增加或删除元素459
12.6 类和对象460
12.6.1 术语461
12.6.2 定义类461
12.6.3 实例化对象462
12.6.4 属性462
12.6.5 构造函数462
12.6.6 方法464
12.6.7 可见性464
12.6.8 静态成员465
12.6.9 继承467
12.7 超全局数组$_GET和$_POST468
12.7.1 超全局数组468
12.7.2 判断是否发送了数据470
12.7.3 访问表单数组数据472
12.7.4 使用超链接中的查询字符串472
12.7.5 净化查询字符串473
12.8 使用HTTP首部476
12.8.1 使用Location首部进行
    重定向476
12.8.2 设置Content-Type首部477
12.9 本章小结478
12.9.1 关键术语478
12.9.2 习题479
12.9.3 动手实践479
12.9.4 参考文献482
第13章 服务器端开发:Node.js483
13.1 Node.js简介483
13.1.1 Node的优点483
13.1.2 Node的缺点487
13.2 Node的初步使用489
13.2.1 简单的Node应用程序489
13.2.2 添加Express490
13.2.3 环境变量492
13.3 在Node中创建API493
13.3.1 简单的API493
13.3.2 增加路由494
13.3.3 将路由功能分离成模块495
13.4 创建CRUD API497
13.4.1 向API传递数据498
13.4.2 API测试工具 499
13.5 使用Web套接字500
13.6 视图引擎502
13.7 无服务器方式504
13.7.1 何谓无服务器505
13.7.2 无服务器计算的优点506
13.7.3 无服务器技术506
13.8 本章小结508
13.8.1 关键术语508
13.8.2 习题508
13.8.3 动手实践508
13.8.4 参考文献510
第14章 使用数据库512
14.1 数据库和网络开发512
14.1.1 数据库在Web开发中的
    作用513
14.2 管理数据库513
14.2.1 命令行界面515
14.2.2 phpMyAdmin515
14.2.3 MySQL Workbench517
14.2.4 SQLite工具518
14.2.5 MongoDB工具518
14.3 SQL518
14.3.1 数据库设计518
14.3.2 SELECT语句521
14.3.3 INSERT、UPDATE和DELETE
    语句523
14.3.4 事务524
14.3.5 数据定义语言525
14.3.6 数据库索引和效率525
14.4 在PHP中使用SQL527
14.4.1 连接数据库527
14.4.2 处理连接错误530
14.4.3 执行SQL查询530
14.4.4 处理查询结果531
14.4.5 释放资源并关闭连接534
14.4.6 使用参数535
14.4.7 使用事务537
14.4.8 设计数据访问540
14.5 NoSQL数据库543
14.5.1 为什么选择(或不选择)
    NoSQL543
14.5.2 NoSQL系统分类544
14.6 在Node中使用MongoDB547
14.6.1 MongoDB特性547
14.6.2 MongoDB的数据模型548
14.6.3 使用MongoDB Shell548
14.6.4 在Node.js中访问MongoDB
    数据549
14.7 本章小结555
14.7.1 关键术语555
14.7.2 习题556
14.7.3 动手实践556
14.7.4 参考文献559
第15章 状态管理560
15.1 Web应用程序中的状态问题560
15.2 在HTTP中传递信息562
15.2.1 通过URL传递信息562
15.2.2 通过HTTP首部传递信息563
15.3 cookie565
15.3.1 cookie的工作原理565
15.3.2 在PHP中使用cookie566
15.3.3 在Node和Express中
    使用cookie567
15.3.4 持久cookie最佳实践568
15.4 会话状态569
15.4.1 会话状态如何工作570
15.4.2 会话存储和配置571
15.4.3 PHP中的会话状态572
15.4.4 Node中的会话状态574
15.5 缓存574
15.5.1 页面输出缓存575
15.5.2 应用程序数据缓存576
15.5.3 Redis作为缓存服务578
15.6 本章小结581
15.6.1 关键术语581
15.6.2 习题581
15.6.3 动手实践581
15.6.4 参考文献584
第16章 安全585
16.1 安全原理585
16.1.1 信息安全585
16.1.2 风险评估及管理586
16.1.3 安全策略587
16.1.4 业务连续性588
16.1.5 设计安全590
16.1.6 社会工程学591
16.1.7 认证因素592
16.2 Web的认证方式593
16.2.1 HTTP基本认证593
16.2.2 基于表单的认证594
16.2.3 HTTP 令牌认证594
16.2.4 第三方认证596
16.3 密码学599
16.3.1 替换密码600
16.3.2 公开密钥密码学601
16.3.3 数字签名603
16.4 HTTPS604
16.4.1 SSL/TLS握手605
16.4.2 证书和证书颁发机构605
16.4.3 迁移到HTTPS 608
16.5 安全最佳实践610
16.5.1 凭据存储610
16.5.2 系统监视616
16.5.3 审计和攻击自己618
16.6 常见的威胁向量618
16.6.1 暴力攻击618
16.6.2 SQL注入攻击619
16.6.3 跨站脚本攻击620
16.6.4 跨站请求伪造624
16.6.5 不安全的直接对象引用624
16.6.6 拒绝服务攻击626
16.6.7 安全性错误配置626
16.7 本章小结628
16.7.1 关键术语629
16.7.2 习题630
16.7.3 动手实践631
16.7.4 参考文献632
第17章 DevOps与托管634
17.1 DevOps:开发和运维634
17.1.1 持续集成、交付和部署634
17.1.2 测试635
17.1.3 基础设施即代码637
17.1.4 微服务架构638
17.2 域名管理639
17.2.1 注册域名640
17.2.2 更新域名服务器641
17.2.3 DNS记录类型642
17.2.4 反向DNS644
17.3 Web服务器托管选项644
17.3.1 共享托管644
17.3.2 专用托管646
17.3.3 主机托管646
17.3.4 云托管647
17.4 虚拟化647
17.4.1 服务器虚拟化647
17.4.2 云虚拟化651
17.5 Linux及Web服务器配置652
17.5.1 配置652
17.5.2 启动和停止服务器653
17.5.3 连接管理653
17.5.4 数据压缩655
17.5.5 加密和SSL655
17.5.6 管理文件所有权和权限657
17.6 请求和响应管理657
17.6.1 在一台Web服务器上管理
    多个域658
17.6.2 处理目录请求659
17.6.3 响应文件请求660
17.6.4 URL重定向661
17.6.5 使用.htaccess管理访问663
17.6.6 服务器缓存665
17.7 网络监控665
17.7.1 内部监控666
17.7.2 外部监控667
17.8 本章小结667
17.8.1 关键术语667
17.8.2 习题668
17.8.3 动手实践668
17.8.4 参考文献 670
第18章 工具和流量671
18.1 搜索引擎的历史及剖析671
18.1.1 搜索引擎概述671
18.2 网络爬虫和抓取工具672
18.2.1 抓取工具674
18.3 索引和反向索引675
18.4 PageRank和结果排序676
18.5 搜索引擎优化677
18.5.1 标题678
18.5.2 元标签678
18.5.3 URL680
18.5.4 站点设计681
18.5.5 站点地图682
18.5.6 锚文本682
18.5.7 图像683
18.5.8 内容683
18.5.9 黑帽SEO684
18.6 社交网络687
18.6.1 我们是如何到达这里的687
18.7 社交网络集成689
18.7.1 基本的社交媒体存在感689
18.7.2 Facebook的社交插件690
18.7.3 Open Graph693
18.7.4 Twitter的小部件694
18.7.5 高级社交网络集成697
18.8 内容管理系统697
18.8.1 被管理网站的组件697
18.8.2 CMS类型698
18.9 WordPress概述699
18.9.1 帖子和页面管理700
18.9.2 所见即所得编辑器701
18.9.3 模板管理701
18.9.4 菜单控件702
18.9.5 用户管理和角色702
18.9.6 用户角色703
18.9.7 工作流和版本控制704
18.9.8 资产管理705
18.9.9 搜索706
18.9.10 升级和更新707
18.10 WordPress技术概述707
18.10.1 安装707
18.10.2 文件结构708
18.10.3 WordPress命名法709
18.10.4 WordPress模板层次结构710
18.11 修改主题710
18.11.1 更改主题文件712
18.12 网站广告基础712
18.12.1 网站广告101713
18.12.2 网站广告经济714
18.13 支持工具和分析工具715
18.13.1 搜索引擎网站管理员
    工具716
18.13.2 分析工具716
18.13.3 第三方分析717
18.13.4 性能调整和评级718
18.14 本章小结721
18.14.1 关键术语722
18.14.2 习题723
18.14.3 动手实践724
18.14.4 参考文献726