HTTP 메소드 활용

김동윤·2023년 8월 14일
0

🌎 클라이언트에서 서버로 데이터 전송

  • 정적 데이터 조회(이미지, 정적 텍스트 문서)
  • 동적 데이터 조회(검색, 정렬필터)
  • HTML Form을 통한 데이터 전송(회원 가입, 상품 주문, 데이터 변경)
  • HTML API를 통한 데이터 전송(회원 가입, 상품 주문, 데이터 변경, 서버 to 서버, 앱 클라이언트, 웹 클라이언트)

정적 데이터 조회

  • 쿼리 파리미터 없이 리소스 경로로 GET을 사용하여 단순 조회(이미지, 정적 텍스트 문서)

동적 데이터 조회

  • GET을 사용하여 쿼리 파라미터를 이용해 검색이나 정렬 필터에 사용

HTML Form 데이터 전송

  • method를 post로 하면 알아서 http 메시지를 생성

  • method를 get으로 하면 url에 form에 작성한 입력값이 삽입된다.
    *참고: HTML Form 전송은 GET, POST만 지원

HTTP API 데이터 전송

  • 백엔드끼리 통신 할 때 사용
  • 앱 클라이언트(아이폰, 안드로이드)
  • 웹 클라이언트(자바스크립트를 통한 통신에 사용)

🌎 HTTP API 설계 예시

POST 기반 등록

  • 클라이언트는 등록될 리소소의 URI를 모른다.
  • html form에 데이터를 등록해서 전송을해 db에 저장을 하면 서버에서 알아서 URI를 부여한다.
  • 이를 컬렉션이라고 한다.
  • 위 예시에서 컬렉션은 /members이다.

PUT 기반 등록

  • 클라이언트가 리소스 URI를 알고 있어야한다.
  • 파일 등록/files/{filename}
  • 이를 스토어라고 한다.
  • 위 예시에서 스토어는 /files이다.

HTML FORM 사용
업로드중..

  • GET,POST만 지원하기에 실무에선 제약이있음
  • 이를 위해 컨트롤 URI를 사용
  • 동사로 된 리소스 경로 사용
  • POST의 /new, /edit, /delete가 컨트롤 URI
  • HTTP 메서드로 해결하기 애매한 경우 사용(HTTP API 포함)

HTTP API 설계를 참고

  • 참고: 김영한님의 HTTP강의 자료
profile
Back-End

0개의 댓글