서버 시간 확인기

입력한 사이트의 서버 시각을 ms 단위로 실시간 표시

확인하려는 사이트 주소를 입력하면 그 사이트의 서버 시각을 ms 단위로 최대한 정확하게 실시간으로 보여줍니다. 선착순 예매·수강신청처럼 정각에 맞춰야 하는 상황에 유용합니다.

브라우저는 다른 사이트의 정확한 시각을 직접 읽을 수 없어서(CORS 제한), 입력한 주소를 저희 서버가 대신 한 번 요청해 시간 정보만 확인합니다 — 그 외에는 아무것도 저장하지 않습니다.

사용법

  • 확인할 사이트 주소를 입력하고 확인을 누르면 그 사이트의 서버 시각이 표시됩니다.
  • 매 분이 넘어가기 5초 전부터 노란색, 2초 전부터 빨간색으로 강조되고, 정각을 지나는 순간 잠깐 반짝입니다.
  • PIP 버튼을 누르면 작은 창으로 떠서 다른 탭·앱을 보면서도 시계를 계속 볼 수 있습니다(데스크톱 Chrome·Edge, 안드로이드 크롬). 브라우저가 PIP를 거부하면 화면이 꺼지지 않는 전체화면 큰 시계로 자동으로 넘어갑니다 — 아이폰 사파리가 보통 이 경우입니다.
  • 오래 켜둬도 오차가 쌓이지 않도록 60초마다 시계를 다시 맞추고(보정될 때 아래에 "보정됨"이 잠깐 표시됩니다), 3분마다 대상 사이트의 시각을 통째로 다시 측정합니다. 보정값은 숫자가 튀지 않게 1.5초에 걸쳐 서서히 반영됩니다.
  • 표시되는 정밀도(±ms)는 대상 사이트와 네트워크 상태에 따라 달라집니다. CDN 캐시를 쓰는 사이트는 오차가 더 클 수 있습니다.

서버 시간 확인기 소개

이 도구는 입력한 사이트의 서버가 알고 있는 「지금」을 ms 단위로 흘려 보여 줍니다. 근거는 그 사이트가 모든 HTTP 응답에 붙이는 Date 헤더 하나입니다. 문제는 이 헤더가 초 단위(예: Tue, 22 Sep 2026 11:00:02 GMT)라는 점인데, 도구는 요청을 여러 번 겹쳐 보내 초가 바뀌는 순간을 좁혀 들어가는 방식으로 ms 수준의 오프셋을 추정하고, 그 추정이 얼마나 믿을 만한지 ±오차로 함께 보여 줍니다.

티켓 예매, 대학 수강신청, 한정판 응모처럼 정해진 시각에 열리는 페이지에서는 내 PC 시계가 아니라 그 서버의 시계가 기준입니다. 아래에서는 도구가 실제로 무엇을 재는지, 네트워크 지연을 어떻게 빼는지, 그리고 숫자를 어디까지 믿어도 되는지를 설명합니다.

왜 브라우저가 직접 재지 않고 중계 서버를 거치나

브라우저에서 다른 사이트로 요청을 보내면 응답이 와도 스크립트가 읽을 수 있는 헤더는 CORS 규칙상 몇 개로 제한됩니다. Date는 그 목록에 없어서, 대상 사이트가 따로 허용하지 않는 한(거의 허용하지 않습니다) 브라우저 안에서는 볼 수 없습니다. 그래서 이 도구는 사이트의 Cloudflare Worker가 서버 대 서버로 대상에 HEAD 요청(거부되면 GET)을 보내고 Date 헤더만 읽어 옵니다. 캐시된 응답이 섞이지 않도록 no-cache 헤더를 붙이고, 사설망·루프백 주소로는 요청하지 않습니다.

초 단위 헤더에서 ms를 끌어내는 방법

요청 한 번마다 중계 서버는 보내기 직전 시각 s와 응답을 받은 시각 r을 자기 시계로 기록합니다. 대상 서버가 Date를 찍은 순간은 반드시 s와 r 사이이고, 그 순간 대상의 진짜 시각은 Date 값 d부터 d+1초 사이입니다. 그래서 「대상 시각 − 중계 서버 시각」인 오프셋은 [d − r, d + 1000 − s] 구간 안에 있습니다. 요청을 여러 번 보내 이 구간들의 교집합을 구하면 폭이 계속 좁아지고, 그 폭의 절반이 오차 반경이 됩니다. NTP가 여러 표본을 다루는 방식과 같은 발상입니다.

측정은 두 단계입니다. 먼저 약 110ms 간격으로 최대 8번 훑어 초 경계를 대략 감싸고, 그다음 추정한 경계 시각 주변으로 최대 5번을 겹쳐 보내 구간을 한 번 더 좁힙니다. 대상에 가는 요청은 한 번 측정에 최대 13번입니다. 교집합이 비면(캐시된 Date가 섞였다는 뜻) 그 값은 믿을 수 없다고 판단하고 ±1초 정밀도로만 표시합니다.

같은 사이트로 사람이 몰리는 예매 직전에는 측정 결과를 약 30초 동안 여러 사용자가 함께 씁니다. 재는 값이 절대 시각이 아니라 두 시계의 차이라서 잠깐 재사용해도 정밀도가 거의 그대로이고, 도구는 재사용한 시간만큼 드리프트 여유를 오차에 더합니다.

내 컴퓨터까지의 지연은 따로 보정한다

