Response Schema
TechnologiesResult의 모든 필드: 기술, 계정, 그리고 홈페이지와 도메인 레코드에 나온 것.
technologies는 TechnologiesResult 타입 하나를 돌려줍니다.
선택 필드는 정말로 선택입니다. 없으면 사이트가 말하지 않았다는 뜻입니다. title이 없는 페이지는 제목이 없었습니다.
| 필드 | 타입 | 비고 |
|---|
domain | string | 정규화한 도메인: 소문자, 스킴·경로·포트 없음 |
technologies | Technology[] | 사이트가 쓰는 기술과 도메인을 서비스하는 곳(메일 호스트, DNS 호스트, CDN) |
accounts | Technology[] | DNS TXT 레코드로만 확인되는, 도메인이 계정을 가진 서비스. 사이트에도 보이는 서비스는 technologies에 들어갑니다 |
page | Page | 홈페이지가 응답한 그대로 |
dns | DnsRecords | 도메인의 DNS 레코드 |
robots | object? | {status, sitemaps}: 사이트가 /robots.txt를 내줬을 때, 그 상태와 Sitemap: 줄 |
| 필드 | 타입 | 비고 |
|---|
name | string | 예: Shopify, Cloudflare, Google Tag Manager |
categories | string[] | 예: Ecommerce, CMS, CDN, Analytics, Payment processors, Email |
confidence | integer | 1–100: 얼마나 확실한 일치인지. 여러 번 맞으면 더해집니다 |
version | string? | 사이트가 밝힌 경우 |
website | string? | 서비스의 공식 사이트 |
evidence | Evidence[] | 일치 근거 최대 3개, 강한 것부터 |
| 필드 | 타입 | 비고 |
|---|
source | string | url header cookie meta html script robots dns implied |
field | string? | 일치한 헤더, 쿠키, 메타 태그, 페이지 요소, DNS 레코드 종류 |
match | string | 일치한 텍스트, 최대 80자. implied이면 이 기술을 함의하는 기술 (WordPress는 PHP를 함의) |
| 필드 | 타입 | 비고 |
|---|
url | string | 요청한 주소: https://<domain>/ |
finalUrl | string? | 리디렉션이 끝난 곳 |
status | integer? | 최종 응답의 HTTP 상태 |
title | string? | |
redirects | array? | {url, status}: 따라간 리디렉션, 순서대로 |
headers | object? | 최종 응답의 헤더, 소문자 |
cookies | string[]? | 설정된 쿠키 이름 |
meta | object? | 페이지의 모든 <meta name|property|http-equiv>, 키별로, 각각 페이지 순서의 목록 |
scripts | string[]? | 페이지가 불러오는 모든 외부 스크립트 |
lang | string? | <html lang> |
blocked | true? | 사이트가 홈페이지 대신 확인 페이지로 응답했습니다. 헤더, 쿠키, DNS는 그래도 읽습니다 |
error | string? | timeout unreachable too_many_redirects: 응답이 오지 않은 이유. DNS 결과는 그래도 돌려줍니다 |
| 필드 | 타입 | 비고 |
|---|
a aaaa | string[] | 도메인의 주소 |
cname | string[] | 홈페이지가 있는 호스트의 CNAME 체인 (example.com이면 www.example.com의 것) |
mx | array | {exchange, priority}: 메일 호스트 |
ns | string[] | 네임서버 |
txt | string[] | TXT 레코드 |
soa | object? | {nsname, hostmaster} |