HTTP报文解析工具

在线解析HTTP请求和响应报文,快速提取关键信息

快速示例(点击加载)

输入HTTP报文

解析结果

请在左侧输入HTTP报文,然后点击"解析报文"按钮

` }; function loadExample(type) { document.getElementById('httpInput').value = examples[type] || ''; if (examples[type]) { parseHTTP(); } } function clearInput() { document.getElementById('httpInput').value = ''; document.getElementById('outputArea').innerHTML = '

解析结果

请在左侧输入HTTP报文,然后点击"解析报文"按钮

'; } function parseHTTP() { const input = document.getElementById('httpInput').value; const outputArea = document.getElementById('outputArea'); if (!input.trim()) { outputArea.innerHTML = '

解析结果

请输入HTTP报文

'; return; } try { const lines = input.split('\n'); let html = '

解析结果

'; const firstLine = lines[0].trim(); const isRequest = firstLine.includes('HTTP/') && (firstLine.startsWith('GET') || firstLine.startsWith('POST') || firstLine.startsWith('PUT') || firstLine.startsWith('DELETE') || firstLine.startsWith('PATCH') || firstLine.startsWith('OPTIONS') || firstLine.startsWith('HEAD')); if (isRequest) { const requestLine = firstLine.split(' '); html += '

请求行

'; html += '
请求方法' + requestLine[0] + '
'; html += '
请求URL' + escapeHtml(requestLine[1]) + '
'; html += '
HTTP版本' + requestLine[2] + '
'; html += '
'; } else { const responseLine = firstLine.split(' '); const statusCode = responseLine[1]; const statusClass = statusCode >= 200 && statusCode < 300 ? 'status-success' : statusCode >= 400 ? 'status-error' : 'status-info'; html += '

响应行

'; html += '
HTTP版本' + responseLine[0] + '
'; html += '
状态码' + statusCode + '
'; html += '
状态信息' + escapeHtml(responseLine.slice(2).join(' ')) + '
'; html += '
'; } html += '

请求头/响应头

'; let bodyStarted = false; let headers = []; let body = ''; for (let i = 1; i < lines.length; i++) { const line = lines[i]; if (!line.trim()) { bodyStarted = true; continue; } if (bodyStarted) { body += line + '\n'; } else { const colonIndex = line.indexOf(':'); if (colonIndex !== -1) { const key = line.substring(0, colonIndex).trim(); const value = line.substring(colonIndex + 1).trim(); headers.push({key, value}); html += '
' + escapeHtml(key) + '' + escapeHtml(value) + '
'; } } } html += '
'; if (body.trim()) { html += '

请求体/响应体

'; html += '
' + escapeHtml(body) + '
'; html += '
'; } html += '

统计信息

'; html += '
报文类型' + (isRequest ? 'HTTP请求' : 'HTTP响应') + '
'; html += '
头部数量' + headers.length + '
'; html += '
Body大小' + body.length + ' 字节
'; html += '
'; outputArea.innerHTML = html; } catch (e) { outputArea.innerHTML = '

解析结果

解析失败: ' + escapeHtml(e.message) + '

'; } } function copyOutput() { const outputArea = document.getElementById('outputArea'); const text = outputArea.innerText || outputArea.textContent; navigator.clipboard.writeText(text).then(() => { alert('结果已复制到剪贴板'); }).catch(() => { alert('复制失败,请手动复制'); }); } function escapeHtml(text) { const div = document.createElement('div'); div.textContent = text; return div.innerHTML; }

关于HTTP 报文解析工具的常见问题

HTTP 报文是 HTTP 协议中客户端和服务器之间传输的数据格式,分为请求报文和响应报文。请求报文包含请求行(方法+URL+ 版本)、请求头、空行、请求体。响应报文包含状态行(版本 + 状态码 + 描述)、响应头、空行、响应体。
常用方法:GET(获取资源)、POST(提交数据)、PUT(更新资源)、DELETE(删除资源)、PATCH(部分更新)、HEAD(获取头部)、OPTIONS(查询支持的方法)。GET 和 POST 最常用,RESTful API 会使用全部方法。
2xx 成功:200 OK、201 Created、204 No Content。3xx 重定向:301 永久移动、302 临时移动、304 未修改。4xx 客户端错误:400 错误请求、401 未授权、403 禁止、404 未找到。5xx 服务器错误:500 内部错误、502 坏网关、503 服务不可用。
HTTP 头传递元数据,控制请求/响应行为。常见请求头:Content-Type(内容类型)、Authorization(认证)、User-Agent(客户端信息)。常见响应头:Content-Type、Content-Length、Cache-Control(缓存控制)、Set-Cookie(设置 cookie)。
1) 使用浏览器开发者工具的 Network 面板查看请求详情;2) 使用 curl 命令发送请求;3) 使用本工具粘贴原始报文进行分析;4) 使用 Postman 等 API 测试工具。查看请求头、响应头、状态码、响应体可以定位问题。
HTTPS 是 HTTP 的安全版本,在 HTTP 和 TCP 之间添加了 SSL/TLS 加密层。HTTPS 使用 443 端口,HTTP 使用 80 端口。HTTPS 加密传输内容,防止窃听和篡改,需要 SSL 证书。现代网站都应该使用 HTTPS。