네트워크

x-www-form-urlencoded와 json

midcon 2023. 9. 21. 16:25

x-www-form-urlencoded와 json

x-www-form-urlencoded 와 json 는 content-type 의 한 종류이다.

여기서 content-type 이란 HTTP 요청 데이터를 전송할 때 헤더에 담기는 형식이다. 

테스트코드나 postman 등을 사용하여 보낸 요청을 확인할 때 content-type 을 설정한다.

주로 사용하는 2가지인 x-www-form-urlencoded와 json의 차이를 간단하게 살펴보자.

 

1. application/x-www-form-urlencoded

key1=value1&key2=value2&key3=value3&....

 

위 처럼 key = value 형식을 '&' 으로 구분지어 데이터를 전달해주는 형식이다.

전에는 이걸 주로 사용했지만 전송하는 데이터가 복잡해지면서 도메인 데이터를 명확하게 표현하는데 한계가 있다.

따라서 요즘엔 JSON 을 많이 사용한다.

 

2. application/json

{
     "key1" : "value1",
     "key2" : "value2",
     "data" : {
                   "key3" : "value3"
                  }
}

 

위 처럼 데이터를 전달하는 형식이다.

x-www-form-urlencoded 형식에서는 data 같은 새로운 객체의 데이터를 따로 구분지어 표시해주기 힘들지만

JSON 형식에서는 온전히 표현해줄 수 있기 때문에 최근에는 JSON 형식을 주로 사용한다.