본문 바로가기
빌드노트 검색

빌드노트

HTTP·네트워크

HTTP·네트워크 카테고리의 글입니다.

글 검색

글 목록

총 48개의 글

  1. fetch의 GET에 body를 넣었는데 서버 로그가 없다

    fetch의 GET+body는 서버 응답을 받기 전에 요청 생성 단계에서 거절된다. 실제 Chromium과 로컬 수신기로 TypeError·수신 0건을 확인하고, 쿼리 GET·명시한 JSON POST·서버의 HTTP 오류와 비교한다.

  2. Node HTTP timeout 이벤트 뒤에도 응답이 들어온다

    Node core HTTP의 request.setTimeout()은 소켓 비활동을 알리는 이벤트다. 지연 응답과 명시적 destroy()를 실제 비교하고, timeout 뒤의 응답·오류·종료 및 주기적인 데이터 수신을 구별한다.

  3. Content-Location을 보냈는데 브라우저 주소가 바뀌지 않는다

    200 응답에 Content-Location을 보내도 목적지 요청이나 주소 변경은 일어나지 않는다. 같은 /target을 가리키는 200과 302를 실제 브라우저·curl로 비교하고, 표현의 주소를 알리는 응답과 이동 응답을 구분한다.

  4. Node 응답 headers에 Trailer 체크섬이 없는 이유

    Node HTTP 응답의 Trailer 헤더는 뒤에 보낼 필드 이름을 예고한다. 실제 체크섬은 headers가 아니라 본문 소비 후 end의 trailers에서 읽는다. 같은 chunked 본문에 실제 전송·예고만 함·트레일러 없음 세 조건을 비교해 조회 시점과 미전송을 구별한다.

  5. 본문은 왔는데 HTTP/1.1 응답이 끝나지 않는다

    HTTP/1.1 응답에서 본문이 보여도 전송이 끝나지 않을 때 확인할 종료 경계를 다룬다. 같은 hello를 길이 없이 연결 유지, 정확한 Content-Length, 연결 종료, 완전하거나 마지막 청크가 빠진 chunked로 보내 curl의 수신 본문과 완료·시간 초과를 비교했다.

  6. Fetch 응답을 로그로 읽은 뒤 json()이 실패한다

    Fetch 응답을 text()로 로그에 남기면 같은 응답의 json()은 다시 읽을 수 없다. bodyUsed로 소비 지점을 찾고, 한 번 읽은 값의 공유와 소비 전 clone()을 비교한다. 작은 loopback JSON 실험에서 실패 유형과 서버 요청 수를 확인했다.

  7. curl에서 100 Continue를 받았는데 업로드가 거절됐다

    curl의 100 Continue 뒤에 최종 422가 와도 본문은 전부 전송될 수 있다. loopback에서 100 뒤 거절·수락, 본문 전 413, 최종 응답 누락을 비교하고 trace·http_code·송수신 바이트·종료 코드로 결과를 구별한다.

  8. curl을 GET으로 바꿨는데 쿼리 파라미터가 없다

    curl -X GET은 -d의 본문을 URL 쿼리로 옮기지 않는다. 로컬 수신기로 메서드·요청 대상·본문을 비교하고, 쿼리 전송에는 -G를, 값 속 구분 문자 보존에는 --data-urlencode를 고르는 방법을 설명한다.

  9. curl이 두 주소를 오가다 리다이렉트 오류로 끝난다

    curl의 리다이렉트 오류 47은 이동 상한 도달을 뜻한다. 두 경로 순환과 정상 유한 체인의 실제 요청 로그·마지막 URL·이동 횟수를 비교하고, 상한을 늘리기 전에 되돌리는 Location을 만든 설정으로 조사 범위를 좁힌다.

  10. Accept를 JSON으로 바꿨는데 요청 본문은 바뀌지 않는다

    Accept는 받고 싶은 응답 타입이고 Content-Type은 해당 메시지의 표현 타입이다. 같은 16바이트에서 두 헤더를 독립 변경한 loopback 실험과 실제 JSON 직렬화를 비교해, 응답의 JSON 모양 대신 요청 원문과 본문 생성 코드를 확인하는 방법을 설명한다.

  11. 204 삭제 응답은 성공인데 response.json()이 실패한다

    204는 본문 없는 성공 응답이다. loopback 서버의 204·200 JSON·200 빈 본문·200 잘못된 JSON을 실제 브라우저 fetch로 비교하고, 204만 파싱을 생략해 HTTP 성공과 본문 오류를 구별하는 코드를 확인했다.

  12. Node에서 한글 JSON만 잘린다: Content-Length에 넣은 문자열 length

    Node 응답의 Content-Length에 문자열 length를 넣으면 한글 JSON 17바이트 중 13바이트만 본문으로 전달될 수 있다. ASCII·한글·이모지의 실제 수신 결과를 비교하고 최종 UTF-8 바이트 수를 계산하거나 응답 API에 길이 처리를 맡기는 방법을 설명한다.