항해99 개발일지

05 - 08 스터디

카로루딘 2023. 5. 8. 17:06

웹 페이지가 브라우저에 랜더링되는 과정을 설명해주세요.

1. 사용자의 브라우저가 웹 서버에서 HTML, CSS 따위의 파일을 받아온다.

2. 브라우저별로 작동되는 랜더링 엔진에서 HTML 파일을 분석해서 DOM Tree로, CSS 파일을 분석해서 CSSOM Tree를 생성한다.

3. 생성된 두 Tree를 합쳐 Render Tree를 생성한다. 이 Tree가 실제 화면에 랜더링하는데 쓰일 것이다. 

4. 브라우저에 존재하는 자바스크립트 엔진이 DOM API를 이용해 각 요소들의 크키와 위치를 결정하고 배치하는데, 여기서 최적화를 위해 리플로우와 리페인트를 진행한다. 리플로우는 레이아웃 계산을 다시 하는 것이며, 리페인트는 새로운 Render Tree를 바탕으로 다시 페인트를 진행하는 것이다. 

5. 레이아웃이 적용된 Render Tree를 바탕삼아 HTML 요소 페인팅을 시작

 

 Restful API에 대해 설명해주세요. Get, Post 외에 알고 있는 메소드와 그 기준을 설명해주세요. Restful API가 아닌 것에는 어떤게 있나요?

Rest API는 REST를 기반으로 만드는 API 의미한다. REST는 Representational State Transfer이다. REST의 특징으로는 무상태성, 특정 언어나 기술에 엮이지않는 인터페이스 일관성을 가지고 있다. Restful API는 REST의 원리를 철저하게 따르는 방식을 의미한다.

 

GET, POST 외의 메소드는  PUT, DELETE,PATCH가 있다. PUT은 데이터를 수정할 때, DELETE는 데이터를 삭제할 때 사용한다. PATCH는 PUT과 달리 리소스의 일부분만 수정할 때 사용된다.

 

Restful API 가 아닌 것에는 SOAP(Simple Object Access Protocol), XML-RPC (XML Remote Procedure Call)가 있다. SOAP는 웹 상호작용에 사용되는 XML 메시지 형식이며 XML-RPC는 XML 기반의 분산 시스템 통신방법으로, HTTP를 통해 상호 동작을 가능케 한다.