{ "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": [] } ] }