1. 타임리프 특징
1) 서버 사이드 HTML 렌더링(SSR)
: 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용된다.
2) 네츄럴 템플릿
: 웹 브라우저에서 파일을 열어도, 순수 HTML을 최대한 유지하는 특징이 있다.
물론 위 경우에는 동적으로 결과가 렌더링 되지는 않는다.
3) 스프링 통합 지원
: 스프링에서 공식으로 추천하고 있는 템플릿 엔진으로, 스프링의 다양한 기능을 편리하게 사용할 수 있게 지원한다.
2. escape
'<'와 같이 HTML에서 사용하는 특수 문자를 HTML 엔티티로 변경하는 것을 "escape" 라고 한다.
cf. HTML 엔티티 : '<'을 태그의 시작이 아니라 문자로 표현
escape가 필요한 이유
: 웹 애플리케이션에서 사용자의 입력을 그대로 HTML 페이지에 반영할 경우,
악의적인 스크립트를 삽입하는 XSS(Cross Site Scripting) 공격을 받을 수 있다.
따라서 이러한 공격을 방지하기 위해 사용자 입력을 웹 페이지에 표시하기 전에 HTML escape 처리를 진행한다.
cf. "XSS는 악의적인 스크립트를 삽입하여 사용자의 브라우저에서 실행시키는 공격입니다. 방어하기 위해 입력 유효성 검사, 출력 이스케이프 처리, HTTP Only 쿠키, CSP, 보안 헤더 설정 등 다양한 방법을 사용합니다. 이를 통해 사용자의 브라우저를 통한 공격을 어렵게 만들 수 있습니다."
- https://wch-0625.tistory.com/85
1시간 정도 강의를 들었지만, 현재 'CSR(클라이언트 사이드 렌더링)' 프로젝트를 진행하고 있어
추후에 Thymeleaf가 필요할 때 자세히 공부하고 정리하려 한다.😴
'Spring > MVC 2' 카테고리의 다른 글
6. 로그인 처리1 - 쿠키, 세션 (1) | 2024.05.02 |
---|---|
5. 검증 2 - Bean Validation (0) | 2024.05.01 |
4. 검증 1 - Validation (0) | 2024.04.29 |
3. 메시지, 국제화 (0) | 2024.04.29 |
2. 타임리프 - 스프링 통합과 폼 (0) | 2024.04.29 |