상태 코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다. 1xx (Informational) : 요청이 수신되어 처리중 2xx (Successful) : 요청 정상 처리 3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요 4xx (Client Error) : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5xx (Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못함 만약 모르는 상태 코드가 나타난다면 ? 클라이언트가 인식할 수 없는 상태코드를 서버가 반환하면 ? 클라이언트는 상위 상태코드로 해석해서 처리 ex) 299 ??? → 2xx (Successful) , 451 ??? → 4xx (Client Error) ... 1x..
클라이언트에서 서버로 데이터 전송 데이터 전달 방식은 크게 2가지가 존재한다. 첫 째로, 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터(검색어) - 날짜순, 이름순 ...... 둘 째로, 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 4가지 상황에 대해서 살펴보도록 하자. 1. 정적 데이터 조회 : 이미지, 정적 텍스트 문서 2. 동적 데이터 조회 : 주로 검색, 게시판 목록에서 정렬 필터 (검색어) 3. HTML Form을 통한 데이터 전송 : 회원 가입, 상품 주문, 데이터 변경 4. HTML API를 통한 데이터 전송 회원 가입, 상품 주문, 데이터 변경 서버 to 서버, 앱 클라이언트, 웹 클라이언트 (Ajax) 정적 ..
회원 정보 관리 API를 만든다고 가정해보자. 요구사항을 정리하고 API URI를 설계해보면 ? 회원 목록 조회 ( /read-member-list ) 회원 조회 ( /read-member-by-id ) 회원 등록 ( /create-member ) 회원 수정 ( /update-member ) 회원 삭제 ( /delete-member ) 이것은 과연 좋은 URI 설계일까 ? 중요한 것은 리소스 식별이다. 리소스(Resource) 의미 리소스의 의미는 뭘까? 만약 회원을 등록한다고 하면, "회원 등록"은 리소스가 아니다. 바로 "회원" 이라는 개념 자체가 리소스인 것이다. 다시 API URI를 설계 해보면 다음과 같이 설계할 수 있다. 회원 목록 조회 ( /members ) 회원 조회 ( /members/{..
HTTP (HyperText Transfer Protocol) 과거에는 HTML, TEXT 등을 HTTP 메시지에 전송했는데 최근 HTTP 메시지에 모든 것을 전송하는 추세로 바뀌고 있다. HTML,TEXT IMAGE, 음성, 영상, 파일 JSON, XML(API) 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 HTTP의 역사 HTTP/0.9 1991년 : GET 메서드만 지원, HTTP 헤더 X HTTP/1.0 1996년 : 메서드, 헤더 추가 HTTP/1.1 1997년 : 가장 많이 사용 (가중 중요한 버전) HTTP/2 2015년 : 성능 개선 HTTP/3 진행중 : TCP 대신 UDP 사용, 성능 개선 HTTP 특징 클라이언트 서버 구조 무상태 프로토콜..