브라우저 컴포넌트, 브라우저 엔진, 렌더링 엔진, 데이터 관리 영역

렌더링 엔진은 파이어폭스의 gecko, 사파리의 webkit, 크롬과 오페라의 blink 등등이 있습니다.

모두 다 다릅니다.

HTML을 파싱한다. 해석해서 DOM Tree와 같은 트리 구조의 형태로 데이터들을 다시 가지고 있게 된다. 이 DOM Tree와 CSS를 파싱한 것들을 합쳐 Render tree를 만들어 객체 형태로 만든다. 각각 어디에 배치될 지, 크기는 얼마로 할지 레이아웃이 결정된다. 그리고 나서 그림을 그려준 후 화면에 보여준다.

파싱 컴파일러가 토근 단위로 다 짤라서 의미를 해석해주는 것

HTML~tagElement.

웹 브라우저나 웹 크롤러가 서버에게 요청할 수 있다.

클라이언트 쪽에 비즈니스 로직이 많을 경우, 클라이언트 관리로 인해 비용이 많이 발생하는 문제가 발생한다. 비즈니스 로직을 클라이언트와 DBMS 사이의 미들웨어 서버에서 동작하도록해서 클라이언트는 입력과 출력만 담당하도록 한다. 로직이 변경되도 미들웨어만 변경하면 된다.

WAS는 일종의 미들웨어. DB 접속 기능을 제공하게 하고, 여러 개의 트랜잭션을 관리하고, 비즈니스 로직을 처리한다. 톰캣이라는 WAS하나로 웹 서버 실행이 가능한 이유는 톰캣이 웹 서버로서 충분히 가능하기 때문에 Apache같은 웹 서버를 설치하지 않고 톰캣만 설치해서 사용한다.

웹 서버는 정적인 콘텐츠를 웹 브라우저에게 전송하는 역할을 하고 WAS는 동적인 결과를 웹 브라우저에게 전송하는 역할을 담당한다.

그래서 옛날에는 WAS에 내장된 웹 서버의 성능이 떨어져 따로 Apache를 설치했었다. 그러나 지금은 웹 서버의 역할도 충분히 하고 있다.

규모가 커질수록 웹 서버와 WAS를 분리한다. 왜냐면 애플리케이션을 중단하지 않고 계속 실행시키기 위해서 WAS를 재시작해도 사람들이 모르도록 웹 서버를 WAS 앞단에서 동작하도록 하는 경우가 많다.