4월 22일 - Http

Yullgiii·2024년 4월 22일
0
post-thumbnail

HTTP 응답 코드

HTTP 응답 코드는 서버가 클라이언트의 HTTP 요청에 대해 반환하는 상태 코드로, 요청 처리 결과를 나타낸다. 이 코드들은 요청의 성공 여부, 추가 조치의 필요성, 발생한 오류 유형 등을 구분하는 데 사용된다.

HTTP 응답 코드 범주

  • 1xx (정보 응답): 요청을 받았으며 프로세스를 계속 진행한다.
  • 2xx (성공): 요청이 성공적으로 받아들여지고 처리되었다.
  • 3xx (리다이렉션): 요청 완료를 위해 추가 조치가 필요하다.
  • 4xx (클라이언트 오류): 요청의 문제로 인해 처리할 수 없다.
  • 5xx (서버 오류): 서버가 요청을 처리할 수 없다.

401 (Unauthorized) vs 403 (Forbidden)

  • 401 (Unauthorized)

    • 이 응답 코드는 요청이 서버에 의해 거부되었으나, 올바른 자격 증명을 제공하면 요청이 수락될 수 있음을 의미한다.
    • 주로 인증이 필요한 리소스에 대한 접근 시 사용되며, WWW-Authenticate 헤더를 통해 인증 방법을 클라이언트에 제시한다.
  • 403 (Forbidden)

    • 서버가 요청을 이해했지만, 접근 권한이 없어 요청을 거부하는 상태를 의미한다.
    • 인증 자체는 성공했을지라도, 사용자가 요청한 리소스에 대한 권한이 없을 경우 반환된다.

200 (OK) vs 201 (Created)

  • 200 (OK)

    • 요청이 성공적으로 처리되었음을 나타낸다. 일반적으로 데이터 검색 요청(GET)에 대한 정상적인 응답으로 사용된다.
    • 응답 본문에는 요청된 리소스의 데이터가 포함된다.
  • 201 (Created)

    • 요청이 성공적으로 처리되어 새로운 리소스가 생성되었음을 나타낸다.
    • 주로 POST 또는 PUT 요청을 통해 새 리소스가 생성될 때 사용되며, Location 헤더에는 생성된 리소스의 URI가 포함될 수 있다.

사용자 정의 응답 코드의 사용

  • 사용자 정의 응답 코드(예: 285)를 정의하여 사용할 수는 있지만, 이는 권장되지 않는다.
    • 사용자 정의 코드는 HTTP 표준과의 호환성 문제를 일으킬 수 있으며, 외부 시스템과의 상호 운용성에 문제를 발생시킬 수 있다.
    • 표준 응답 코드를 사용하고, 필요한 경우 응답 본문에서 추가 정보를 제공하는 것이 좋다.
profile
개발이란 무엇인가..를 공부하는 거북이의 성장일기 🐢

0개의 댓글