HanOpen 작동 원리
HanOpen은 정적 사이트이고 변환 엔진은 방문자의 브라우저 안에서 돕니다. 변환하는 문서는 서버로 가지 않습니다. 이 페이지는 그 과정을 단계별로 적고, 그 말을 믿는 대신 직접 확인하는 방법을 함께 알려 드립니다.
파일이 지나가는 길
1. 도구 페이지에서 파일을 고르거나 끌어다 놓습니다. 브라우저가 로컬 파일을 페이지에 넘겨주고, 페이지는 그 바이트를 메모리로 읽습니다. 2. 읽은 바이트는 백그라운드 워커로 넘어갑니다. 화면이 멈추지 않게 하려는 것이고, 엔진은 이 워커 안에 있습니다. 3. 워커가 문서를 해석합니다. HWP 5.0은 복합 파일 컨테이너라 레코드 스트림을 풀어서 읽어야 하고, HWPX는 ZIP 패키지라 안에 든 XML을 브라우저 DOM 없이 읽습니다. 두 경로는 하나의 문서 모델로 모입니다. 4. 요청하신 형식의 작성기가 그 모델을 파일로 바꾸면서 무엇을 썼는지 셉니다. 5. 결과 파일은 브라우저의 평소 다운로드 창을 통해 저장되고, 워커는 종료되어 쓰던 메모리를 돌려줍니다.
이 다섯 단계 어디에도 문서가 네트워크 요청이 되는 지점은 없습니다. 서버가 하는 일은 페이지와 엔진 코드를 내려 주는 것까지이고, 그 뒤로는 관여하지 않습니다.
직접 확인하는 방법
도구 페이지를 연 상태에서 브라우저 개발자 도구의 네트워크 탭을 열어 주세요. 페이지를 새로 고치면 HTML, 스타일, 글꼴과 프로그램 파일을 내려받는 요청, Google Analytics 요청을 확인할 수 있습니다.
파일을 선택해 변환하는 동안 새로 생긴 요청의 주소와 전송 내용을 확인하세요. 변환 엔진이나 미리보기 기능에 필요한 프로그램을 추가로 내려받을 수 있습니다. Analytics에는 변환 형식·소요 시간·요소 개수가 전송될 수 있지만, 선택한 문서의 내용이나 파일명은 포함되지 않습니다. 파일을 읽고 결과를 만드는 작업은 브라우저 안에서 처리됩니다.
변환 요약과 접속 기록
변환 요약은 원본에서 감지한 문단·표·그림·주석과 출력에 기록한 요소를 브라우저 안에서 셉니다. 전체 요약은 원본과 결과를 비교할 때 참고할 수 있습니다. 문서 변환에서는 Google Analytics로 표·그림·주석 개수와 출력 형식, 소요 시간, 성공·실패 건수를 보냅니다. 문서 본문과 파일명은 보내지 않습니다.
이 측정 요청과 웹서버·Cloudflare의 접속 기록은 변환 문서와 별개입니다. 분석 선택으로 쿠키 사용을 바꿀 수 있으며, 거부한 뒤에도 쿠키 없는 측정 신호는 보냅니다. 선택 방법과 처리 항목, 문의 이메일의 처리 기준은 개인정보처리방침에서 확인하세요.
브라우저 요구 사항과 확인 범위
변환에는 JavaScript와 백그라운드 워커를 사용할 수 있는 브라우저가 필요하고, 페이지 미리보기에는 WebAssembly도 사용합니다. 별도 프로그램이나 확장 프로그램을 설치할 필요는 없습니다. 조직의 보안 설정이 이러한 기능을 차단하면 일부 도구가 실행되지 않을 수 있습니다.
Windows에서 Chromium, Firefox, WebKit 엔진으로 변환·뷰어·유틸리티 동작을 확인했습니다. 이 결과가 모든 운영체제와 실제 Safari·iPhone에서의 동작을 보장하지는 않습니다. 큰 문서는 기기의 메모리에 영향을 받으므로 결과가 필요한 문서로 먼저 확인해 주세요.
파일 크기
파서는 파일 전체를 한 번에 메모리에 올려야 하고, 변환 중 최대 사용량은 파일 크기의 몇 배가 됩니다. 그래서 한도를 둡니다. 기본 200MB이고, 브라우저가 메모리가 적은 기기라고 알려 주면 100MB입니다. 실무에서 오가는 HWP는 대개 몇 MB라 이 한도가 걸리는 경우는 스캔 이미지가 잔뜩 든 서식 정도입니다. 한도를 넘는 파일은 읽기 전에 거절하고 그 사실을 화면에 적습니다.
속도는 크기와 다른 축입니다. 미리보기가 오래 걸리는 문서는 용량이 큰 문서가 아니라 그리기 개체가 많은 문서입니다. 도형과 글상자를 많이 쓴 안내문이 사진 한 장 든 보고서보다 느릴 수 있습니다.
보호된 문서
변환을 시작하기 전에 파일 헤더를 먼저 읽습니다. 배포용 문서이거나, 비밀번호가 걸려 있거나, 인증서 DRM이 걸려 있으면 거기서 멈추고 셋 중 무엇을 찾았는지 화면에 적습니다. HanOpen은 이 문서들을 복호화하지 않으며 비밀번호를 묻지도 않습니다. 필요한 경우 문서를 만든 쪽에 제한 없이 저장한 사본을 요청하시는 것이 정해진 길입니다.
여러 파일을 한 번에 넣을 때
파일을 여러 개 넣으면 순서대로 처리하고, 결과가 두 개 이상이면 압축해서 하나로 묶어 드립니다. 처리는 워커 두 개까지만 동시에 돌립니다. 더 늘리면 브라우저 탭 전체가 쓰는 메모리가 함께 늘어 큰 문서에서 탭이 죽기 때문입니다. 한 파일이 실패해도 나머지는 계속 변환하고, 어떤 파일이 왜 멈췄는지는 목록에 그대로 남깁니다.
소스 코드
HanOpen의 소스 저장소는 비공개로 운영합니다. 제공하는 기능과 제한은 각 도구 페이지에서 확인할 수 있습니다. 문서 업로드 여부는 위의 네트워크 확인 절차로 직접 살펴보실 수 있습니다.