위 과정으로 얻는 것은 「중계 서버 시계 대비 대상 시계」입니다. 화면에 띄우려면 「내 브라우저 대비 중계 서버」도 알아야 하는데, 이것은 가벼운 동기화 요청으로 따로 잽니다. 왕복 시간의 가운데 지점에서 서버 시각이 찍혔다고 보고, 여러 번 잰 표본 중 왕복이 가장 짧았던 것을 씁니다. 왕복이 짧을수록 중간에 대기열에서 기다린 시간이 적게 섞였다는 뜻이라 평균보다 최소값이 정확합니다.

화면의 ±값은 대상 측정의 오차 반경에 이 왕복 시간의 절반을 더한 것입니다. 시계는 60초마다 다시 동기화하고 3분마다 대상 사이트를 새로 측정합니다. 보정량이 0.4초 미만이면 1.5초에 걸쳐 서서히 반영해 숫자가 뒤로 튀지 않게 하고, 절전에서 깨어나는 등 로컬 시계가 크게 어긋난 표본은 버립니다.

정확하게 맞춰도 선착순이 보장되지 않는 이유

그래도 이 도구가 쓸모 있는 이유는, 흔히 수 초씩 어긋나 있는 PC·휴대폰 시계를 기준으로 삼는 실수를 없애 주기 때문입니다. 화면의 「이 기기 시계보다 0.482초 빠름」 같은 문구가 바로 그 차이이며, 50ms 미만이면 사실상 일치로 표시합니다.

  • 측정 대상이 판정 서버가 아닐 수 있습니다. 예매 사이트의 첫 페이지는 CDN이나 웹 서버가 응답하고, 실제 좌석 배정은 뒤쪽의 다른 서버가 합니다. 보통 같은 시각 동기화(NTP)를 쓰므로 차이가 작지만, 도구가 보장하는 것은 입력한 주소의 Date 헤더까지입니다. 예매 페이지와 같은 도메인을 넣는 것이 좋습니다.
  • 버튼을 누른 뒤 요청이 서버에 닿기까지도 시간이 걸립니다. 한국 안에서는 대개 수십 ms지만 와이파이 상태나 기기 성능에 따라 달라집니다.
  • 많은 예매 사이트는 오픈 시각에 대기열을 걸고, 대기열 순서는 접속 시각만으로 정해지지 않을 수 있습니다. 정각보다 빨리 누르면 「아직 오픈 전」 페이지가 뜨고 새로고침하는 동안 오히려 늦어지기도 합니다.
  • 오차 반경이 ±100ms라면 표시 시각은 그 범위 어딘가라는 뜻입니다. ms 자리까지 믿기보다 오차 반경을 보고 여유를 두세요.

예시

교집합으로 오프셋 좁히기

입력
probe1: s=.300, r=.380, Date=:01 / probe2: s=.480, r=.540, Date=:02 / probe3: s=.430, r=.500, Date=:01 (모두 중계 서버 시계 10:00:00 기준)
결과
구간 [+620, +1700] ∩ [+1460, +2520] ∩ [+500, +1570] = [+1460, +1570] → 대상이 1.515초 빠름, ±55ms

probe2는 초가 이미 02로 넘어갔고 probe3은 아직 01이라, 초 경계가 그 사이에 있다는 정보가 구간을 110ms 폭으로 줄였습니다.

화면의 오차 반경

입력
대상 측정 ±55ms, 내 브라우저↔중계 서버 최소 왕복 40ms
결과
±75ms

55 + 40/2 = 75. 휴대폰 데이터망처럼 왕복이 길면 이 값이 커집니다.

PC 시계와의 차이

입력
대상 시각 20:00:00.000일 때 PC 시계 19:59:58.700
결과
「이 기기 시계보다 1.300초 빠름」

PC 시계를 보고 20:00:00에 누르면 실제로는 1.3초 늦게 누른 셈입니다.

사용 방법

  1. 예매·신청 페이지와 같은 도메인을 입력합니다(https:// 생략 가능).
  2. 시계가 흐르기 시작하면 ±오차와 내 시계와의 차이를 확인합니다.
  3. PIP로 띄워 두고 예매 페이지를 보면서 정각 강조 색을 기준으로 누릅니다.

자주 묻는 질문

네이버 시계나 표준시와 뭐가 다른가요?

표준시는 국가 기준 시각이고, 이 도구는 입력한 사이트의 서버가 쓰는 시각입니다. 대부분의 서버는 NTP로 표준시에 맞춰져 있어 거의 같지만, 판정은 그 서버 기준이라 직접 재는 편이 확실합니다.

±오차가 크게 나와요.

모바일 데이터나 혼잡한 와이파이에서는 왕복 시간이 길어져 오차가 커집니다. 잠시 켜 두면 더 좁은 측정값이 나올 때 그 값으로 바뀝니다.

「정밀하지 않음」이나 ±1초로 표시돼요.

대상이 캐시된 응답을 주거나 Date 헤더가 일관되지 않으면 초 경계를 좁힐 수 없어 초 단위로만 보여 줍니다. 다른 주소(예: 메인 대신 로그인 페이지)를 넣어 보세요.

몇 초 전에 누르는 게 좋나요?

사이트마다 다릅니다. 오픈 전 요청을 거부하는 곳이면 정각 직후, 대기열이 있는 곳이면 정각에 맞추는 것이 일반적입니다. 도구가 보장하는 것은 서버 시각까지입니다.

출처

기준일:

개인정보와 저장 방식