7. 정리
- HTTP 요청·응답은 시작줄, 헤더, 빈 줄, 본문 네 부분으로 이루어진 텍스트입니다.
- URL 은 scheme·host·port·path·query·fragment 로 쪼개지고, 쿼리 값은
URLEncoder로 인코딩합니다. - GET·PUT·DELETE 는 멱등, POST 는 아닙니다. 재시도할 때 이 차이를 기억합니다.
- 상태 코드는 계열로 먼저 나눕니다. 2xx 성공, 4xx 내 요청 문제, 5xx 서버 문제입니다.
- JSON 은 객체·배열·문자열·숫자·불·null 여섯 가지뿐입니다. 자바에서는
Map·List·String·Long/Double·Boolean·null로 받습니다. HttpClient·HttpRequest·HttpResponse가 표준 라이브러리에 있습니다. 타임아웃은 항상 명시적으로 걸고, 여러 요청은sendAsync로 동시에 보냅니다.- 연결 거부·타임아웃·4xx·5xx 는 서로 다른 문제입니다. 예외 타입과 상태 코드로 구분해 처리합니다.
다음은 실무 확장 07 REST API 서버와 JSON 입니다.