🍭
webserv
  • Webserv tutorials
  • 학습 | 웹(Web)
  • 학습 | 웹서버(Webserver)
  • 학습 | HTTP 개요
  • 학습 | 리퀘스트(Request)
  • 학습 | 리스펀스(Response)
  • 학습 | CGI
  • 학습 | RFC
  • 학습 | 소켓과 TCP 커넥션
  • 학습 | 서브젝트(Mandatory)
  • 실습 | 서버 프로그램
  • 실습 | 클라이언트 프로그램
  • 실습 | 통신 테스트
  • 실습 | telnet
  • 실습 | nginx
  • 설계 | 설계의 중요성
  • 설계 | 플로우차트
  • 설계 | 설정 파일
  • 설계 | 객체 설계
  • 설계 | 팀 코드 컨벤션
  • 설계 | 클래스 명세서
  • 설계 | 협업환경 구성
  • 구현 | 메인함수
  • 구현 | 서버생성
  • 구현 | Select
  • 구현 | 서버제어
  • 구현 | 요청 읽기
  • 구현 | 메소드 실행하기
  • 구현 | 응답 생성하기
  • 구현 | CGI 실행하기
  • 구현 | 응답 보내기
  • 구현 | 주요 메소드
  • 구현 | Libft
  • 구현 | 구현 테크닉 16
  • 구현 | 로그
  • 테스트 | Postman
  • 테스트 | Tester
  • 테스트 | 브라우저
  • 테스트 | Siege
  • 보너스 파트
  • 학습 레퍼런스
  • 튜토리얼을 끝내며
Powered by GitBook
On this page

Was this helpful?

학습 | 리스펀스(Response)

Previous학습 | 리퀘스트(Request)Next학습 | CGI

Last updated 4 years ago

Was this helpful?

응답은 요청과 형식이 크게 다르지 않습니다. 시작줄, 헤더 영역, 바디 영역의 구성은 같습니다. 다만 시작줄에서 프로토콜 버전이 앞에 오고, Path와 Method 대신에 Status code와 Status message가 옵니다. Status code와 message는 1:1로 대응되는 한 쌍이며, 메시지는 큰 의미가 없고 코드를 읽기 쉽게 문자로 기술한 것입니다.

응답 코드의 종류는 많지만, 100 단위로 의미가 있습니다. 200번대 코드는 성공을, 300번대 코드는 리다이렉션을, 400번대 코드는 클라이언트 이슈로 인한 에러, 500번대 코드는 서버 이슈로 인한 에러를 의미합니다. 상태 코드는 빠짐없이 학습하도록 합시다. 실제로 다 구현하지는 않더라도, 서버의 역할을 이해하고 이후 설계할 때 도움이 되니까요.

또 헤더 같은 경우에는 요청에만 쓰이는 헤더, 응답에만 쓰이는 헤더, 양쪽 모두 쓰이는 헤더, 특정 상태 코드와만 같이 쓰이는 헤더 등이 있습니다. 아래와 같이 성격에 따라 구분해서 정리해두도록 합시다.

프로젝트 초기 학습 단계에 제작했던 이미지들로, 저희가 최종적으로 이해한 내용이나 구현한 결과물과는 차이가 있습니다. 참고만 하세요.

HTTP 상태 코드 - HTTP | MDN
https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview
Logo