본문 바로가기

안드로이드

Apache & Tomcat 및 HTTP, Socket

Apache

  Apahce는 원래 회사 이름이지만 Apache HTTP server(Web Server)를 칭하는 말로 주로 쓰인다. 사용자가 웹 서버에 HTML 파일을 요청하면, 요청을 받은 웹 서버는 클라이언트 컴퓨터에 HTML 파일을 제공하는 방식이다.  이때 사용되는 프로토콜이 HTTP 이다. 정적인 데이터를 처리하는 서버이다.

 

HTTP 통신

HTTP(Hyper Text Transfer Protocol)란 말 그대로 Hyper Text를 전송하기 위한 프로토콜이다. Hyper Text는 웹 문서를 구성하는 언어인 HTML을 의미한다.

 

( 출처 : https://dzone.com/articles/web-performance-101-http-headers )

  HTTP 통신은 평상시에는 연결이 되어 있지 않다. 따라서 클라이언트는 서버에 연결 요청을 하고 응답을 받고 연결이 종료되는 과정이 존재한다. 서버는 클라이언트가 현재 접속해 있는지 알 수 없다. 따라서 필요한 경우에만 서버로 접근하는 콘텐츠 위주의 데이터를 사용할 때 용이하다. 일반적으로 모바일 어플리케이션은 HTTP 통신을 주로 사용하며 비용 및 유지보수 방면에서 좋다. 또한 요청을 보내고 응답을 받을 때 정보를 패킷(packet)이라는 작은 조각으로 나누어 보내게 된다.

(출처 : https://cascadingmedia.com/insites/2015/03/http-2.html) 

Socket 통신

Server와 Client가 특정 port를 통해 실시간으로 양방향 통신을 하는 방식이다. HTTP 통신의 경우 client만 server로 요청을 보낼 수 있지만 socket 통신의 경우 server 또한 client로 요청을 보낼 수 있다. 주로 streaming이나 온라인 게임에 사용된다.

 

Apache Tomcat

 HTTP server와 다르게 동적인 데이터를 처리하는 서버로 생각하면 쉽다. 이러한 서버를 Web Application Server라고 하고, WAS라 부른다.