1. HTTP 协议属于 OSI 七层模型中的哪一层?
A. 物理层
B. 数据链路层
C. 网络层
D. 应用层
答案:D
解析: HTTP 是应用层协议,在 OSI 七层模型中位于最高层,负责应用程序间的数据交换。
2. HTTP 状态码 401 表示什么含义?
A. 禁止访问
B. 未授权
C. 找不到资源
D. 请求超时
答案:B
解析: 401 Unauthorized 表示请求未经授权,客户端需要提供身份认证信息。
3. 下列哪个不是 HTTP 请求方法?
A. GET
B. POST
C. CONNECT
D. RECEIVE
答案:D
解析: RECEIVE 不是标准的 HTTP 请求方法。常见的 HTTP 方法包括 GET、POST、PUT、DELETE、HEAD、OPTIONS、PATCH 等。
4. HTTP 协议的哪个版本引入了持久连接?
A. HTTP/0.9
B. HTTP/1.0
C. HTTP/1.1
D. HTTP/2
答案:C
解析: HTTP/1.1 默认启用持久连接(Persistent Connection),而 HTTP/1.0 需要显式指定 Connection: keep-alive。
5. HTTP 响应头中的 Content-Length 字段表示什么?
A. 响应头长度
B. 响应体长度
C. 整个响应报文长度
D. URL 长度
答案:B
解析: Content-Length 表示响应消息体的字节长度,帮助客户端确定何时接收完全部数据。
6. HTTP 状态码 403 表示什么含义?
A. 未找到
B. 禁止访问
C. 请求错误
D. 服务器错误
答案:B
解析: 403 Forbidden 表示服务器理解请求但拒绝执行,通常是由于权限不足导致。
7. HTTP 中 Cookie 的最大大小限制一般是多少?
A. 1KB
B. 4KB
C. 8KB
D. 16KB
答案:B
解析: 大多数浏览器对单个 Cookie 的大小限制约为 4KB,整个域名下的 Cookie 总数也有限制。
8. HTTP 请求头中的 User-Agent 字段主要用于什么?
A. 用户身份验证
B. 标识客户端信息
C. 设置语言偏好
D. 指定内容类型
答案:B
解析: User-Agent 包含了发起请求的客户端软件信息,如浏览器类型、版本、操作系统等。
9. HTTP 状态码 201 表示什么含义?
A. 成功
B. 已创建
C. 接受请求
D. 重置内容
答案:B
解析: 201 Created 表示请求成功并且服务器创建了新的资源。
10. HTTP 中的 Chunked 传输编码主要用于什么场景?
A. 加密传输
B. 压缩传输
C. 流式传输未知长度的数据
D. 并行传输
答案:C
解析: Chunked 传输编码允许服务器在不知道内容总长度的情况下开始传输数据。
11. HTTP 响应头中的 Last-Modified 字段表示什么?
A. 文件最后访问时间
B. 文件创建时间
C. 文件最后修改时间
D. 文件过期时间
答案:C
解析: Last-Modified 表示资源最后一次被修改的时间,用于缓存验证。
12. HTTP 状态码 400 表示什么含义?
A. 未授权
B. 禁止访问
C. 错误请求
D. 服务器错误
答案:C
解析: 400 Bad Request 表示服务器认为客户端发送的请求存在语法错误。
13. HTTP 中的 If-Modified-Since 请求头用于什么目的?
A. 设置缓存时间
B. 条件请求,检查资源是否被修改
C. 指定语言偏好
D. 设置字符编码
答案:B
解析: If-Modified-Since 是条件请求头,配合 Last-Modified 使用,用于缓存验证。
14. HTTP 状态码 503 表示什么含义?
A. 网关超时
B. 服务不可用
C. 网关错误
D. 内部服务器错误
答案:B
解析: 503 Service Unavailable 表示服务器暂时无法处理请求,通常是过载或维护状态。
15. HTTP 请求中的 Authorization 头部主要用于什么?
A. 设置访问权限
B. 发送认证信息
C. 指定内容编码
D. 设置缓存控制
答案:B
解析: Authorization 头部携带客户端的身份认证凭证,如 Basic Auth、Bearer Token 等。
16. HTTP 协议中哪个状态码表示重定向?
A. 200
B. 301
C. 404
D. 500
答案:B
解析: 3xx 系列状态码表示重定向,其中 301 是永久重定向,302 是临时重定向。
17. HTTP 请求头中的 Accept-Encoding 字段用于什么?
A. 指定期望的内容类型
B. 指定期望的字符编码
C. 指定期望的压缩算法
D. 指定期望的语言
答案:C
解析: Accept-Encoding 告诉服务器客户端支持哪些压缩算法,如 gzip、deflate 等。
18. HTTP 状态码 204 表示什么含义?
A. 成功但无返回内容
B. 内容已重置
C. 部分内容
D. 多种选择
答案:A
解析: 204 No Content 表示请求成功处理但没有返回任何内容,通常用于 PUT/DELETE 请求。
19. HTTP 中的 Vary 响应头主要用于什么?
A. 设置缓存策略
B. 指示缓存键的组成部分
C. 设置内容编码
D. 指定访问控制
答案:B
解析: Vary 头部告诉缓存服务器应该根据哪些请求头来区分缓存版本。
20. HTTP 状态码 415 表示什么含义?
A. 请求实体过大
B. URI 过长
C. 不支持的媒体类型
D. 请求范围不符合要求
答案:C
解析: 415 Unsupported Media Type 表示服务器不支持请求中所提交实体的媒体类型。
21. HTTP 中的 TRACE 方法主要用于什么?
A. 跟踪请求路径
B. 回显收到的请求
C. 创建新资源
D. 删除资源
答案:B
解析: TRACE 方法用于回显服务器收到的请求,主要用于诊断和测试。
22. HTTP 响应头中的 Expires 字段用于什么?
A. 设置访问权限
B. 设置缓存过期时间
C. 设置内容编码
D. 设置语言偏好
答案:B
解析: Expires 指定了响应被认为过期的绝对时间,是 HTTP/1.0 的缓存控制机制。
23. HTTP 状态码 405 表示什么含义?
A. 请求方法不允许
B. 不可接受
C. 请求超时
D. 冲突
答案:A
解析: 405 Method Not Allowed 表示请求行中指定的方法不被目标资源支持。
24. HTTP 中的 Range 请求头用于什么场景?
A. 设置请求优先级
B. 请求部分内容(断点续传)
C. 设置字符范围
D. 指定语言范围
答案:B
解析: Range 头部用于请求资源的一部分,实现断点续传等功能。
25. HTTP 状态码 206 表示什么含义?
A. 成功
B. 部分内容
C. 已接受
D. 非权威信息
答案:B
解析: 206 Partial Content 表示服务器成功处理了部分 GET 请求,常用于断点续传。
26. HTTP 请求头中的 Referer 字段表示什么?
A. 请求来源地址
B. 服务器地址
C. 代理地址
D. 缓存地址
答案:A
解析: Referer 包含了当前请求页面的来源页面 URL,用于分析流量来源等。
27. HTTP 状态码 429 表示什么含义?
A. 请求实体过大
B. 请求的 URI 太长
C. 请求过于频繁
D. 不支持的 HTTP 版本
答案:C
解析: 429 Too Many Requests 表示用户在给定时间内发送了太多请求,常用于限流。
28. HTTP 中的 WWW-Authenticate 响应头用于什么?
A. 设置访问密码
B. 指示认证方案和参数
C. 设置缓存控制
D. 指定内容类型
答案:B
解析: WWW-Authenticate 告诉客户端应该使用哪种认证方式来访问资源。
29. HTTP 状态码 502 表示什么含义?
A. 网关超时
B. 错误网关
C. 服务不可用
D. 网关错误
答案:B
解析: 502 Bad Gateway 表示作为网关或代理的服务器从上游服务器收到了无效响应。
30. HTTP 中的 Max-Forwards 请求头用于什么?
A. 限制转发次数
B. 设置最大连接数
C. 限制请求大小
D. 设置最大并发数
答案:A
解析: Max-Forwards 限制请求或 TRACE 方法可以通过的代理或网关的最大数目,主要用于TRACE方法。
31. HTTP/3 基于以下哪种传输协议?
A. TCP
B. UDP
C. SCTP
D. ICMP
答案:B
解析: HTTP/3 基于 QUIC 协议,而 QUIC 是构建在 UDP 之上的传输层协议,相比 TCP 提供了更好的性能和连接建立速度。
32. HTTP 状态码 101 表示什么含义?
A. 继续
B. 切换协议
C. 处理中
D. 早期提示
答案:B
解析: 101 Switching Protocols 表示服务器同意切换到客户端在 Upgrade 头部中请求的协议,常见于 WebSocket 连接升级。
33. HTTP 请求中的 Expect: 100-continue 头部有什么作用?
A. 要求服务器立即响应
B. 告诉服务器客户端期望收到 100 Continue 状态码
C. 设置请求超时时间
D. 指定内容编码
答案:B
解析: Expect: 100-continue 用于大文件上传场景,客户端先发送请求头,等待服务器确认后再发送请求体,避免不必要的数据传输。
34. HTTP 响应头中的 Age 字段表示什么?
A. 资源年龄
B. 缓存响应的近似年龄
C. 服务器运行时间
D. Cookie 有效期
答案:B
解析: Age 字段表示响应从源服务器发出后经过的秒数,主要用于缓存管理,帮助判断缓存的新鲜度。
35. HTTP 状态码 418 表示什么含义?
A. 我是茶壶
B. 请求实体过大
C. URI 过长
D. 不支持的媒体类型
答案:A
解析: 418 I'm a teapot 是一个恶搞状态码,源自 1998 年的愚人节 RFC 文档,正式定义为”超文本咖啡壶控制协议”,实际应用中很少使用。