본문 바로가기
자바웹프로그래밍/HTTP

[#HTTP정리] HTTP는 무엇인가(근본적인)? - 1

by 디찌s 2022. 2. 19.
728x90
반응형

HTTP (HyperText Transfer Protocol)

텍스트 기반의 통신 규약이며 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다.  

HTTP는 TCP위의 계층이며, HTTP는 자신의 메세지를 전송하기 위해 TCP를 이용한다.

 

 

네트워크 프로토콜 스택

HTTP 애플리케이션 계층
TCP 전송 계층
IP 네트워크 계층
네트워크를 위한 링크 인터페이스 데이터 링크 계층
물리적인 네트워크 하드웨어 물리 계층

 #<HTTP> 연결전에 TCP/IP Connection을 먼저 맺어야한다.

 

 

★ 웹브라우저 동작 방식

  1. 웹 브라우저는 서버의 URL에서 호스트 명을 추출한다.
  2. 웹 브라우저는 서버의 호스트 명을 IP로 변환한다.
  3. 웹 브라우저는 URL에서 포트번호(있다면) 추출한다.
  4. 웹 브라우저는 웹서버와 TCP 커넥션을 맺는다.
  5. 웹 브라우저는 서버에 HTTP 요청을 보낸다.
  6. 서버는 웹 브라우저에 HTTP응답을 돌려준다.
  7. 서버 커넥션이 닫히면 웹 브라우저는 문서를 보여준다.

 

※ HTTP 번외 내용 

     -  HTTP는 TCP/IP를 사용하며 이진 형식이 아닌 문자열 기반이기에 TELNET등으로 웹서버와 직접 대화가 가능하다.

 

★ 웹 구성요소

  1. 프락시(Proxy) - 클라이언트와 서버사이에 위치한 HTTP 중개자
  2. 캐시 - 많이 찾는 웹페이지를 클라이언트 가까이에 보관하는 HTTP 창고
  3. 게이트웨이 - 다른 애플리케이션과 연결된 특별한 웹서버
  4. 터널 - 단순히 HTTP 통신을 전달하기만 하는 특별한 프록시
  5. 에이전트 - 자동화된 HTTP 요청을 만드는 준지능적 웹 클라이언트

 

 

 

☞ 프락시(Proxy)

 

 

☞ 캐시

☞ 게이트 웨이

- 주로 HTTP 트래픽을 다른 프로토콜로 변환하기 위해 사용된다

 

 

☞ 터널

 

- 두 커넥션 사이에서 raw 데이터를 열어보지 않고 그대로 전달해주는 HTTP 애플리케이션 이다.

 

☞ 에이전트

- 사용자를 위해 HTTP 요청을 만들어 주는 프로그램이다.

728x90
반응형

댓글