본문으로 건너뛰기
🛠️ToolsShed

URL 차이 비교기

두 URL을 비교하고 각 구성 요소의 차이점을 표시합니다.

이 도구 소개

URL Diff Checker는 두 개의 URL을 나란히 비교하여 변경된 부분을 즉시 파악할 수 있는 실용적인 도구입니다. 리다이렉트 체인을 디버깅하든, URL 마이그레이션을 검토하든, 또는 추적 파라미터가 올바르게 적용되었는지 확인하든, 이 도구는 각 URL을 스킴, 호스트, 포트, 경로, 쿼리 문자열, 프래그먼트 등의 핵심 구성 요소로 분해하고 정확히 어디가 다른지 강조합니다. 다양한 시스템 단계 또는 개발 환경과 프로덕션 환경 간에 URL이 어떻게 변화했는지 이해해야 할 때 특히 유용합니다.

두 개의 URL을 입력 필드에 붙여넣고 비교를 클릭하기만 하면 됩니다. 도구는 두 URL의 각 구성 요소를 상태 표시기와 함께 표시하는 자세한 표를 제시합니다. 첫 번째 URL에만 존재하는 구성 요소는 녹색으로, 두 번째 URL에만 존재하는 구성 요소는 빨간색으로, 다른 부분은 노란색으로, 동일한 부분은 회색으로 강조됩니다. 주요 구성 요소 아래에는 두 URL 중 하나에 존재하는 모든 쿼리 파라미터를 나열하는 별도의 섹션이 있어 추가, 제거 또는 변경된 파라미터를 한눈에 쉽게 파악할 수 있습니다.

자주 묻는 질문

코드 구현

from urllib.parse import urlparse, parse_qs

def parse_url_components(url: str) -> dict:
    p = urlparse(url)
    return {
        "scheme":   p.scheme,
        "host":     p.netloc,
        "path":     p.path,
        "query":    parse_qs(p.query),
        "fragment": p.fragment,
    }

def url_diff(url1: str, url2: str) -> dict:
    a = parse_url_components(url1)
    b = parse_url_components(url2)
    diff = {}
    for key in a:
        if a[key] != b[key]:
            diff[key] = {"from": a[key], "to": b[key]}
    return diff

url_a = "https://example.com/search?q=hello&page=1#results"
url_b = "https://example.com/search?q=world&page=2#top"

differences = url_diff(url_a, url_b)
if differences:
    print("Differences found:")
    for component, change in differences.items():
        print(f"  {component}:")
        print(f"    from: {change['from']}")
        print(f"    to:   {change['to']}")
else:
    print("URLs are identical")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.