HTTP 웹 [기본] HTTP 메서드 1

신재원·2023년 1월 17일
1

HTTP

목록 보기
4/18

API URL의 고민

  • 리소스 란 ?
    • 회원을 등록하고 수정하고 조회하는게 리소스가 아니다.
    • 예) 미네랄을 캐라 -> 미네랄이 리소스
    • 회원이라는 개념 자체가 바로 리소스다
  • 리소스를 어떻게 식별하는게 좋을까 ?
    • 회원을 등록하고 수정하고 조회하는 것을 모두 배제
    • 회원이라는 리소스만 식별하면 된다. -> 회원 리소스를 URL에 매핑

API URL 설계

  • 리소스 식별, URL 계층 구조 활용
    • "회원" 목록 조회 /members
    • "회원" 조회 /members/{id} -> 어떻게 구분하지 ?
    • "회원" 등록 /members/{id} -> 어떻게 구분하지 ?

정리

리소스와 행위를 분리

  • URL는 리소스만 식별 !!
  • 리소스와 해당 리소스를 대상으로 하는 "행위"를 분리
    • 리소스 : 회원 (명사)
    • 행위 : 조회, 등록, 삭제, 변경 (동사)
  • 리소스는 명사, 행위는 동사 (미네랄을 캐라)
  • 행위 (메서드)는 어떻게 구분 ?

HTTP 메서드 종류

  • GET : 리소스 조회
  • POST : 요청 데이터 처리, 주로 등록에 사용
  • PUT : 리소스를 대체, 해당 리소스가 없으면 생성
  • PATCH : 리소스 부분 변경
  • DELETE : 리소스 삭제

GET

  • 리소스 조회
  • 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터, 쿼리스트링)을 통해 전달
  • 메시지 바디를 사용해서 데이터를 전달할 수있지만, "권장 X"

POST

  • 요청 데이터 처리

  • 메시지 바디를 통해 서버로 요청 데이터 전달

  • 서버는 요청 데이터를 처리

    • 메시지 바디를 통해 들어온 데이터를 처리하는 모든 기능을 수행한다
  • 주로 전달된 데이터로 신규 리소스 등록, 프로세스 처리에 사용

  • POST 방식의 예시

    • HTML,FORM에 입력한 정보로 회원가입, 주문등에서 사용
    • 게시판 글쓰기, 댓글달기
    • 신규 주문 생성
  • 정리 : 이 리소스 URL에 POST 요청이 오면 요청 데이터를 어떻게 처리할지 리소스 마다 "따로" 정해야한다.

      1. 등록
      1. 요청 데이터 처리

0개의 댓글