HTTP 와 JSON 기초: 요청·응답 구조, 메서드, 상태 코드, HttpClient, JSON 직렬화
화면 뒤에서 자바 프로그램은 대부분 서버와 대화합니다. 그 대화는 거의 항상 HTTP 위에서 JSON 으로 오갑니다. 이 레슨은 요청·응답이 실제로 어떤 문자열인지, 상태 코드가 무엇을 뜻하는지, 자바가 JSON 을 어떻게 문자열·객체로 바꾸는지,
HttpClient로 요청을 보내고 실패를 어떻게 구분해 처리하는지를 직접 서버를 띄워 눈으로 확인합니다. REST API 설계와 재시도·서킷 브레이커는 다루지 않습니다. 그건 다음 레슨의 몫입니다.
1. 왜 배우는가
로그인, 결제, 외부 API 연동, 마이크로서비스 간 호출까지 실무 자바 코드의 상당수는 HTTP 요청 하나를 보내고 응답을 해석하는 일입니다. Spring 의 RestTemplate·WebClient·RestClient 도 결국 이 위에 얹힌 편의 계층입니다.
문제는 대부분 겉으로 잘 도는 코드를 그대로 베껴 쓰다가, 요청이 실패하는 순간 막힙니다. 타임아웃과 연결 거부를 구분 못 하고, 404 와 500 을 같은 방식으로 처리하고, JSON 파싱 예외를 그냥 catch (Exception e) 로 삼킵니다.
이 레슨은 그 반대로 갑니다. 라이브러리 없이 직접 서버를 띄우고 직접 클라이언트로 부르면서, 요청이 어떤 바이트로 나가고 응답이 어떤 상태 코드로 돌아오는지를 하나씩 확인합니다. 다음 레슨(실무 확장 07 REST API 서버, 11 외부 API 연동)은 이 기초 위에서 설계와 안정성을 다룹니다.