용어집

Lexique Web Performance

La webperformance est une branche très spécifique du développement web. Pour vous aider à y avoir un peu plus clair, la bible des définitions de webperf vous permet de comprendre les termes techniques plus simplement.

A

A/B Testing

A/B Testing 도구는 소스 코드를 수정하지 않고도 변경 사항을 적용하고, 귀하의 사이트를 탐색하는 사용자에게 동일한 페이지의 여러 버전을 비교할 수 있게 해줍니다. 각 버전의 전환율을 측정하면, 사이트 코드에 해당 변경을 실제로 반영하기 전에 테스트가 유의미한 결과를 내는지 판단할 수 있습니다.

AJAX

“Asynchronous JavaScript and XML”을 의미하며, 이 기술은 브라우저가 서버와 비동기적으로 통신할 수 있게 하여 사용자가 페이지를 다시 로드할 필요가 없게 한다. AJAX라는 용어는 일반적으로 jQuery 라이브러리와 연관되지만, XHR 요청 시에도 사용된다.

B

Back-end

front-end와 대비되는 개념으로, back-end는 사용자에게 보이지 않는 코드입니다. 이는 빙산의 수면 아래에 있는 부분에 비유되며, 데이터베이스 트랜잭션과 사용자의 각 동작 뒤에 있는 로직을 처리합니다. back-end 코드는 웹 서버에서 실행됩니다.

Blocking Time

사용자 기기의 리소스가 과도하게 점유될 때, 웹 페이지가 멈추거나 사용자 상호작용에 매우 느리게 반응하는 시간.

Brotli

텍스트 리소스(HTML, CSS, JS, …)의 용량을 줄일 수 있게 해주는 압축 알고리즘. Gzip 이후에 등장했으며, 더 나은 압축 성능을 제공하고 브라우저가 압축된 리소스를 다운로드하는 시간을 단축한다.

C

CLS

Cumulative Layout Shift는 시간 경과에 따라 웹 페이지의 시각적 안정성을 측정하는 성능 지표입니다. Core Web Vitals 중 하나로서, CLS는 Google의 CrUX에서 고려됩니다.

CMP

Consent Management Platform(CMP)은 일반적으로 쿠키 배너라고 불립니다. 동의 관리 플랫폼은 사용자가 사이트에 처음 방문할 때 추적과 쿠키 저장에 관한 선호를 수집할 수 있게 해줍니다. RGPD를 준수하기 위해 개인정보를 처리하는 사이트에는 반드시 CMP가 존재합니다. 이러한 스크립트는 webperf 테스트를 왜곡하므로 쿠키 동의 배너를 우회할 방법을 찾는 것이 중요해졌습니다.

CrUX

Chrome User Experience Report는 Google의 도구로, 실제 사용자 데이터에 기반해 페이지나 사이트의 성능 수준을 파악할 수 있게 해줍니다. 수치를 얻기 위해 호환되는 브라우저(요약하면 Chrome Desktop과 Android)가 웹 성능 지표(그중 Core Web Vitals 포함)를 수집합니다. 수집된 데이터는 매월 공개 BigQuery에 집계되며 Search Console에서 확인할 수 있습니다.

D

DNS

Domain Name System(DNS) 프로토콜은 브라우저가 주소 지정 시스템을 통해 각 도메인 이름을 해당 서버와 연결하는 데 사용됩니다. 도메인 이름을 IP 주소와 매핑하기 위해 도메인 소유자는 다양한 유형의 레코드로 구성된 DNS 존을 구성하며, 이를 통해 이메일을 관리하고, 웹 서버를 가리키거나, 리디렉션을 설정할 수 있습니다.

DOM

Document Object Model은 브라우저가 HTML 태그들의 집합으로 정의한 웹 리소스의 구조를 표현한 것입니다. 각 태그는 노드라고 불립니다. DOM은 노드의 수정, 추가 또는 삭제에 따라 JavaScript로 동적으로 조작할 수 있습니다.

