167 lines
5.0 KiB
JSON
167 lines
5.0 KiB
JSON
|
|
{
|
|||
|
|
"topic": "http-handshake",
|
|||
|
|
"type": "fill_blank",
|
|||
|
|
"schema_version": "1.0.0",
|
|||
|
|
"generated": "2026-09-02T21:20:00+08:00",
|
|||
|
|
"questions": [
|
|||
|
|
{
|
|||
|
|
"id": "fb-001",
|
|||
|
|
"type": "fill_blank",
|
|||
|
|
"difficulty": 2,
|
|||
|
|
"tags": [
|
|||
|
|
"TCP",
|
|||
|
|
"三次握手"
|
|||
|
|
],
|
|||
|
|
"question": "TCP 三次握手中,第二次握手服务器发送的标志位是____。",
|
|||
|
|
"answer": [
|
|||
|
|
"SYN-ACK"
|
|||
|
|
],
|
|||
|
|
"explanation": "第二次握手服务器发送 SYN-ACK(Synchronize-Acknowledge),表示收到客户端的连接请求并确认,同时自己也准备好建立连接。",
|
|||
|
|
"source": null,
|
|||
|
|
"related": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"id": "fb-002",
|
|||
|
|
"type": "fill_blank",
|
|||
|
|
"difficulty": 3,
|
|||
|
|
"tags": [
|
|||
|
|
"TLS",
|
|||
|
|
"HTTPS"
|
|||
|
|
],
|
|||
|
|
"question": "TLS 1.3 相比 TLS 1.2 将握手耗时从 2-RTT 优化到了____-RTT。",
|
|||
|
|
"answer": [
|
|||
|
|
"1"
|
|||
|
|
],
|
|||
|
|
"explanation": "TLS 1.3 优化了握手流程,将握手耗时从 TLS 1.2 的 2-RTT 优化到 1-RTT。TLS 1.3 的 0-RTT 恢复可以在恢复会话时做到 0-RTT。",
|
|||
|
|
"source": null,
|
|||
|
|
"related": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"id": "fb-003",
|
|||
|
|
"type": "fill_blank",
|
|||
|
|
"difficulty": 2,
|
|||
|
|
"tags": [
|
|||
|
|
"HTTP/1.x"
|
|||
|
|
],
|
|||
|
|
"question": "HTTP/1.0 和 HTTP/1.1 在应用层____(有/没有)握手。",
|
|||
|
|
"answer": [
|
|||
|
|
"没有"
|
|||
|
|
],
|
|||
|
|
"explanation": "HTTP/1.0 和 HTTP/1.1 没有应用层握手。TCP 连接建立后,TLS 握手完成后,客户端直接发送 HTTP 请求。",
|
|||
|
|
"source": null,
|
|||
|
|
"related": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"id": "fb-004",
|
|||
|
|
"type": "fill_blank",
|
|||
|
|
"difficulty": 3,
|
|||
|
|
"tags": [
|
|||
|
|
"HTTP/2",
|
|||
|
|
"SETTINGS"
|
|||
|
|
],
|
|||
|
|
"question": "HTTP/2 在连接建立后通过____帧交换连接参数。",
|
|||
|
|
"answer": [
|
|||
|
|
"SETTINGS"
|
|||
|
|
],
|
|||
|
|
"explanation": "HTTP/2 在连接建立后通过 SETTINGS 帧交换参数,如最大并发流数、窗口大小等。这不算严格的「握手」,但起到类似的协商作用。",
|
|||
|
|
"source": null,
|
|||
|
|
"related": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"id": "fb-005",
|
|||
|
|
"type": "fill_blank",
|
|||
|
|
"difficulty": 4,
|
|||
|
|
"tags": [
|
|||
|
|
"HTTP/3",
|
|||
|
|
"QUIC"
|
|||
|
|
],
|
|||
|
|
"question": "HTTP/3 基于 QUIC 协议,QUIC 将传输层握手和____握手合二为一。",
|
|||
|
|
"answer": [
|
|||
|
|
"TLS 1.3"
|
|||
|
|
],
|
|||
|
|
"explanation": "QUIC 把传输层握手和 TLS 1.3 握手合二为一,首次连接只需 1-RTT,恢复连接可达 0-RTT。",
|
|||
|
|
"source": null,
|
|||
|
|
"related": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"id": "fb-006",
|
|||
|
|
"type": "fill_blank",
|
|||
|
|
"difficulty": 2,
|
|||
|
|
"tags": [
|
|||
|
|
"TCP",
|
|||
|
|
"三次握手"
|
|||
|
|
],
|
|||
|
|
"question": "TCP 三次握手的本质是双方各确认一次____能力。",
|
|||
|
|
"answer": [
|
|||
|
|
"收发"
|
|||
|
|
],
|
|||
|
|
"explanation": "三次握手的本质是双方各确认一次收发能力,确保连接可靠。客户端确认自己能发能收,服务器确认自己能发能收。",
|
|||
|
|
"source": null,
|
|||
|
|
"related": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"id": "fb-007",
|
|||
|
|
"type": "fill_blank",
|
|||
|
|
"difficulty": 3,
|
|||
|
|
"tags": [
|
|||
|
|
"TLS",
|
|||
|
|
"HTTPS"
|
|||
|
|
],
|
|||
|
|
"question": "TLS 握手完成的三件事包括证书验证、密钥协商和____确定。",
|
|||
|
|
"answer": [
|
|||
|
|
"加密套件"
|
|||
|
|
],
|
|||
|
|
"explanation": "TLS 握手完成的事包括:证书验证(确认服务器身份)、密钥协商(生成对称加密密钥)、加密套件确定(双方商定使用的加密算法)。",
|
|||
|
|
"source": null,
|
|||
|
|
"related": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"id": "fb-008",
|
|||
|
|
"type": "fill_blank",
|
|||
|
|
"difficulty": 4,
|
|||
|
|
"tags": [
|
|||
|
|
"HTTP/3",
|
|||
|
|
"QUIC"
|
|||
|
|
],
|
|||
|
|
"question": "HTTP/3 基于____协议运行在 UDP 之上。",
|
|||
|
|
"answer": [
|
|||
|
|
"QUIC"
|
|||
|
|
],
|
|||
|
|
"explanation": "HTTP/3 基于 QUIC 协议,QUIC 运行在 UDP 之上。QUIC 内置了 TLS 1.3、可靠传输、多路复用和 0-RTT 恢复。",
|
|||
|
|
"source": null,
|
|||
|
|
"related": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"id": "fb-009",
|
|||
|
|
"type": "fill_blank",
|
|||
|
|
"difficulty": 3,
|
|||
|
|
"tags": [
|
|||
|
|
"TLS",
|
|||
|
|
"0-RTT"
|
|||
|
|
],
|
|||
|
|
"question": "TLS 1.3 的 0-RTT 恢复虽然快,但存在____攻击风险。",
|
|||
|
|
"answer": [
|
|||
|
|
"重放"
|
|||
|
|
],
|
|||
|
|
"explanation": "0-RTT 恢复虽然快,但存在重放攻击风险。0-RTT 发送的数据不能保证幂等性,因此不适合做敏感操作(如支付)。",
|
|||
|
|
"source": null,
|
|||
|
|
"related": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"id": "fb-010",
|
|||
|
|
"type": "fill_blank",
|
|||
|
|
"difficulty": 4,
|
|||
|
|
"tags": [
|
|||
|
|
"HTTP/2",
|
|||
|
|
"TCP"
|
|||
|
|
],
|
|||
|
|
"question": "HTTP/2 的 SETTINGS 交换发生在____层,解决的是「怎么高效通信」的问题。",
|
|||
|
|
"answer": [
|
|||
|
|
"应用"
|
|||
|
|
],
|
|||
|
|
"explanation": "HTTP/2 的 SETTINGS 交换发生在应用层,目的是协商 HTTP 协议参数(如最大并发流、窗口大小等)。TCP 握手解决的是「能不能通信」。",
|
|||
|
|
"source": null,
|
|||
|
|
"related": []
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|