Skip to content

Latest commit

 

History

History
105 lines (56 loc) · 2.72 KB

11.md

File metadata and controls

105 lines (56 loc) · 2.72 KB

11. 7계층 프로토콜 HTTP

HTTP 프로토콜

웹을 만드는 기술들

  • HTTP, HTTPS, HTML, CSS, Javascript, ASP/JSP, PHP, DB ...
  • Python, Spring, JQuery, Ajax...

HTTP 프로토콜의 특징

  • HyperText Transfer Protocol
  • www에서 쓰이는 핵심 프로토콜로 문서의 전송을 위해 쓰이며, 오늘날 거의 모든 웹 앱에서 사용되고 있다
  • Request/Response 동작에 기반하여 서비스 제공

HTTP 1.0

  • 연결 수립, 동작, 연결 해제의 단순함이 특징
  • 하나의 URL은 하나의 TCP 연결
  • 단점 : 단순 동작이 여러번 반복되어 부하 발생
    • 데이터 여러개 받으려면 연결-데이터-해제 를 여러번 했어야함

HTTP 1.1

  • HTTP 1.0과 호환
  • Multiple Request 처리가 가능하여 연속적인 응답 제공
  • 서버가 갖는 하나의 IP 주소와 다수의 Web Site 연결 가능
  • 캐시 사용
  • 데이터를 압축해서 전달 가능

HTTP 요청 프로토콜

HTTP 요청 프로토콜의 구조

  • 요청하는 방식 정의
  • 클라이언트의 정보를 담고 있음

  • Request Line : {요청타입} {URI} {HTTP버전}

HTTP 메소드

HTTP Message Format 형식 (Request Message & Response Message) : 네이버 블로그

HTTP 응답 프로토콜

HTTP 응답 프로토콜 구조

  • Status Line

  • Headers

  • 공백

  • Body

  • Request Line : {HTTP버전} {상태코드} {상태문구}

상태코드

  • 200 OK 정상
  • 400번대 클라이언트 잘못
  • 403 Forbidden : 클라이언트가 권한이 없는 페이지 요청
  • 404 Not Found : 클라이언트가 서버에 없는 페이지 요청
  • 500번대 서버 잘못
  • 500 Internel erver Error : 서버의 일부가 멈췄거나 설정 오류 발생
  • 503 Service Unavailable : 최대 세션 수 초과

HTTP 헤더 포맷

HTTP 헤더 구조

일반 헤더(일반적인 정보)

  • Content-Length : 메시지 바디 길이
  • Content-Type : 메시지 바디에 들어있는 컨텐츠 종류

요청 헤더(클라이언트 정보)

  • Cookie : 서버로부터 받은 쿠키를 다시 서버에게 보내주는 역할
  • Host : 필수, 요청된 URL에 나타난 호스트명을 상세하게 표시
  • User-Agent : Client Program에 대한 식별 가능 정보를 제공

응답 헤더(서버 정보)

  • Server : 사용하고 있는 웹서버의 SW에 대한 정보
  • Set-Cookie : 쿠키를 생성하고 브라우저에 보낼때 사용