• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

201 응답

24.04.04 14:59 작성 조회수 77

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
201 상태코드 부분에서 질문이 있습니다.

요청이 성공해서 새로운 리소스가 생성된 경우 201 상태코드와 생성된 리소스에 대한 정보를 body에 넣고 Location에 리소스의 위치를 넣어서 보낸다고 하셨는데 응답의 body와 Location 정보가 꼭 필요한 것인지 궁금합니다.

 

클라이언트는 리소스를 생성해야되므로 body에 내용이 필수적으로 필요하지만 서버의 응답의 경우 201 상태코드만 보내어 리소스 생성이 정상적으로 이루어졌는지만 클라이언트에게 알려주면 되는것 아닌가요?

서버에서 응답으로 보낸 Location과 body의 데이터가 클라이언트에서 어떤식으로 사용되기를 바래서 이러한 데이터를 함께 보내는지 궁금합니다.

답변 2

·

답변을 작성해보세요.

0

David님의 프로필

David

2024.04.06

안녕하세요. xk130님, 공식 서포터즈 David입니다.

다음과 같은 경우가 있습니다.

폼을 통해 글을 작성하여 제출하면, 작성된 글의 페이지로 이동하는 동작이 요구될 때가 있습니다.

이때, 201 Created에서 넘어온 Location 헤더의 값(리소스 경로)을 통해 바로 작성된 글의 페이지로 이동할 수 있게됩니다.

이 경우에서는 Body가 없어도 괜찮습니다.

감사합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.04.04

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

xk130님의 질문과 관련하여, “모든 개발자를 위한 HTTP 웹 기본 지식” 강의의 201 Created에 대한 질문에 대한 선생님 답변이 유사한 내용을 다루고 있습니다.

201 Created에 관한 질문

질문자는 “회원가입 기능 구현 시, 서버의 응답으로 201 Created를 보내면서 새로 생성된 리소스의 URL을 담게 되는데, 이 URL을 통해 외부에서 새로 생성된 리소스에 직접 접근이 가능한가?“라고 물었습니다. 이에, 강의 선생님이 “외부에서 접근은 보안 정책을 별도로 부여해야 한다. 예를 들어, 방화벽으로 막거나 인증을 도입해야 한다”고 답변하셨습니다.

이 답변은 클라이언트에 의해 생성된 새로운 리소스에 대한 서버의 응답이 단순히 201 상태 코드로 표기되는 것뿐만 아니라, 해당 리소스의 위치(URL)를 통해 클라이언트 또는 다른 사용자가 이 리소스에 접근할 수 있는지 여부와 그에 따른 보안 정책의 중요성을 강조합니다.

질문에서 언급된 ‘응답의 body와 Location 정보가 꼭 필요한지’라는 부분에 대해 서버는 201 응답 시 ‘Location’ 헤더를 통해 새로 생성된 리소스의 URL을 제공할 수 있으나, 이를 어떻게 활용할지는 클라이언트의 목적과 구현 방식에 따라 달라집니다. 예를 들어, 새로 생성된 리소스로 클라이언트를 바로 안내하려는 경우 Location 헤더를 활용할 수 있습니다.

응답의 body에 관해서는 서버가 클라이언트로부터의 요청 처리 결과를 명시적으로 전달하기 위해 사용할 수 있습니다. 이 정보를 클라이언트에서 후속 처리나 사용자에게 정보를 제공하기 위해 활용할 수 있습니다.

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