Network
여러대의 컴퓨터 또는 장비가 서로 연결되어서 정보를 주고 받을 수 있게 도와주는 기술
- 컴퓨터, 라우터, 스위치, 허브 등의 장비들이 각각의 역할을 수행하여 정보를 주고 받음
- 서로 정보를 주고 받기 위해서는 IP 주소, 서브넷 마스크, 게이트웨이 등의 정보를 설정하고 네트워크 프로토콜을 이용하여 통신함
Client와 Server
- Server: 서비스를 제공하는 컴퓨터
- Client: 서비스를 제공받는 컴퓨터
- 사용자는 브라우저를 이용하여 서버에 정보를 요청하고 응답을 받음
- IP 주소: 컴퓨터를 식별하는데 사용되는 고유한 주소값
- 사용자의 요청이 해당 서버에 정확하게 도달할 수 있게 제공되는 정보
- 네트워크상에서의 데이터 송/수신은 이 주소를 기준으로 이루어짐
Web Server
인터넷을 통해 HTTP를 이용하여 웹상의 클라이언트의 요청을 응답해주는 통신을 하는 일종의 컴퓨터
웹 서버의 기본 동작 원리
- 브라우저를 통해 HTTP Request로 웹사이트를 웹서버에 요청
- 웹서버는 요청을 승인하고 HTTP Response를 통해 웹사이트 데이터를 브라우저에 전송
- 브라우저는 서버에서 받아온 데이터를 이용해 웹사이트를 브라우저에 그려냄
Apache Tomcat
Web Server
- Web Server는 브라우저에서 URL을 입력하여 어떠한 페이지를 요청했을 때 HTTP의 요청을 받아들여 HTML 문서와 같은 정적인 콘텐츠를 사용자에게 전달해주는 역할을 하는 것
- 웹 서버의 역할
- 정적인 콘텐츠 즉, 이미 완성이 되어있는 HTML과 같은 문서를 브라우저로 전달
- 브라우저로부터 ‘로그인하여 MyPage를 요청’과 같은 동적인 요청이 들어왔을 때 웹 서버 자체적으로 처리하기 어렵기 때문에 해당 요청을 WAS에 전달
- 예시: Apache, Nginx 등
Web Application Server(WAS)
- WAS는 웹 서버와 똑같이 HTTP 기반으로 동작
- 웹 서버에서 할 수 있는 기능 대부분을 WAS에서도 처리 가능
- WAS를 사용하면 로그인, 회원가입을 처리하거나 게시물을 조회하거나 정렬하는 등의 다양한 로직들을 수행하는 프로그램을 동작시킬 수 있음
- 예시: Tomcat, JBoss 등
Apache Tomcat
- Tomcat: 동적인 처리를 할 수 있는 웹 서버를 만들기 위한 웹 컨테이너
- Apache Tomcat: Apache와 Tomcat이 합쳐진 형태로 정적인 데이터 처리와 동적인 데이터 처리를 효율적으로 해줄 수 있음!