웹 서비스에서는 많은 정보를 송수신 하게 된다. 각각의 다른 웹 서비스들이 대화하려면, 서로 정해진 약속에 맞게 데이터를 가공해서 보내야 한다.

보내는 요청 및 데이터의 형식을 우리는 HTTP(HyperText Transport Protocol)이라고 한다.

Spring에서도 마찬가지로 HTTP에 맞게 데이터를 송수신해야한다. 요청에 대한 응답을 HTTP 형식으로 코드를 직접 작성하는 것은 쉬운 일이 아니다.

하지만 , 스프링에서는 ResponseEntity를 통해서, 빠르고 쉽게 규격에 맞는 HTTP 응답을 생성할 수 있다.

Spring에서 데이터를 송수신하는 방법

HTTP란 ?

HTTP는 HyperText Transfer Protocol의 약자로, Client와 Server 사이에 요청과 응답을 처리하기 위한 규약이다.

HTTP는 요청과 응답 모두 크게 세 가지 요소로 구성된다.

먼저, HTTP요청은 크게 세 가지 요소로 구성이 된다.

Start Line, Headers 그리고 Body이다.

  1. Start Linemethod, URL 그리고 version으로 이루어져 있으며, 서버에서 요청을 받아들이는 첫 줄입니다.
  2. Headers는 요청에 대한 접속 운영체제, 브라우저, 인증 정보와 같은 부가적인 정보를 담고 있다.
  3. Body는 요청에 관련된 json,html과 같은 구체적인 내용을 포함.

HTTP응답은 다른 요소인 Status Line과 요청도 가지고 있는 Headers, Body로 이루어져 있다.

⇒ Spring에서는 HTTP Response를 만드는 것이 주요한 관심사이다. 200,404 등 각각의 응답의 상태 코드뿐만이 아니라 , Body에 들어갈 내용도 넣어주어야 한다.