섹션 5. HTTP 메서드 활용

2024. 7. 13. 21:50Spring/HTTP 웹 기본 지식

반응형


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

데이터 전달 방식은 크게 2가지

  • 쿼리 파라미터를 통한 데이터 전송
    • GET
  • 메세지 바디를 통한 데이터 전송
    • POST, PUT, PATCH

정적 데이터 조회

  • 쿼리 파라미터 미사용
  • 이미지, 정적 텍스트 문서
  • 조회는 GET 사용
  • 정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능

동적 데이터 조회

  • 쿼리 파라미터 사용
  • 주로 검색, 게시판 목록에서 정렬 필터
  • 조회는 GET 사용

HTML Form 데이터 전송

  • HTML Form submit 시 POST 전송
  • Content-Type : application/x-www-form-urlencoded 사용
    • form의 내용을 메세지 바디를 통해서 전송(key=value, 쿼리 파라미터 형식)
    • 전송 데이터를 url encoding 처리
  • HTML Form 은 GET 전송도 가능
  • Content-Type : multipart/form-data
    • 파일 업로드 같은 바이너리 데이터 전송 시 사용
    • 다른 종류의 여러 파일과 폼의 내용 함께 전송 가능
  • 참고 : HTML Form 전송은 GET, POST 만 지원

HTTP API 데이터 전송

  • 서버 to 서버
  • Content-Type : application/json 을 주로 사용

 

❓ HTTP API 설계 예시

POST 기반 등록

  • 회원
    • 목록 /members -> GET
    • 등록 /members -> POST
    • 조회 /members/{id} -> GET
    • 수정 /members/{id} -> PATCH, PUT, POST
    • 삭제 /members/{id} -> DELETE

PUT 기반 등록

  • 파일
    • 목록 /files -> GET
    • 조회 /files/{filename} -> GET
    • 등록 /files/{filename} -> PUT
    • 삭제 /files/{filename} -> DELETE
    • 대량 등록 /files -> POST

강의 출처

김영한의 스프링 로드맵 - 스프링 핵심원리 기본편

반응형