본문 바로가기
💾 공대 라이프/L4_L7 네트워크

HTTP 웹의 기초 / MIME / URL / URI / HTTP 1.0 / HTTP 1.1 / HTTP 2.0

by kuve 2023. 1. 19.
반응형

HTTP(Hypertext Transfer Protocol) 

- 웹브라우저, 서버, 웹 애플리케이션 등의 인터넷 공용어 

- JPEG 이미지, HTML 페이지, 텍스트 파일, MPEG 동영상, WAV 음성 파일 등 전 세계의 웹서버로부터 이 대량의 정보를 처리하기 위해 사용되는 프로토콜

- HTTP 기저의 통신 특성은 TCP 네트워크 전송 특성이 Base이다. 

 

MIME(Multipurpose Internet Mail)

 - 웹에서 사용되는 객체의 다양성을 MIME을 사용하여 구분지을 수 있는 데이터 포맷 라벨. 

 - MIME은 본래 멀티미디어 이메일을 위해 개발되었지만, 데이터 객체의 구분이 필요한 HTTP 등의 여러 프로토콜에서 재사용된다.

 - MIME 타입은 주 타입과 부 타입으로 구분되어지며, '/'을 사용하여 구분한다. 

    eg) text/html(HTML로 작성된 텍스트 문서), image/jpeg(JPEG 이미지)

 

멀티 파트형 MIME 타입 구조 

 - MIME multipart 메시지는 'Content-type' 헤더에 boundary 파라미터를 포함한다.  

 - Boundary는 다음과 같이 각 메시지 파트를 구분하는 역할을 한다. 

 

 

URI와 URL에 대한 소개 

URI(Uniform Resource Identifier)

 - 웹 서버 리소스 대한 고유 식별자. 

    eg) https://www.naver.com/temp/special.gif 

 

URL(Uniform Resource Locator)

  - 웹 서버의 리소스에 대한 구체적인 위치를 나타낸다.

         https://news.naver.com/main/main.naver?mode=LSD&mid=shm&sid1=103 

  - 현재 사용하고 있는 대부분의 URI는 URL이다. 

 

 

HTTP 버전별 간략 소개 

HTTP/1.0 

 - 1991년 프로토타입 HTTP/0.9 이후 WWW(World Wide Web)이 활성화 되면서 널리 퍼지게 되었다. 

 - 멀티미디어 컨텐츠에 대한 MIME, HTTP 헤더, 버전 번호, 추가 메서드 등이 추가됨 

 

HTTP/1.1 

 - 더욱 복잡해진 웹 환경을 지원하기 위해 개발되었다. 

 - HTTP 설계의 성능 최적화,  HTTP 1.0에서 가진 버그 수정/제거

 - HTTP/1.0+ 의 Keep-alive 커넥션에 대한 개선 등 

 

HTTP/2.0 

 - HTTP/1.1이 가진 성능 문제를 개선하기 위해 설계됨 

 - 구글에서 개발한 SPDY 프로토콜을 기반으로 설계됨 

 - 구글의 SPDY는 웹 페이지의 로딩 시간을 줄이기 위한 목적으로 설계됨. 

    : 헤더를 압축하여 대역폭을 절약
    : 하나의 TCP 커넥션에 여러 요청을 동시에 전송 

    : 서버가 클라이언트의 요청을 기다리지 않고 능동적으로 푸쉬 

 

 

다음 포스팅에서는 TCP 커넥션 관리와 성능 최적화와 관련된 내용으로 이어집니다. 

https://kuveminton.tistory.com/49

 

HTTP 특징 알아보기 / HTTP TCP 커넥션 관리 / HTTP TCP 성능 지연 및 최적화

HTTP의 지연은 TCP 통신을 하면서 발생하는 네트워크 지연으로 대부분 발생한다. HTTP와 TCP의 상관 관계는 아래의 그림으로 대체하며 자세한 설명은 생략. (이 부분은 추후 포스팅 예정) TCP 성능 저

kuveminton.tistory.com

 

 

 

반응형

댓글