✅ 쿼리 파라미터 ✅ HTML Form ✅ HTTP message body
요청 (Request)
1. GET - 쿼리 파라미터
메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달
/url?username=hello&age=20
- 예) 검색, 필터, 페이징등에서 많이 사용하는 방식
- HTTP 메시지 바디를 사용하지 않기 때문에 content-type이 없다.
2. POST - HTML Form
메시지 바디에 쿼리 파리미터 형식으로 전달
username=hello&age=20
- HTTP 메시지 바디에 해당 데이터를 포함해서 보내기 때문에 바디에 포함된 데이터가 어떤 형식인지 content-type을 꼭 지정해야 한다.
content-type: application/x-www-form-urlencoded
- 예) 회원 가입, 상품 주문, HTML Form 사용

3. HTTP message body
HTTP message body 에 데이터를 직접 담아서 요청
- HTTP API에서 주로 사용 : JSON, XML, TEXT
- 데이터 형식은 주로 JSON 사용
POST, PUT, PATCH
응답 (Response)
1. 단순 텍스트 응답
writer.println("ok");
2. HTML 응답
3. HTTP API - MessageBody JSON 응답
강의 출처
[인프런 - 김영한] 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술