해답을 찾아서: 왜 HTML만으로는 include가 안 될까?

1 month ago 12

📄 본문 요약

1. HTML에서 include가 되지 않는 문제 제기
  • 여러 HTML 페이지에 같은 헤더를 반복 삽입해야 하는 상황은 흔함.
  • JavaScript, 서버 템플릿, SSG 등 다양한 해결 방법이 존재하지만 HTML 자체로는 불가능.
  • <img>나 @import처럼 HTML 자체에서 지원하는 방식이 없음.
2. HTML 표준의 비효율성과 아쉬움
  • HTML은 CSS나 JS처럼 자체적으로 다른 HTML을 포함할 수 있는 구조를 가지지 않음.
  • 웹 표준은 종종 개발자들이 반복적으로 사용하는 기능을 표준화하지만, 이 기능은 빠짐.
  • 선언적 include의 부재는 대부분의 사이트가 복잡한 도구나 빌드를 필요로 하게 만듦.
3. 이유에 대한 추측과 문제 제기
  • 퍼포먼스 문제, 비동기 로딩의 복잡성, 순환 참조 등의 가능성 제시.
  • HTML의 순수성과 구조적 제약을 유지하려는 노력일 수 있음.
  • 하지만 개발자 수요는 분명 존재하며, 더 나은 대안이 필요하다는 의견 제시.

💬 댓글 요약

  • pd: HTML은 ‘살아 있는 표준’이 아니라 정체되어 있음. 웹 컴포넌트는 과하게 복잡하고, HTML 발전은 멈췄다는 비판.
  • Matthew Graybosch: HTML이 아니지만 hxincl과 m4 매크로로 빌드 시 포함 기능을 구현 중.
  • Chris Smith: 20년째 같은 고민 중이며 공감된다는 말.
  • Shaun O’Connell: GitHub 이슈 공유, 구현되지 않은 이유는 낮은 우선순위, 수요 부족, 관료주의 등 때문일 것.
  • Joseph Shelby: 보안, 렌더링, 순환참조 등 복잡성 때문에 브라우저가 직접 처리하기 어려움.
  • Stevo & flinindorf: iframe은 제거해야 하고, 보안 고려하여 same-origin만 허용하면 해결 가능하다는 주장.
  • jafar: HTML 포함은 프로토콜 수준의 변화가 필요하며 iframe으로 간주될 수 있음.
  • Shannon Moeller: HTML Imports가 한때 존재했으나 브라우저 간 미지원으로 사라짐.
  • Daniel T Sasser II: HTMX는 거의 HTML스러운 해결책이며 선언적 처리에 가까움.
  • DeLorean Time Machine: <object> 태그도 고려 가능하지만 iframe과 비슷한 한계 있음.
  • Luis: HTML은 로직이 아닌 결과를 담기 위한 구조이며, include는 그 철학에 어긋남.
  • Ernest: HTML include를 원하는 사람들은 목소리를 내기 힘든 작은 개발자들일 수 있음.
  • Deividas Strole: 성능, 보안, 중첩 포함 복잡성 등이 주요 장애 요인.
  • Phil: 원래 의미 구조를 갖춘 블록을 include할 수 있었다면 인터넷 자체가 달라졌을 것.
  • Jer Lloyd: HTML은 본질적으로 상태를 가지지 않는 철학에 따라 설계되었고 그것이 지금도 영향을 줌.
  • Stevo (2): HTMX 관련 철학 설명과 함께 HTML 구조에서 persist 개념 등을 제안.
  • Jeremy: IFRAME도 일종의 include지만 제한이 많고 바람직하지 않음.
  • Adam: HTML/JS/CSS의 진화 속도가 느리다는 점에 놀라움.
  • Zacky Ma: include를 위해 .tpl 등 새로운 확장자나 포맷 도입 제안.
  • Luke Dary & Eion: XSLT나 XHTML을 통한 해결 방식이 있지만 다루기 까다로움.
  • Danny Engelman: Web Component로 7줄 코드로 구현 가능, ChatGPT가 HTML import 폐기 이유 잘 설명함.
  • Gabriele: 과거 SGML, XML에서는 가능했지만 지금은 다 버려졌다고 아쉬움 표현.
  • Daniel Feenberg & Justin Cummings: HTML import가 기존 도구와 충돌하고 JS 의존을 강화시킴.
  • Ahmad Alhashemi: include 처리 시 DOM 병합, 에러 처리 방식 등이 불분명함.
  • Pouya Kary: HTML만으로는 이제는 웹사이트를 만들기 힘든 현실이 아쉽다고 함.
  • Alberto Prado: 이 문제로 인해 eleventy 같은 SSG를 사용함.
  • Sree Kotay: 관련 예제는 gist로 공유.
  • Evert: HTMX가 실용적 대안이라는 데 동의.
  • Karen ann: PHP가 오히려 가장 간단한 해결책일 수 있음.
  • Stoyan: 자신이 만든 JS 프레임워크도 추가해달라고 농담.
  • Martin: HTML 4.0 이후부터 include는 표준에 있었다고 주장하나 논란 있음.
  • Andy Davies: HTML import가 있었다면 레이아웃 이동 등 처리 방식이 복잡했을 것. 서버 측에서 해결하는 게 더 적절하다는 입장.
  • nobody & sareiodata: SVG가 가능한 예시로 등장, 놀랍다는 반응.

Read Entire Article