CS

서버란 무엇일까? 웹 서버, WAS

다오__ 2023. 6. 16. 11:54

서버에 대해서 잘 알려면 네트워크에 대한 개념을 알아야 한다.

 

네트워크란 여러대의 컴퓨터 또는 장비가 서로 연결이 되어 정보를 주고받을 수 있게 도와주는 기술을 뜻한다. 컴퓨터나 라우터, 허브등의 장비들이 서로의 정보를 주고 받는다. 

 

정보를 주고받기 위해서는 IP주소, 서브넷 마스크, 게이트웨이등의 정보를 설정을 하고 네트워크 프로토콜을 이용해서 통신을 하게 된다.

 

서버란

사용자가 요청을 할 때 해당 요청에 대한 응답을 수행하는 프로그램이다. 

웹에선 브라우저를 이용해서 서버에 정보를 요청하고 전달을 받는다.

 

웹 서버란

인터넷을 통해 HTTP를 이용하여 웹 상의 클라이언트의 요청을 응답해주는 통신을 하는 일종의 컴퓨터이다.

 

우리는 이메일, SNS등의 서비스는 대부분 웹서벌를 통해서 사용할수있게 되었다.

 

웹 요청 과정

크롬브라우저 > HTTP request > 요청 승인 > HTTP Response > 크롬브라우저 > 전달받은 데이터로 웹 브라우저를 그린다.

API(Application Programming Interface)란

다른 소프트웨어 시스템과 통신을 하기 위해 따라야 하는 하나의 규칙을 정의하는 것

여기서 인터페이스는 서로 다른 두 개의 시스템 혹은 장치사이에서 정보나 신호를 주고받는 경우 그 접점이나 경계면을 의미한다. 

 

API는 하나의 약속이다 약속한 방식의 API요청을 수행하면 정해진 결과물을 반환한다. 예를들어 주문을 하면 그 주문에 해당하는 음식을 가져다주는 식담에 점원이라고 할 수있다.

 

RESTful API란

API작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처를 의미한다. 인터넷과같은 복잡한 네트워크망에서 통신을 관리하기 위한 하나의 지침이다. REST라는 지침 즉 아키텍처 스타일을 따르는 API을 REST API라고 부른다.

이 아키텍처를 따르는 웹 서비스를 RESTful 웹 서비스라고 한다. 

https://dao-blog.tistory.com/41

 

웹 클라이언트와 서버의 요청과 응답, REST API

웹 클라이언트 클라이언트는 웹에서 서버에 요청을 보내는 주체로써 서버에 HTTP프로토콜의 형식에 맞게끔 정보를 요청하고 응답을 받는다. 웹 브라우저로 요청을 보낼 수 있다. 사용자의 요청

dao-blog.tistory.com

 

웹서버와 웹 어플리케이션 서버(WAS)

브라우저가 URL을 입력해서 어떤 페이지를 요청했을 때 HTTP의 요청을 받아들여서 HTML같은 문서를 사용자에게 전달해주는 역할을 하는게 웹 서버인데, 그 HTML은 정적인 컨텐츠이다. 어떤 데이터가 바뀌는 상황이 없고 이미 다 만들어져있는 HTML을 정적인 컨텐츠라 한다.

예를들어 로그인을 한다음에 마이페이지를 들어가보면 사용자마다 마이페이지가 다른데 이는 동적인 컨텐츠이다. 그런게 아니라 메인화면같은 똑같은 화면을 보게되고 그 화면을 구성하고있는 HTML은 누구나 똑같이 보이기때문에 이를 정적인 컨텐츠라고 한다.

 

웹서버의 역할

정적인 컨텐츠 : 이미 완성되어있는 HTML과 같은 문서를 브라우저에게 전달

동적인 컨텐츠 : 브라우저로부터 로그인을 해서 마이페이지를 요청하는 것과 같은 동적인 요청이 들어왔을때는 웹서버는 본인이 처리할 수없기 때문에 그 요청을 WAS에게 전달한다. 

 

WAS 역시 HTTP기반으로 동작하며 웹 서버랑 똑같이 정적인HTML같은것을 전달하는 기능을 전부 수행할 수있다. 하지만

웹 서버와 WAS를 함께 사용하면 효율적이기 때문에 같이 사용한다.