HTTP 요청은 메서드와 대상 URI, 헤더, 선택적 본문으로 구성됩니다. 서버의 응답은 상태 코드, 헤더, 선택적 본문을 담습니다.
데모는 왼쪽 요청을 보낸 뒤 오른쪽 응답의 세 층이 순서대로 채워지는 모습을 보여줍니다. 본문이 없는 응답도 있으므로 상태와 헤더만으로 처리 여부를 판단해야 할 때가 있습니다.
언제 쓰나
API 호출을 디버깅할 때 요청 메서드·헤더·본문과 응답 상태를 각각 확인합니다.
클라이언트가 요청을 보내면 서버가 상태, 헤더, 본문으로 답합니다.
<div class="n-demo"><div class="n-head"><strong>REQUEST / RESPONSE</strong><span>LIVE TRACE</span></div><div class="n-stage"><div class="req n-box mono">GET /items<br>Accept: json</div><div class="req-arrow">→</div><div class="res n-box mono"><div id="h0">HTTP/1.1 200</div><div id="h1">Content-Type: json</div><div id="h2">{ items: 3 }</div></div></div><div class="n-foot">tap to step · auto replay</div></div>.n-demo{width:min(94vw,760px);height:min(88vh,324px);padding:clamp(9px,2.2vmin,18px);border:1px solid var(--line);border-radius:13px;background:var(--surface);display:flex;flex-direction:column;gap:clamp(5px,1.3vmin,10px);font:600 clamp(12px,2.4vmin,16px)/1.3 "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;overflow:hidden}.n-head,.n-foot{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.n-head strong{color:var(--accent)}.n-head span,.n-foot{font-size:12px}.n-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(4px,1vmin,10px)}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.n-box{padding:clamp(5px,1.5vmin,11px);border:1px solid var(--line);border-radius:8px;background:var(--bg);text-align:center}.n-on{border-color:var(--accent)!important;color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 12%,var(--surface))!important}.n-muted{color:var(--muted)}@media(max-width:400px){.n-head span{display:none}}.req,.res{width:43%;text-align:left}.req-arrow{color:var(--accent)}.res div{padding:4px;border-bottom:1px solid var(--line);opacity:.25}.res div:last-child{border:0}.res div.n-on{opacity:1}let step=0;function advance(){for(let i=0;i<3;i++)document.getElementById('h'+i).classList.toggle('n-on',i<=step);step=(step+1)%3}
const clickTarget=document.querySelector('.n-demo');if(clickTarget&&typeof advance==='function'){advance();const timer=setInterval(advance,1050);clickTarget.addEventListener('pointerdown',()=>{clearInterval(timer);advance()})}HTTP 요청은 메서드와 대상 URI, 헤더, 선택적 본문으로 구성됩니다. 서버의 응답은 상태 코드, 헤더, 선택적 본문을 담습니다.
데모는 왼쪽 요청을 보낸 뒤 오른쪽 응답의 세 층이 순서대로 채워지는 모습을 보여줍니다. 본문이 없는 응답도 있으므로 상태와 헤더만으로 처리 여부를 판단해야 할 때가 있습니다.
API 호출을 디버깅할 때 요청 메서드·헤더·본문과 응답 상태를 각각 확인합니다.