HTTP   HyperText Transfer Protocol  

(2023-10-02)

http, 포트 80


1. HTTP 상에서 웹 서버웹브라우저 상호 간의 데이터 전송을 위한 응용계층 프로토콜
     - 처음에는, WWW 상의 하이퍼텍스트 형태의 문서를 전달하는데 주로 이용
     - 현재에는, 이미지,비디오,오디오 등 거의 모든 형식의 데이터 전송 가능


2. HTTP의 특징

  ㅇ 요청 및 응답 메세지로 대응되는 구조
     - 동작형태가 클라이언트/서버 모델로 동작

         메세지 교환 형태의 프로토콜 
     - 클라이언트서버 간에 `HTTP 메세지`를 주고받으며 통신
        . SMTP 전자메일 프로토콜과 유사  ☞ 메일 메세지 포멧, MIME 참조

     * [참고]  HTTP 메세지의 구성 형태 
        . HTTP의 응답 및 요청 메세지 구성   ☞ HTTP 메세지(HTTP Message) 참조
           .. HTTP 요청 메세지 (HTTP 요청 메소드 : GET, POST, HEAD, PUT, CONNECT, LINK 등)
           .. HTTP 응답 메세지 (HTTP 응답 코드 : 1xx, 2xx, 3xx, 4xx, 5xx 등)
        . HTTP 메세지헤더HTTP 헤더 참조
           .. (헤더 종류 : 요청 헤더, 응답 헤더, 일반 헤더 등)
        . HTTP 메세지헤더 항목들의 구분 ☞ HTTP 헤더 항목 참조
           .. (헤더 항목 : Host, From, Cookie, Referer, User-Agent 등)

  ㅇ  트랜잭션 중심의 비연결성 프로토콜
     - 종단간 연결이 없음 (Connectionless) 
     - 이전의 상태를 유지하지 않음 (Stateless)

  ㅇ 수송계층 프로토콜 및 사용 포트 번호TCP, 포트번호, 잘알려진 포트번호 참조
     - 수송계층 프로토콜 : TCP  
     - 사용 포트 번호    : 80번


3. HTTP의 표준 / 역사 

  ※ ☞ HTTP 버전 (HTTP 표준) 참조
     - HTTP 0.9 : 차후 정식 버전과 구분하기 위해 HTTP/0.9로 불리움 (1990년경)
     - HTTP 1.0 : 유용한 초기 개념들 도입 (1996년) 
        . HTTP 헤더, HTTP 메서드, HTTP 응답 코드, 리다이렉트, 비지속 연결(non-persistent) 등
     - HTTP 1.1 : HTTP 1.0 으로부터 기능 향상
        . RFC 2068 (1997년) => RFC 2616 (1999년) => RFC 7230~7235  (1998년~)      
     - HTTP 2 : SPDY 기반 (2015)
     - HTTP 3 : HTTP 2 업그레이드 버전 (2020 ~)


4.  HTTP의 인증, 보안

  ㅇ HTTP 인증 방식
     - 자체 인증 방식 : Basic 인증 및 Digest 인증
     - 기타 인증 방식 : 별도의 인증 모듈을 사용하여 직접 구현 (복잡하지만 보안성 강화됨)

  ㅇ HTTP 보안 버전 : HTTPS (Secure Hypertext Transfer Protocol)
     - 도청, 통신 상대방 위장, 임의 내용 변경 등 방지
        . SSL/TLS 등 다른 프로토콜들을 조합시켜 통신 내용을 암호화시킴


5.  HTTP의 중계프록시
     - 역할 : 다른 사람을 대신하여 무엇인가를 하는 것 (중개자)
     - 위치 : 클라이언트서버 사이에 위치
     - 특징 : 동일 프로토콜로 연결
     - 용도 : 캐싱, 영역 내 특정 사이트 접근 방지, 엑세스 로그 획득 등
  ㅇ 게이트웨이
     - 역할 : 프록시 처럼 중계 역할을 하나, HTTP 프로토콜 이외 기능 수행 (프로토콜 변환 등)
     - 특징 : 서로다른 프로토콜 간을 변환해주며 연결
     - 참고 : CGI 등
  ㅇ 릴레이 : 단순 프록시 (단순 중계)

웹 구성
   1. 웹 브라우저   2. 웹 서버   3. 웹 페이지   4. HTTP   5. CGI   6. Apache 웹서버 설정  
HTTP
   1. HTTP   2. HTTP 메세지   3. HTTP 메소드   4. HTTP 상태코드   5. 프록시   6. 프록시 보안   7. HTTP 캐시   8. 쿠키   9. HTTPS   10. HTTP 표준  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"