본문 바로가기
iOS와 그 외/네트워킹

[iOS] URLComponents

by lody.park 2024. 1. 30.

import Foundation

Swift의 Foundation 프레임워크에서 제공하는 구조체

 

URL을 파싱하고 구성하는 데 사용됨.

URL은 보통 문자열 형태로 표현되는데, 

 

URL 컴포넌트를 사용하면 URL 구성요소를 쉽게 조작하고 조합할 수 있음.

 

Scheme (스킴, 예: "http", "https") 

Host (호스트, 예: "www.example.com") 

Port (포트, 예: 80) 

Path (경로, 예: "/products") 

Query (쿼리 문자열, 예: "search=apple")

Fragment (프래그먼트 또는 앵커, 예: "#section-1")

 

Q. URL 이랑은 뭐랑 다른가.?

> URLComponents 구조체(RFC3986준수)의 동작은 URL 구조체와 약간 다른데, URL 구조체는 이전 버전의 RFC 표준에 따라 동작함. 하지만 상호 변환 가능함.

 

Fragment는 URL의 끝에 # 기호와 함께 오며, 주로 웹 페이지 내에서 특정 섹션, 특정 아이디를 가진 요소, 또는 앵커로 사용됩니다.

예를 들어, 다음과 같은 URL을 생각해보세요:
https://www.example.com/page#section-2

이 URL은 "https://www.example.com/page"로 이동한 다음, 웹 페이지 내에서 "section-2"라는 특정 섹션 또는 아이디를 가진 요소로 스크롤하는데 사용될 수 있습니다. 이렇게 fragment는 웹 페이지 내에서 특정 위치로 빠르게 이동하거나 특정 요소를 강조 표시하기 위해 사용됩니다.
또한 JavaScript와 같은 프로그래밍 언어를 사용하여 페이지 내에서 fragment를 사용하면, 해당 fragment를 감지하고 특정 동작을 수행하는 스크립트를 작성할 수 있습니다. 이것은 웹 앱 또는 단일 페이지 애플리케이션에서 페이지 내 탐색 및 상호 작용을 개선하는 데 사용됩니다.
예를 들어, 페이지 내에서 JavaScript를 사용하여 다음과 같이 fragment를 감지할 수 있습니다:

요약하면, fragment는 웹 페이지 내에서 특정 위치 또는 요소를 식별하고 강조 표시하기 위해 사용되며, JavaScript와 같은 웹 프로그래밍 언어와 함께 사용하여 페이지 내 탐색 및 상호 작용을 향상시키는 데 유용합니다.

 

참고:

https://developer.apple.com/documentation/foundation/urlcomponents