ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP 메서드
    HTTP 2021. 11. 28. 22:42

    쿼리 파라미터를 통한 데이터 전송

    • GET, 주로 정렬 필터(검색어)

    메시지 바디를 통한 데이터 전송

    • POST, PUT, PATCH
    • 회원가입, 상품 주문, 리소스 등록, 리소스 변경 등

    클라이언트에서 서버로 데이터 전송 4가지 상황

    • 정적 데이터 조회(이미지, 정적 텍스트 문서)
    • 동적 데이터 조회(주로 검색, 게시판 목록에서 정렬 필터)
    • HTML FORM을 통한 데이터 전송(POST, GET 방식, 회원 가입, 상품 주문)
    • HTTP API를 통한 데이터 전송(회원 가입, 상품 주문, 데이터 변경, 서버 to 서버, Ajax, JSON)

    HTML FORM 데이터 전송

    • 파일 전송(multipart/form-data)

    HTTP API 데이터 전송

    • 메시지 바디를 통해서 데이터 전송
    • React, VueJs 같은 웹 클라이언트와 API 통신으로 자주 사용(자바스크립트를 통한 통신에 사용, AJAX)

    POST 특징

    • 클라이언트 URI 지정 x, 서버가 자동으로 URI 지정
    • 컬렉션 방식

    컬렉션

    • 서버가 관리하는 리소스 디렉토리
    • 서버가 리소스의 URI를 생성하고 관리

    PUT 특징

    • 클라이언트가 URI 지정하고 관리까지함
    • 스토어 방식

    스토어

    • 클라이언트가 관리하는 리소스 저장소

    HTML FORM 사용

    • POST, GET 방식만 지원
    • AJAX 같은 기술을 사용해서 해결 가능
    • 컨트롤 URI 사용

    컨트롤 URI

    • HTML FORM 방식 제약을 해소하기 위해 동사로 된 리소스 경로 사용
    • POST의 /new, /edit, /delete가 컨트롤 URI
    • HTTP 메서드로 해결하기 애매한 경우 사용(HTTP API 포함)

    문서(Document)

    • 단일 개념(파일 하나, 객체 인스턴스, 데이터베이스 row)
    • 예) /members/100, files/star.jpg

    컬렉션(Collection)

    • 서버가 관리하는 리소스 디렉터리
    • 서버가 리소스의 URI를 생성하고 관리
    • 예) POST/members

    스토어(store)

    • 클라이언트가 관리하는 자원 저장소
    • 클라이언트가 리소스의 URI를 알고 관리
    • 예) PUT/files

    컨트롤러, 컨트롤 URI

    • 문서, 컬렉션, 스토어로 해결하기 어려운 추가 프로세스 실행
    • 동사를 직접 사용
    • 예) /members/{id}/delete
      • Form 형식의 경우 GET, POST만 사용할 수 있어서 컨트롤 URI가 불가피함

    validation GET과 POST 같은 URI 사용

    • 서버에 데이터를 보냈는데 문제가 있어 refresh해야할 때, URI가 다르면 깔끔하지 않을 수 있으므로

    리소스 위주의 설계

    • ex) 회원이면 members(컬렉션이어서 s붙음), 주문이면 orders,
      • 행위는 GET, POST, PUT, DELETE로 처리
        • ex) 회원 등록 - POST/members/input, 회원 조회GET/members

    'HTTP' 카테고리의 다른 글

    HTTP 헤더 - 일반 헤더  (0) 2021.12.01
    HTTP 상태 코드  (0) 2021.12.01
    HTTP API  (0) 2021.11.27
    HTTP 특징  (0) 2021.11.26
    HTTP 기본 지식(1)(IP,TCP,UDP,PORT,DNS,URI)  (0) 2021.11.22
Designed by Tistory.