본문 바로가기

Network

[Network] Param vs Query vs Body

728x90

Param vs Query vs Body

Request 객체는 API를 컨트롤하기 위한 메소드로 위의 세가지를 담고 있다.

 

Param

  • 주소에 포함된 변수를 담는다.
  • 서버에서 Path Variable 로 칭한다.
  • 특정한 리소스를 지정한다. (다른 리소스)

 

Query

 

Body

  • XML, JSON, Multi Form 등의 데이터를 담는다. 당연히 주소에서 확인할 수 없다.
  • 하지만 크롬 개발자 도구, Fiddler와 같은 툴로 요청 내용을 확인할 수 있다. 민감한 데이터의 경우 반드시 암호화해 전송해야 한다.

 

🤔 언제, 무엇을 사용해야 하는가?
param vs query
- resource를 식별해야하는 상황에서는 Path Variable가 더 적합하다.
- 정렬이나 필터링을 해야하는 상황에서는 Query Parameter가 더 적합하다.

query string(query/parameter) vs body
- body을 사용할 때 :
직렬화 된 이진 데이터와 같이 값이 사람이 읽을 수 없는 경우
매우 많은 수의 인수가있을 때(일부 웹 서버에는 URI 길이에 제한이 있다.) body에는 제한이 없음

- query string을 사용할 때 :
인수가 디버깅하는 동안보고 싶을 때 ex) curl
여러 웹 서비스에서 인수가 공통적인 경우
다음과 같은 다른 콘텐츠 유형을 이미 보내고있는 경우
ㄴapplication/octet-stream

 

 

'Network' 카테고리의 다른 글

[네트워크] HTTP 상태코드  (0) 2022.09.15
HTTP 메서드 활용  (2) 2022.09.06
HTTP 메서드  (0) 2022.08.30
HTTP 기본  (1) 2022.08.23
URL와 웹 브라우저 요청 흐름  (0) 2022.08.22