Web Application Basics 知识测验答案 满分100分 考试时间90分钟注意事项本试卷分选择题、填空题、简答题和综合应用题四部分。请将答案写在答题卡上。第一部分 选择题共 20 分一、单项选择题每小题 2 分共 10 分。每小题只有一个正确选项1. 在 Web 应用的基本架构中负责处理业务逻辑、验证数据并与数据库通信的组件是A. 前端FrontendB. 后端BackendC. 数据库DatabaseD. Web 服务器Web Server2. URL https://example.com:443/login?useradmin#section1 中的 443 表示A. 协议类型B. 端口号C. 域名D. 路径3. 以下 HTTP 方法中用于向服务器发送数据且数据不会出现在 URL 中的是A. GETB. POSTC. HEADD. OPTIONS4. HTTP 状态码 404 表示A. 请求成功B. 服务器内部错误C. 请求的资源未找到D. 请求被重定向5. 以下安全头部中用于防止点击劫持攻击的是A. Content-Security-PolicyB. Strict-Transport-SecurityC. X-Frame-OptionsD. X-Content-Type-Options二、多项选择题每小题 2 分共 10 分。每小题有两个或两个以上正确选项多选、少选、错选均不得分6. 以下属于 Web 应用基本组成部分的有A. 前端B. 后端C. 数据库D. 编译器7. HTTP 请求消息的组成部分包括A. 请求行B. 头部C. 正文D. 状态码8. 以下属于 2xx 成功状态码的有A. 200 OKB. 201 CreatedC. 204 No ContentD. 202 Accepted9. 以下哪些是常见的 HTTP 请求头部A. HostB. User-AgentC. Set-CookieD. Cookie10. URL 的组成部分包括A. 协议SchemeB. 域名DomainC. 端口PortD. 查询字符串Query String第二部分 填空题每空 2 分共 30 分11. Web 应用使用 __________ 协议进行通信该协议遵循 __________ 模型。12. HTTP 端口默认为 __________HTTPS 端口默认为 __________。13. 在 HTTP 方法中__________ 用于获取资源__________ 用于提交数据__________ 用于删除资源。14. HTTP 状态码分为 5 类其中 3xx 表示 __________4xx 表示 __________5xx 表示 __________。15. __________ 安全头部用于减少 XSS 攻击的影响__________ 安全头部强制浏览器使用 HTTPS。16. HTTP 请求头中__________ 用于标识请求的目标主机__________ 用于标识客户端浏览器信息。17. 常见的 Web 服务器软件有 __________、__________ 和 __________写出三个。18. 在 URL https://example.com/login?useradmin#top 中/login 是 __________?useradmin 是 __________#top 是 __________。第三部分 简答题共 30 分19.8 分简述 Web 应用的五大基本组成部分及其各自的作用。20.10 分比较 GET 和 POST 两种 HTTP 方法的区别至少从 5 个方面进行比较。21.6 分解释为什么敏感信息不应该通过 GET 方法发送而应该使用 POST 方法。22.6 分列举至少 5 个常见的 HTTP 状态码并说明其含义。第四部分 综合应用题共 20 分23.10 分分析以下 HTTP 请求和响应回答问题请求GET /api/users?id100 HTTP/1.1Host: example.comUser-Agent: Mozilla/5.0Cookie: sessionidabc123响应HTTP/1.1 200 OKContent-Type: application/jsonSet-Cookie: sessionidxyz789{status: success, name: Alice}问题1该请求使用了什么 HTTP 方法请求的资源路径是什么2 分2请求中传递了什么参数参数值是多少2 分3响应的状态码是多少表示什么含义2 分4响应返回的数据格式是什么包含哪些信息2 分5服务器在响应中设置了什么 Cookie2 分24.10 分从防御者的角度列举并说明至少 5 个 Web 应用安全最佳实践。——————————————————————————————————————————参考答案与评分标准第一部分 选择题共 20 分一、单项选择题每小题 2 分共 10 分1. B后端解析后端负责处理业务逻辑、验证数据并与数据库通信。前端负责用户界面数据库负责数据存储Web 服务器负责接收和响应请求。2. B端口号解析443 是 HTTPS 的默认端口号用于标识服务器上运行的服务。3. BPOST解析POST 方法将数据放在请求正文中不会出现在 URL 中。GET 方法的数据会出现在 URL 的查询字符串中。4. C请求的资源未找到解析404 Not Found 表示服务器无法找到请求的资源。5. CX-Frame-Options解析X-Frame-Options 用于防止点击劫持攻击控制网页是否可以被嵌入到 iframe 中。二、多项选择题每小题 2 分共 10 分6. ABC解析Web 应用的基本组成部分包括前端、后端、数据库和 Web 服务器。编译器不是 Web 应用的组成部分。7. ABC解析HTTP 请求消息由请求行、头部和正文组成。状态码是 HTTP 响应的组成部分。8. ABCD解析200 OK、201 Created、204 No Content、202 Accepted 都属于 2xx 成功状态码。9. ABD解析Host、User-Agent、Cookie 是常见的请求头部。Set-Cookie 是响应头部。10. ABCD解析URL 由协议、域名、端口、路径、查询字符串和片段组成。第二部分 填空题每空 2 分共 30 分11. HTTP超文本传输协议请求-响应12. 8044313. GETPOSTDELETE14. 重定向客户端错误服务器错误15. Content-Security-PolicyCSPStrict-Transport-SecurityHSTS16. HostUser-Agent17. ApacheNginxIIS或其他合理答案18. 路径查询字符串片段第三部分 简答题共 30 分19.8 分1前端Frontend用户看到和交互的部分使用 HTML、CSS、JavaScript 构建2 分2后端Backend处理业务逻辑、验证数据、与数据库通信使用 Node.js、Python、PHP 等2 分3数据库Database存储应用数据如用户账户、产品信息、订单等2 分4Web 服务器接收客户端请求并返回响应如 Apache、Nginx、IIS1 分5安全组件保护应用安全包括认证、授权、加密等。1 分20.10 分1数据位置GET 数据在 URL 中POST 数据在请求正文中2 分2安全性GET 不安全数据可见POST 相对安全数据不可见2 分3数据长度GET 有长度限制URL 长度限制POST 无限制2 分4缓存GET 可被缓存POST 不会被缓存2 分5用途GET 用于获取数据POST 用于提交数据。2 分21.6 分1GET 方法的参数会出现在 URL 中可能被记录在浏览器历史、服务器日志中容易被泄露3 分2POST 方法将数据放在请求正文中不会出现在 URL 中相对更安全。3 分22.6 分1200 OK请求成功1 分2301 Moved Permanently永久重定向1 分3400 Bad Request请求格式错误1 分4401 Unauthorized未授权1 分5404 Not Found资源未找到1 分6500 Internal Server Error服务器内部错误。1 分第四部分 综合应用题共 20 分23.10 分1HTTP 方法GET资源路径/api/users2 分2参数id参数值1002 分3状态码200含义请求成功2 分4数据格式JSON包含信息status状态为 successname姓名为 Alice2 分5设置的 Cookiesessionidxyz7892 分24.10 分1使用 HTTPS 而非 HTTP加密通信保护数据传输安全2 分2在服务器端验证用户输入防止注入攻击2 分3不要在 URL 中暴露敏感数据使用 POST 方法提交敏感信息2 分4配置安全头部如 CSP、HSTS、X-Frame-Options 等2 分5避免泄露服务器信息隐藏 Server 头部或模糊化版本信息。2 分其他合理答案如正确处理错误、使用安全 Cookie、保持软件更新、审查 HTTP 方法等也可得分