HTTP

  • HyperText Transfer Protocol
  • HTTP는 상태를 저장하지 않는다 (Stateless 프로토콜)
    • 클라이언트와 서버 간의 메세지 교환 시 사용되는 규칙
    • 브라우저(클라이언트)에 의해 전송되는 메세지를 요청(Request), 서버에서 응답으로 전송되는 메세지를 응답(Response)라고 한다.

HTTP 메세지

  • 요청 메세지
    • 클라이언트(브라우저)가 서버로 보내는 메세지
    • 요청 메세지 = Request Header + 빈줄 + Request Body
    • 요청 메세지는 브라우저->검사->network 탭에서 확인 가능하다 image
    • Body : 바디부에는 서버로 전달할 데이터가 포함되어 있다.
    • Request Line : 요청방식(GET / POST), URL, 프로토콜 방식(http/1.1)
    • Request Headers : 요청메세지에 관련된 부가적인 정보가 들어가 있다. (브라우저의 종류, 브라우저의 기본 언어 설정, 브라우저가 지원하는 컨텐츠의 종류 등등)

  • 응답 메세지
    • 서버가 클라이언트로 보내는 메세지
    • 응답라인은 프로토콜 버전(http/1.1), http 응답 코드(숫자), 응답코드(상태) 메세지(ex)OK) 구성된다.
    • 응답라인, 응답헤드 정보, 바디부로 구분된다. image

요청방식의 차이(Get/Post)

  • GET
    • 요청방식이 GET일 때 바디부는 항상 비어져있다.
    • GET방식은 주소창에 URL을 직접 입력하는 경우, 링크를 클릭할 때와 같은 경우를 말한다.
  • POST
    • POST 방식은 입력폼에 값을 입력하는 경우, 로그인하는 경우, 첨부파일을 업로드 하는 경우를 말한다.

응답 코드의 구분

  • 100 : 요청 처리 중
  • 200 : 요청 처리 성공적으로 완료
  • 300 : 요청이 다른 곳으로 이전됨, 재요청할 URL을 응답으로 보냄
  • 400 : 클라이언트의 요청이 잘못되었음
  • 500 : 서버 에러(요청 처리 중 오류 발생)