: 출처가 다를 경우 리소스 상호작용을 하지 못하도록 막는 보안 방식
: 현재 출처에서 다른 출처의 리소스에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제
Access-Control-Allow-Origin
을 통해 cross-origin HTTP 요청을 허가하는 헤더를 추가해주면 된다. app.use((req, res, next) => {
res.header("Access-Control-Allow-Origin", "*"); // 모든 도메인
res.header("Access-Control-Allow-Origin", "https://example.com"); // 특정 도메인
});
사용자가 페이지에 접속하면 HTML을 서버에서 내려받게 되고 브라우저 렌더링 엔진에서 파싱(처리)하며 DOM 트리
를 만든다.
link 태그를 통해 CSS 파싱을 해서 CSSOM 트리
를 만든다.
DOM 트리와 CSSOM 트리를 결합한 것이 렌더 트리
가 되고, 레이아웃 작업을 통해 사용자에게 그려줄 영역을 계산해서 화면에 뿌려준다. 이 과정을 진행하다가 자바스크립트 런타임 환경에 수행 권한을 넘겨 결과 값을 받으면 DOM 파싱은 중단된다.(때문에 대부분의 script 태그는 body 하단에 존재)
모든 노드 수치를 재계산해서 렌더 트리를 재생성하는 과정을 reflow
라 하고, 이후 재생성된 렌더 트리를 다시 그리는 것을 repaint
라 한다. 리페인트는 레이아웃 수치에 영향을 끼칠 때만 진행된다.
: css에서 이미지를 사용할 때 여러 개의 이미지를 하나로 합쳐서 각 이미지를 background-position 속성을 통해 잘라서 사용하는 기법