[Spring] 웹서버(Apache)와 Tomcat

strongmhk·2023년 7월 18일
0

Spring

목록 보기
18/25
post-thumbnail

📌포스팅에 앞서..

필자가 배운 내용을 정리하고자 함에 의의를 뒀으니 비유적인 표현이 많고 개념을 정의함에 있어서 정석적인 정의가 아님을 인식해주었으면한다.
피드백 절대환영!!!







📌웹서버(Apache)의 역할


스프링은 Apache라는 웹 서버를 내장하고 있다.
그렇다면 웹 서버란 무엇일까?
웹 서버에서 server의 어원은 serve(제공하다)에서 온 것이다.
쉽게 말해 클라이언트의 http요청(GET, POST, PUT, DELETE)을 처리(응답을 제공)하는 역할을 한다고 생각하면 된다.
요청의 방식은 URL : IP주소 와 같은 형식으로 이루어진다.
IP주소는 해당 요청이 어디로부터 왔는지 판별할 수 있는 정보이다.
그러나 응답을 하고 바로 연결이 끊어진다면, 요청이 들어오지 않았을 때 웹 서버는 클라이언트에게 데이터를 전송할 수 없다.
웹 서버는이 한계점을 소켓 기반의 http 프로토콜을 이용해 해결한다.
소켓은 한 번 연결이 되면 지속되기 때문에, 요청이 들어오지 않더라도 클라이언트에게 데이터를 전송할 수 있다.







📌Tomcat의 역할

Tomcat은 스프링의 웹 서버인 Apache에 내장돼있고, WAS(Web Application Server)라고도 불린다.
그렇다면 Apache가 있는데 Tomcat은 어떤 용도로 존재하는 것일까?
Apache는 html, css와 같은 정적인(static) 데이터만 처리가 가능하다.
근데 우리가 동적인 웹 페이지를 구성하고 싶다면, JSP와 같이 자바 코드를 처리할 수 있어야한다.
만약 클라이언트로부터 JSP 파일 요청이 들어온다면, Tomcat이 자바 코드를 컴파일해 html로 만들어 클라이언트에게 응답해준다.
즉, Tomcat의 역할은 동적인 데이터를 처리할 수 있고 DB 연결, 데이터 조작, 다른 응용 프로그램과의 상호작용이 가능해진다.







📝정리

  • 웹 서버(Apache) : http요청에 응답하는 역할, 정적인 데이터만 처리
  • Tomcat : 동적인 데이터 처리, DB 연결, 데이터 조작, 다른 응용 프로그램과의 상호작용이 가능

참고자료 : 아파치 톰캣이란?

profile
저 커서 개발자가 될래요!

0개의 댓글