Spring/팀스파르타

2. 서버란 무엇일까?

열심히 해 2024. 10. 21. 10:08

1. 네트워크란?

 

네트워크는 여러대의 컴퓨터 또는 장비가 서로 연결되어서 정보를 주고 받을 수 있게 도와주는 기술입니다.

  • 컴퓨터, 라우터, 스위치, 허브 등의 장비들이 각각의 역할을 수행하여 정보를 주고 받습니다.
  • 서로 정보를 주고 받기 위해서는 IP 주소, 서브넷 마스크, 게이트웨이등의 정보를 설정하고 네트워크 프로토콜을 이용하여 통신을 하게 됩니다.

 

 

2. Client와 Server

 

 

  • Client 즉, 브라우저에서 서버에 정보를 요청하는 과정을 간략하게 표현한 부분입니다.
  • 보시는 것처럼 사용자는 브라우저를 이용하여 서버에 정보를 요청하고 응답을 받습니다.
  • 사용자의 요청이 서버에 도달하기 위해서는 해당 서버의 정보가 필요합니다.
  • 사용자의 요청이 해당 서버에 정확하게 도달할 수 있게 제공되는 정보가 IP 주소입니다.

 

IP 주소: 

  • 거대한 네트워크망에서 여러분의 컴퓨터를 식별하기 위한 위치 주소 입니다.
  • 네트워크상에서의 데이터 송/수신은 이 주소를 기준으로 이루어지고 있습니다.
  • IP 주소를 주소라는 이름에 맞게 쉽게 이해할 수 있도록 택배에 비교해 보겠습니다.
주소 : IP 서울시 oo구 xx 동 ... 192.168.0.***
받는 사람 : 포트 홍길동 8080

 

 

 

 

웹 서버:

  • 웹 서버는 웹상의 클라이언트의 요청을 응답해주는 통신을 하는 일종의 컴퓨터입니다. 이러한 통신은  인터넷을 통해 HTTP를 이용하여 이루어 집니다.
  • 오늘날 우리가 자주 사용하는 이메일이나 SNS 등 대부분의 서비스는 웹 서버를 통해 우리가 사용할 수 있게 되었습니다.

  1. 브라우저를 통해 HTTP Request로 웹사이트를 웹서버에 요청합니다.
  2. 이후 웹서버는 요청을 승인하고 HTTP Response를 통해 웹사이트 데이터를 브라우저에 전송합니다.
  3. 마지막으로 브라우저는 서버에서 받아온 데이터를 이용해 웹사이트를 브라우저에 그려내는 일을 합니다.

 

 

Web Server:

  1. 정적인 콘텐츠 즉, 이미 완성이 되어있는 HTML과 같은 문서를 브라우저로 전달합니다.
  2. 브라우저로부터 ‘로그인하여 MyPage를 요청’과 같은 동적인 요청이 들어왔을 때 웹 서버 자체적으로 처리하기 어렵기 때문에 해당 요청을 WAS에 전달합니다.

 

Web Application Server(WAS):

  • WAS는 웹 서버와 똑같이 HTTP 기반으로 동작이 됩니다.
  • 웹 서버에서 할 수 있는 기능 대부분을 WAS에서도 처리할 수 있습니다.
  • WAS를 사용하면 로그인, 회원가입을 처리하거나 게시물을 조회하거나 정렬하는 등의 다양한 로직들을 수행하는 프로그램을 동작시킬 수 있습니다.
  • 종류로는 Tomcat, JBoss 등이 있습니다.

 

Apache Tomcat:

 

  Tomcat은 동적인 처리를 할 수 있는 웹 서버를 만들기 위한 웹 컨테이너입니다.

 

 

  Apache Tomcat이란 Apache와 Tomcat이 합쳐진 형태로 정적인 데이터 처리와 동적인 데이터 처리를 효율적으로 해줄 수 있습니다.

 

 

 

SpringBoot:

 

SpringBoot는 기존의 xml 설정 대신 Java의 애너테이션 기반의 설정을 적극적으로 사용하고 있기 때문에 무겁고 작성하기 힘들던 xml 대신에 애너테이션을 사용하여 아주 간편하게 설정할 수 있습니다.

  • 기본적으로 개발에 필요한 설정 정보들을 일반적으로 많이 사용하는 설정 값을 default로 하여 자동으로 설정해주고 있습니다.
  • 또한 외부 라이브러리나 하위 프레임워크들의 의존성 관리가 매우 쉬워졌습니다.
  • Apache Tomcat 을 내장하고 있습니다.