Skip to content

HTTP Response

kimahhh edited this page Jul 19, 2023 · 2 revisions

HTTP Response

HTTP 요청에 대한 서버의 응답

HTTP/1.1 200 OK
Date: Sun, 18 Oct 2009 08:56:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Sat, 20 Nov 2004 07:16:26 GMT
ETag: "10000000565a5-2c-3e94b66c2e680"
Accept-Ranges: bytes
Content-Length: 44
Connection: close
Content-Type: text/html
X-Pad: avoid browser bug

<html><body><h1>It works!</h1></body></html>

Status Line

  • HTTP version: 클라이언트가 사용한 HTTP 프로토콜의 버전
    • HTTP/1.1
    • HTTP/2.0
  • status code: 요청이 성공적인지 혹은 오류가 발생했는지를 나타내는 숫자
    • 200: 성공
    • 404: 요청한 리소스를 찾을 수 없음
    • 500: 서버 오류
  • status message: 상태 코드를 설명한 텍스트
    • 200 OK
    • 404 Not Found
    • 500 Internal Server Error

Headers

참조: https://developer.mozilla.org/ko/docs/Web/HTTP/Headers

  • 응답과 관련된 메타 데이터 제공
  1. 200 OK: HTTP 상태 코드와 상태 메시지
  2. Access-Control-Allow-Origin: **이 응답이 주어진 origin으로부터의 요청 코드와 공유될 수 있는지를 나타냄
  3. Connection: 현재의 전송이 완료된 후 네트워크 접속을 유지할지 말지 제어
  4. Content-Encoding: 미디어 타입을 압축하기 위해 사용
  5. Content-Length: 응답 본문의 길이(바이트 단위)
    • 클라이언트가 네트워크 연결을 언제 닫을지를 결정하는 데 도움
  6. Content-Type: 리소스의 MIME 타입을 나타냄
  7. Location: 클라이언트가 요청한 리소스가 다른 위치로 이동했을 경우, 이 새로운 위치(URL)를 지정하는 데 사용
    • 대개 3xx(리다이렉션) 상태 코드와 함께 사용
  8. Date: 메시지가 만들어진 날짜와 시간
  9. Etag: 리소스의 버전을 나타내는 식별자
  10. Keep-Alive: 송신자가 연결에 대한 타임아웃, 요청 최대 개수
  11. Last-Modified: 원본 서버가 리소스가 마지막으로 수정되었다고 생각하는 날짜와 시간
  12. Server: 요청을 처리하는 서버의 소프트웨어 정보
  13. Set-Cookie: 서버에서 사용자 브라우저에 쿠키를 전송하기 위해 사용
  14. Transfer-Encoding: 사용자에게 entity를 안전하게 전송하기 위해 사용하는 인코딩 형식 지정
  15. Vary: 요청 메시지의 메서드 및 URL을 제외하고 응답 내용에 영향을 준 부분 설명
  16. X-Backend-Server, X-Cache-Info, X-kuma-revision, x-frame-options: 사용자 정의 헤더
    • "X-" 접두사: 이 헤더가 비표준이라는 것을 나타냄

Body

  • 요청한 리소스의 실제 내용 혹은 에러 메시지
    • HTML
    • JSON
    • 이미지
    • 파일

HTTP Status Code

참조: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status

OK(200, "OK"),
CREATED(201, "Created"),
FOUND(302, "Found"),
NOT_MODIFIED(304, "Not Modified"),
UNAUTHORIZED(401, "Unauthorized"),
NOT_FOUND(404, "Not Found"),
INTERNAL_SERVER_ERROR(500, "Internal Server Error"),
SERVICE_UNAVAILABLE(503, "Service Unavailable");

MIME type

참조: https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types

Multipurpose Internet Mail Extensions

  • 미디어 타입과 서브 타입으로 구성
    • 미디어 타입: 파일이 어떤 일반적인 카테고리에 속하는지 (text, image, audio, video, application 등)
    • 서브 타입: 미디어 타입 내에서 구체적인 형식이 무엇인지 (미디어 타입이 text일 때, plain, html, css, javascript 등)
    • 예) text/html → text: 미디어 타입, html → 서브 타입
Clone this wiki locally