개발자

web + was 동작 방식 질문

2024년 02월 05일조회 96

안녕하세요. 골프장&리조트에서 근무중입니다. 웹 개발 전직을 위해 스프링을 공부중에 궁금한 것이 있어 여쭙니다! 태블릿으로 음식 주문하는 포폴을 진행하고 있는중에 어느정도 구현이 되어 테스트 환경, 운영 환경을 구분해보면 좋겠다 싶어 web, was 환경을 구축했습니다. web은 nginx, was는 tomcat으로 구축했는데 여기서 동작 방식이 궁금한게 생겼어요. web은 정적 리소스를 제공해준다고 들었는데 nginx에서 프록시로 was로 요청을 주거든요? 그러면 결론적으로는 client → web으로 요청을 주면 web → was로 요청을하고 was → web → client로 제공해주는 형태 아닌가요? 결론은 종단점인 was까지 요청이 들어가기 때문에 web은 그냥 거쳐가는 경로다 라고 생각이 들어 여쭤봅니다!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 2

인기 답변

장훈님의 프로필 사진

web과 was라고 줄여서 부르셨지만 nginx, apache server 등은 web server라고 하며 정적 파일 서빙 뿐만아니라 was까지 트래픽을 전달(by pass) 해주는 (리버스)프록시 등 다양한 기능을 제공해줍니다. was는 web application server를 지칭하며 tomcat, netty 등 동적 페이지 서빙을 하는데 적합합니다. 우리가 보는 웹 페이지는 동적페이지(was)로만 구성할 수도 있지만 정적인 파일(html, css, js, image) 파일 등은 굳이 tomcat을 거치지않아도 web server를 통해서도 서빙이 가능합니다. 따라서 말씀하신대로 web server를 was까지 도달시키기 위한 통로(proxy)기능으로만 사용할 수도 있지만 정적 리소스는 nginx로 동적 페이지는 tomcat으로 구성하는것이 일반적입니다. nginx는 ssl/tls 설정, 접속 제한, 연결 관리 등 다양한 기능을 제공합니다. 절대적인 기준은 아니며 서비스에 맞게 web server와 was를 구축하면 되고, tomcat이 정적 리소스를 서빙하면 안 된다는 것은 아닙니다 : )

이상선님의 프로필 사진

이렇게 단순하게 이야기하기 어려워요. 도움 필요하면 챗 주세요

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 02월 05일

안녕하세요. 네, 맞습니다. 일반적으로 웹 서버(Nginx)는 정적 리소스를 제공하고 동적 처리가 필요한 요청의 경우 WAS(Tomcat)에게 해당 요청을 넘기는 역할을 합니다. 클라이언트로부터 오는 요청이 웹 서버에 도달하면, 웹 서버는 이 요청이 정적인지 동적인지를 판단합니다. 정적 요청이면 즉시 처리해 클라이언트에 반환하고, 동적 요청은 WAS에게 넘깁니다. WAS에서는 클라이언트의 동적 요청을 처리한 결과(HTML, JS 등을 포함하는 페이지 또는 응답 데이터 등)를 다시 웹 서버에게 보내고, 웹 서버는 이를 클라이언트에게 전달합니다. 따라서 웹 서버의 주된 역할은: 1. 정적 파일 제공 2. 프록시(요청 전달) 3. 로드 밸런싱 4. SSL 암호화 등 등입니다. 그래서 "web은 그냥 거쳐가는 경로다" 라고 생각하셔도 좋습니다만, 웹서버가 제공하는 다른 기능들(로드 밸런싱, SSL 암호화 등)도 고려해야 한다는 점을 꼭 기억하셔야 합니다. 그럼, 좋은 개발 경험 되시길 바랍니다!

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!