본문 바로가기
ComputerScience/Network

HTTP 기본 개념

by whitele 2021. 6. 21.
반응형

HTTP

 http는 HTML 문서를 통신하기 위한 프로토콜이다. OSI 7 layer주 응용계층에 해당한다. http상에서 문서를 전송하는 쪽이 서버가 되고 받는 쪽이 클라이언트가 된다. http 통신은 기본적으로 리퀘스트와 리스폰스로 이루어져 있다. 리퀘스트가 없다면 리스폰스도 없다. http는 상태가 유지되지 않아 이전 통신 내용들을 기억하지 못한다. 하지만 로그인 유지 세션 상태 유지를 위해 쿠키라는 기술을 도입하여 이를 유지한다.

HTTP 메소드

GET

 Get 메서드는 해당 URI의 리소스를 가져오는 메서드이다.

POST

 엔티티를 전송하기 위해 사용된다.

HEAD

 바디는 없고 메시지 헤더만 받기 위해 사용하는 메서드

OPTIONS

 해당 URI가 제공하는 메서드를 조사하기 위해 사용

 

HTTP 메시지

http의 하나의 프레임을 http 메시지라고 한다. 리스폰스 리퀘스트의 메시지는 메시지 헤더, 메시지 바디와 이를 구분하는 CRLF로 구현되어있다. CRLF는 개행 문자이며 윈도에서 이것을 사용하며 옛 타자기에 흔적이다.

Request

 리퀘스트 라인 : 리퀘스트 헤더의 맨 윗줄 라인이며 메서드와 URI, http 버전이 포함되어 있다.

Response

 상태 라인: 리스폰스 헤더의 맨 윗줄 라인이며 리스폰스 결과를 나타내는 상태 코드와, 버전이 포함되어 있다.

 

HTTP 전송

 http 데이터를 전송할 때 인코딩을 하여 전송을 한다. 그대로 데이터를 보내기보다 압축, 인코딩, 분할 전송을 통하여 보다 효율적으로 전송한다.

콘텐츠 코딩

 용량을 줄이기 위해 zip 등으로 압축 후 보낸다. 엔티티에 적용하여 엔티티 정보는 유지한 채 압축한다.

청크 전송

 용량이 큰 데이터는 효율적으로 보내기 위해 오버헤드를 감안하더라도 (청크) 분할하여 전송한다.

레인지 리퀘스트

 대용량의 데이터를 보내기 위해 나눠서 보낸다. 범위를 지정하여 다운로드한다. 기존에는 다운로드가 끊기면 처음부터 다시 받아야 했지만 레인지를 지정하면 해당 부분부터 받으면 된다.

728x90
반응형

댓글