HTTP Response (Header, Body)
- 모든 유효한 HTTP 요청은 세 가지 주요 구성 요소로 구성된 응답을 받는다.
1. 요청의 성공 또는 실패,
- 반환된 콘텐츠
- 요청과 관련된 기타 정보에 대한 정보를 제공하는 3자리 응답 상태 코드
Header
- 요청에 따라 달라지는 응답 헤더. 이러한 헤더에는 요청, 응답, 응답 데이터 또는 서버의 속성에 대한 메타데이터 정보가 포함된다.
Body
- JSON(기본값) 또는 XML 형식과 애플리케이션에서 정의한 표준으로 요청자에게 자유 형식의 텍스트 정보를 반환할 수 있는 응답 body이다. 표현, 성공 및 오류와 관련된 애플리케이션 별 데이터가 요청자에게 반환되는 곳이다.
HTTP Response(응답) -> Header + Body
- Header -> content (bytes) size
- Body -> content (bytes)
아래 코드를 확인해보자. 헤더에 컨텐츠의 크기에 대한 정보가 포함되고, 바디에 실제 컨텐츠가 포함됨을 알 수 있다.httpServer.createContext("/", (exchange)-> { String content = "Hello, world!"; exchange.sendResponseHeaders(200, content.getBytes().length); OutputStream outputStream = exchange.getResopnseBody(); outputStream.write(content.getBytes()); outputStream.flush(); outputStream.close(); });