더북(TheBook)

4.3.1 url-form-encoded와 JSON의 차이점

url-form-encoded와 JSON 모두 장단점이 있다. 어떤 쪽을 선호하는지, 둘 중 하나를 이미 사용하는 환경에서 작업하는지, 기존 시스템에서 동작하는 새로운 애플리케이션이나 서비스를 만들어야 하는지 등에 따라 하나를 선택한다.

POST 요청을 보내는 예를 살펴보겠다.

POST /test HTTP/1.1
Host: foo.example
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

field1=value1&field2=value2

전달되는 값은 키와 값의 조합이며, 중간에 &를 사용해 구분한다.

application/x-www-form-urlencoded 요청을 보내는 POST curl의 예는 다음과 같다.

$ curl --location --request POST 'localhost:3030/questions' \
    --header 'Content-Type: application/x-www-form-urlencoded' \ 
    --data-urlencode 'id=1' \
    --data-urlencode 'title=First question' \
    --data-urlencode 'content=This is the question I had.'
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.