6. HTTP 응답 프로토콜의 개념, 구조, 상태 코드 (Status Code)

Yeppi's 개발 일기·2022년 5월 10일
0

Web

목록 보기
6/7
post-custom-banner

1. HTTP 응답 프로토콜 이란?

브라우저에 응답 프로토콜 전송

  • HTTP 요청 프로토콜로부터
    요청과 관련된 다양한 정보를 추출 + 요청을 처리

  • HTTP 응답 프로토콜을 생성하고
    처리 결과를 응답 프로토콜에 저장하여 브라우저로 전송


2. HTTP 응답 프로토콜 구조

👉status-line

  • HTTP 응답 프로토콜에서 가장 먼저

1) 프로토콜/버전


2) 상태 코드 Status Code

  • 응답의 상태를 나타내는 코드
  • 제일 중요

  • 200번대, 300번대, 400번대 가장 많이 사용

    의미내용
    1XX처리중- 처리가 계속 되고 있는 상태
    - 클라이언트는 요청을 계속 하거나 서버의 지시에 따라서 재요청
    2XX성공- 요청의 성공
    3XX리다이렉트- 다른 리소스로 리다이렉트
    - 해당 코드를 받았을 떄는 Response의 새로운 주소로 다시 요청
    4XX클라이언트 에러- 클라이언트의 요청에 에러가 있는 상태
    - 재전송 하여도 에러가 해결되지 않음
    5XX서버 에러- 서버 처리중 에러가 발생한 상태
    - 재전송 시, 에러가 해결 되었을 수도 있음

자주 사용하는 상태 코드

상태 코드의미
200정상적인 처리를 의미한다.
403브라우저가 요청한 파일에 접근할 수 없음을 의미한다.
404브라우저가 요청한 파일이 서버에 존재하지 않음을 의미한다.
405브라우저가 요청한 방식(Method)서버에서 지원하지 않음을 의미한다.
브라우저는 GET방식으로 요청했지만, 서버가 POST 방식만 처리 가능할 때(반대도 마찬가지)
500브라우저가 요청한 기능을 서버가 처리하는 과정에서 예외(Exception)이 발생했음을 의미한다.

200 → 성공
201 → 성공, 리소스 생성 성공

301 → 리다이렉트, 리소스가 다른 장소로 변경됨을 알림
303 → 리다이렉트, Client에서 자동으로 새로운 리소스로 요청 처리

400 → 요청 오류, 파라미터 에러
401 → 권한 없음(인증 실패)
404 → 리소스 없음(페이지 찾을 수 없음)

500 → 서버 내부 에러(서버 동작 처리 에러)
503 → 서비스 정지(점검 등)


3) 상태 메시지

  • 200,300번대 → okay
    400번대 → Notfound

  • 많이 중요하지 않음



👉message-header

  • 서버가 브라우저에게 응답으로 전송하는 문서의 정보가 설정

👉message-body

  • 브라우저가 요청한 실질적인 문서가 포함

  • 이 문서를 추출하여 사용자에게 결과 화면을 제공


🍑 전반적인 흐름 🍑

응답 프로토콜 전체 흐름

  • 응답 프로토콜은 서버가 만듦

  • 요청한 파일을 찾으면
    → message body 쪽에 세팅
    → 출력 스트림으로 자료를 뽑아내고
    → 브라우저에 뿌려줌

  • 입출력 스트림은 응답 프로토콜 바디와 연결

profile
imaginative and free developer. 백엔드 / UX / DATA / 기획에 관심있지만 고양이는 없는 예비 개발자👋
post-custom-banner

0개의 댓글