강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

rlgus4531님의 프로필 이미지
rlgus4531

작성한 질문수

모든 개발자를 위한 HTTP 웹 기본 지식

클라이언트에서 서버로 데이터 전송

html from, http api

작성

·

28

0

html form으로 post하면 서버가 받게 되는 http 메시지의 형식이

post /save http/1.1

host: localhost:8080

Content-Type: application/x-www-form-urlencoded

이고

 

서버끼리의 값을 주고 받을 때의 http 메시지 형식이

post /members http/1.1

Content-Type: application/json

{

"username": "young",

"age": 20

}

차이가 이렇게 되는건가요?

즉 프론트에서 백엔드로의 값 전달 형식이 1번째이고

백엔드에서 백엔드로의 값 전달 형식이 2번째인건가요?

답변 2

0

안녕하세요. rlgus4531님, 공식 서포터즈 David입니다. AI 답변에 더하여 답변 드립니다.

HTML Form으로 전송시 사용되는 기본 값은 application/x-www-form-urlencoded입니다. 다른 타입으로도 지정 가능합니다.

 

application/json 유형의 경우 주로 클라이언트-서버, 서버-서버 간 사용되는 데이터 형식입니다. 이 데이터 형식은 이전에는 주로 XML이 사용되었습니다. 반드시 application/json일 필요는 없습니다.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. rlgus4531님.

답변을 드리자면, 두 가지 경우의 HTTP 메시지 형식은 HTTP의 다양한 사용 사례를 보여주는 좋은 예입니다. 다음의 포인트로 정리할 수 있습니다:

  1. HTML Form과 application/x-www-form-urlencoded:

    • 일반적으로 웹 브라우저에서 사용자가 HTML 폼을 제출할 때, 데이터는 application/x-www-form-urlencoded 형식으로 서버에 전송됩니다. 이 형식은 폼 데이터가 URL-인코딩되어 key-value 쌍으로 전송합니다. 예를 들어, name=John&age=30과 같은 형식이 됩니다.
    • 이 방식은 주로 프론트엔드에서 백엔드로 데이터를 전송하는 데 많이 사용됩니다. 사용자는 브라우저를 통해 폼에 데이터를 입력하고, 브라우저는 데이터를 URL 인코딩하여 서버로 전달합니다.
  2. HTTP API와 application/json:

    • 서버간 통신이나 클라이언트가 서버에 JSON 형식의 데이터를 보낼 때 application/json 형식을 사용합니다. 이 방식은 RESTful API 설계에서 매우 일반적입니다.
    • JSON은 구조적 데이터 전송에 유리하기 때문에 서버 간의 데이터 전송이나 복잡한 데이터 구조를 전달하는 데 적합합니다.

따라서, 말씀하신 대로 일반적으로 첫 번째 형식은 프론트엔드에서 백엔드로의 값 전달 시 자주 사용되고, 두 번째 형식은 백엔드에서 백엔드 혹은 클라이언트-서버 간에 JSON 형식의 데이터를 주고받을 때 활용됩니다.

관련해 더 궁금한 점이 있으면 언제든지 문의하시면 됩니다. 또한, HTTP의 다양한 Content-Type 사용 사례에 대한 기존의 논의를 참고하실 수도 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

rlgus4531님의 프로필 이미지
rlgus4531

작성한 질문수

질문하기