x-www-form-urlencoded와 application/json의 차이 (HTTP Content-Type)

바이너리·2022년 7월 23일
2

postman에서 http test를 하다보면 body type을 선택할 수 있습니다
이는 Header의 Content-Type과 연결된 것으로, 주로 사용하는 x-www-form-urlencoded와 json의 차이를 간단하게 살펴보려 합니다

x-www-form-urlencoded는 application/x-www-form-urlencoded를, raw/json은 application/json을 의미합니다

application/x-www-form-urlencoded

html form submit에서 주로 사용하는 타입이며, 기본적인 Content-Type으로 불립니다

  • application/x-www-form-urlencoded
    • 모든 문자들은 서버로 보내기 전 인코딩됩니다
  • multipart/form-data
    • 모든 문자를 인코딩하지 않습니다
    • <form>이 파일이나 이미지를 전송할 때 주로 사용합니다

해당 타입의 인코딩 규칙은 다음과 같습니다 👀

  1. &은 입력을 분할합니다
  2. 모든 입력은 튜플인 이름-값으로 이루어집니다
  3. =가 포함된 경우 name=value를 나타냅니다
  4. white space는 +를 나타냅니다

인코딩이 필요하기 때문에 크기가 큰 데이터는 해당 타입으로 보내기 적합하지 않습니다

?name=Binary+Yun&age=25

따라서 해당 타입으로 요청을 보내면 url 뒤에 위와 같은 형태로 전송됩니다

application/json

json type으로 사용하는 Content-Type입니다
json의 특징과 동일하게, 배열 및 복잡한 데이터 구조를 간결하게 표현하기에 좋습니다

{"name": "Binary Yun", "age": 25}

해당 타입으로 요청을 보내면 json format 그대로 위와 같은 형태로 전송됩니다

참고

profile
01101001011010100110100101101110

0개의 댓글