使用原始TCP套接字构造浏览器可识别的标准HTTP 404错误响应报文
最小合规HTTP/1.0 404响应构造要求
你当前仅发送状态行的方式不符合HTTP协议规范,浏览器会认为响应未完成,因此无法识别错误码。不需要额外HTML正文,只需要补充协议要求的必要结构即可实现需求,要发送的内容按顺序如下:
- 第一行:状态行,内容为
HTTP/1.0 404 Not Found,末尾必须跟上\r\n(CRLF换行符,HTTP协议规定的行分隔符) - 第二行:Content-Length响应头,内容为
Content-Length: 0,末尾同样跟上\r\n,声明响应正文长度为0,不需要返回额外内容 - 第三行:单独的
\r\n,也就是空行,用来标识响应头部分结束,是HTTP协议要求的必要分隔标识
完整待发送内容示例(字节流)
HTTP/1.0 404 Not Found\r\n Content-Length: 0\r\n \r\n
如果需要兼容更严格的解析规则,可以额外加Connection: close响应头,进一步明确响应发送完成后直接断开连接,避免浏览器等待后续内容。按上述格式发送后,Firefox开发者工具的网络控制台可以正常识别404错误码,同时因为正文长度为0,也不会展示任何错误页面内容。
内容的提问来源于stack exchange,提问作者Nimral
相关产品推荐
相关产品推荐

