메이쁘

[WEB] 예상 Q&A 공부(HTTP Status Code, Web과 WAS의 차이) 본문

면접 대비 CS지식/SELF CS면접 Q&A

[WEB] 예상 Q&A 공부(HTTP Status Code, Web과 WAS의 차이)

메이쁘 2021. 3. 2. 03:00

안녕하세요.

 

CS관련 질문과 면접에 맞는 답변을 작성하면서 지식도 쌓고 면접도 대비하는 시간을 가지려고 합니다.

 

 

틈틈히 게시글을 작성하며 면접 대비 데이터셋을 확보해둔 다음

 

언젠간 면접하게 될 때 모아서 쓰려고 합니다.

 

(실제로 면접에서 들었던 질문이 아니라, 제가 스스로 답을 정해놓고 짜논 질문이라 이렇게 안나올 수 있습니다!!!)

 

 

 

이번 글은 WEB 카테고리 입니다.

 

 

 

 

  -- 질문 목록

 

Q1.  HTTP Status Code(HTTP 상태 코드) 의 종류는 어떻게 되나요? (*** 에러는 무슨 에러인가요?)

Q2.  Web Server와 WAS의 차이는 무엇인가요?

 


Q1.  HTTP Statue Code(HTTP 상태 코드) 의 종류는 어떻게 되나요? (*** 에러는 무슨 에러인가요?)

 

A.  네. HTTP 상태 코드는 API 통신 시 응답받아 확인할 수 있는데요.

보통,

100번 대(10*) 오류는 정보를 확인할 때 사용합니다.

200번 대(20*) 오류는 통신이 성공했을 때 응답받는 코드입니다. 보통, 200 응답받으면 API 정상 동작한 경우입니다.

300번 대(30*) 오류는 Redirect 시 응답받는 코드입니다. Request URI의 내용, 위치에 따라 코드가 달라집니다.

400번 대(40*) 오류는 클라이언트에서 발생하는 오류가 많은데요.

대표적으로 400은 Bad Request, 403은 Forbidden으로 권한 밖의 접근 시도한 것입니다. 404는 URI가 존재하지 않을 때 입니다. 

500번 대(50*) 오류는 서버에서 발생하는 오류 종류입니다.

500은 서버 내부 오류, 502는 게이트웨이 오류, 503은 서비스 이용이 불가한 상태 입니다.(점검이나, 서버가 닫혔거나..?)

 

 

 

 

Q2.  Web Server와 WAS의 차이는 무엇인가요?

 

A.  웹 서버는 정적 컨텐츠만 처리하도록 기능 분배를 통해 서버 부담을 줄이고자 사용합니다.

클라이언트가 서버에게 웹 페이지를 요청했을 때, html 문서를 클라이언트로 보내게 되면 이 때, 이미지 파일과 같은 정적 파일은 보내지지 않습니다.

서버가 html 문서를 보내고, 클라이언트가 이를 받은 후 이미지 파일들 같은 정적 파일을 다시 서버로 요청해서 받아오는 것이죠. 

그래서, 웹 서버를 사용할 때 정적인 파일들을 앱 서버까지 가지 않고 앞단에서 빠르게 전달할 수 있습니다.

즉, 웹 서버는 정적인 데이터를 처리할 때 사용합니다.

 

반면, WAS는 Web Application Server로, 요청받은 동적 데이터를 DB에서 가져와 비즈니스 로직에 맞게 처리하고, 그 결과를 클라이언트에게 전달합니다. 

웹 서버만으로는 클라이언트가 요청한 것에 대해 결과값을 미리 만들어놓고 전달하기에는 자원이 절대적으로 부족합니다. (그런 서버가 있으면 엄청 빠르겠죠..?)

그렇기 때문에, WAS는 클라이언트가 Ajax 같은 REST API를 통해 요청이 들어올 때 마다 DB, 비즈니스 로직을 통해 결과값을 만들어 제공합니다.

즉, WAS는 동적인 데이터를 처리할 때 사용합니다.

 

*** 이전 포스팅 글 참고

 

 

 

이상입니다.

 

감사합니다!

 

 

 

 

참고

gyoogle.dev/blog/web-knowledge/Web%20Server%EC%99%80%20WAS%EC%9D%98%20%EC%B0%A8%EC%9D%B4.html

Comments