클라이언트에서 서버로 데이터 전송
GET메서드에서는 주로 쿼리파라미터를 통한 데이터 전송이 이루어지고, 주로 정렬필터(검색어)가 전달된다.
그리고 POST,PUT,PATCH와 같은 메서드는 메세지 바디를 통해서 데이터 전송을 한다.
정적 데이터 조회
정적 데이터는 주로 GET 메서드를 사용하고, 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능하다.
동적 데이터 조회
주로 검색어, 정렬필터 등 조회 결과에 대한 조건에 주로 사용된다.
HTML Form 데이터 전송
참고로 HTMLFORM 전송은 GET와 POST만 지원한다.
이렇게 HTML FORM 형식으로도 전송할 수 있는데 이 때 브라우저에서 HTTP 메세지를 위와 같이 생성한다.
전송 데이터를 url encoding 처리하고, form 내용을 메시지 바디를 통해서 전송한다.(key = value 쿼리 파라미터 형식)
만약 GET이라면 위와 같이 쿼리문으로 HTTP 메시지가 생성되지만, 리소스가 변경되는 곳에는 GET 메서드를 사용하면 안된다.
따라서 특정 조건에 맞는 리소스를 가져올 때만 사용해야한다.
multipart/form-data
이건 파일 업로드 같은 바이너리 데이터 전송 시 사용된다.
다른 종류의 여러 파일과 폼의 내용을 함께 전속 가능하다
HTTP API 설계 예시
보통 이와 같이 API를 설계한다.
여기서 중요한 것은 회원 등록을 할 때는 리소스의 URI를 모른다
따라서 서버가 새로 등록된 리소스 URI를 생성해준다.
컬랙선이란? 서버가 관리하는 리소스 디렉토리
위 설계를 보면 파일 등록에 POST가 아닌 PUT를 쓴다.
이는 클라이언트가 리소스 URI를 알고 있고 직접 지정한다는 것을 의미한다.
스토어란? 클라이언트가 관리하는 리소스 저장소이다.
HTML FORM 사용
HTML FORM은 GET, POST만 지원한다.
따라서 /new /edit /delete와 같은 컨트롤 URI를 사용한다.
실무에서는 서버가 URI를 지정하는 컬렉션 방식을 주로 사용한다.
그리고 컬렉션, 스토어 등으로 해결하기 어려운 추가 프로세스가 발생하면 동사를 직접 사용하는 컨트롤러, 컨트롤 URI를 사용한다.
출처
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard
모든 개발자를 위한 HTTP 웹 기본 지식 강의 | 김영한 - 인프런
김영한 | , [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 로드맵을 먼저 확인해주세요. (바
www.inflearn.com
'CSE > 네트워크' 카테고리의 다른 글
[네트워크] HTTP 헤더 - 일반헤더 (0) | 2025.03.28 |
---|---|
[네트워크] HTTP 상태코드 (1) | 2025.03.28 |
[네트워크] HTTP 메서드 (3) | 2025.03.27 |
[네트워크] HTTP 기본 (1) | 2025.03.25 |
[네트워크] URI와 웹 브라우저 요청 흐름 (4) | 2025.03.18 |