- Today
- Yesterday
- Total
메이쁘
[WEB] 예상 Q&A 공부(HTTP Status Code, Web과 WAS의 차이) 본문
안녕하세요.
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
'면접 대비 CS지식 > SELF CS면접 Q&A' 카테고리의 다른 글
[Spring] 예상 Q&A 공부(Entity @Setter 지양 이유, @ControllerAdvice 관련) (0) | 2021.12.28 |
---|---|
[Spring] 예상 Q&A 공부(Transactional 트랜잭션 적용 범위) (5) | 2021.12.26 |
[Android] 2021.01.28. 오늘의 면접 Q&A (0) | 2021.01.28 |
[Network] 2020.12.04. 오늘의 면접 Q&A (0) | 2020.12.04 |
[Network - 전송] 2020.11.21. 오늘의 면접 Q&A (1) | 2020.11.21 |