F

Fallback

Fallback은 사용자의 브라우저와 호환되지 않거나 접근할 수 없는 기능이나 리소스가 있을 경우, 이를 대체할 수 있는 대안을 제공하는 우회 방식을 말합니다.

FCP

First Contentful Paint는 페이지에서 첫 번째로 눈에 보이는 요소가 표시되는 데 걸리는 시간을 측정하는 성능 지표입니다. 이는 텍스트, 이미지, 또는 간단한 HTML 요소일 수 있습니다. FCP는 동기 스크립트나 스타일시트와 같은 차단 리소스의 영향을 매우 크게 받습니다. 이는 첫 번째 프론트엔드 지표이며 웹 페이지의 라이프사이클에서 TTFB 다음 단계에 해당합니다.

FID

First Input Delay는 페이지가 원활하게 상호작용 가능한 상태로 간주되기까지 걸리는 시간을 측정하는 성능 지표입니다. 이는 3가지 Core Web Vitals 중 하나이지만, 웹사이트 UX를 더 잘 반영하기 위해 2024년에 INP로 대체될 예정입니다. 양호한 FID는 100ms 미만이며, 300ms를 초과하면 나쁩니다. 이 지표는 2024년에 INP로 대체됩니다.

Front-end

프론트엔드는 방문자가 볼 수 있고 접근할 수 있는 웹사이트의 가시적인 부분입니다. 백엔드와 달리, 이는 브라우저에서 동작하며 사이트가 로드하는 리소스, 서드파티, 또는 사용자 브라우저에 설치된 확장 프로그램에 의해 조작될 수 있습니다.

Full stack

서버 측(백엔드 언어인 PHP나 Java, 데이터베이스용 SQL 문법)과 브라우저 측(HTML, CSS, Javascript, …)의 기술 환경을 처음부터 끝까지 모두 숙달했을 때, 그 개발자를 풀스택이라고 한다.

G

GZIP

웹 서버에서 텍스트 리소스(html, CSS, JS 등)의 용량을 줄이기 위해 사용하는 압축 알고리즘입니다. 이 알고리즘은 Brotli보다 오래되었고 리소스 용량을 줄이는 효과는 더 작지만, 압축 해제 속도는 더 빠릅니다.

H

htaccess

Apache 웹 서버는 사용자가 어떤 리소스나 웹 페이지를 받기 전에 .htaccess와 .htpasswd 파일을 먼저 확인합니다. 이 파일들은 URL 재작성(예: .php나 .html 같은 파일 확장자 제거)과 같은 지시를 내릴 수 있고, 브라우저 캐시 기간을 설정할 수도 있습니다. .htpasswd 파일은 로그인/비밀번호 프롬프트를 통해 폴더 접근을 보호합니다.

HTML

HTML(HyperText Markup Language)는 웹 페이지의 구조를 정의하는 데 사용하는 언어입니다. 프로그래밍 언어가 아니며, 각기 다른 역할을 가진 많은 태그로 구성되어 있습니다. HTML 태그에는 문단, 이미지, 표, 비디오 등이 포함됩니다. 웹 페이지의 전체 HTML 코드는 DOM이라고 합니다.

I

Iframe

Iframe은 다른 문서 안에 웹 페이지를 표시할 수 있게 해주는 HTML 요소입니다. Iframe은 테두리를 표시하거나 숨길 수 있고, 지정한 크기로 렌더링되지만, 자신이 포함된 상위 문서를 변경할 수는 없습니다. 광고 퍼블리셔들이 자주 사용하는 HTML 태그입니다.

Inline

인라인 코드는 HTML 페이지의 DOM 내부에 직접 삽입됩니다. 문서에서 호출하는 외부 파일과 달리 인라인 코드는 캐시되지 않습니다. 가장 일반적인 인라인 태그로는 CSS를 위한