Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Clean Code
- UICollectionView
- rxswift
- UITextView
- ios
- Refactoring
- MVVM
- Protocol
- RxCocoa
- 리펙터링
- uitableview
- combine
- 스위프트
- map
- 리펙토링
- SWIFT
- Observable
- ribs
- tableView
- uiscrollview
- 클린 코드
- swift documentation
- clean architecture
- 애니메이션
- collectionview
- Human interface guide
- 리팩토링
- swiftUI
- Xcode
- HIG
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] URI vs URL 개념 (URLSession, Bundle.main.url) 본문
iOS 기본 (swift)
[iOS - swift] URI vs URL 개념 (URLSession, Bundle.main.url)
jake-kim 2021. 9. 15. 23:17URI vs URL
- 개념
- URI(Uniform Resource Identifier): 특정 리소스 식별자
- URL(Uniform Resource Location): 특정 리소스 위치
- URI 방법 중 하나가 URL
- 위 그림에서 1번은 특정 리소스의 식별자 자체를 의미하므로 URI, 2번은 파일의 위치를 가리키므로 URL
swift에서 URL을 사용하는 예
- 이때 리소스가 HTML인 경우 - URLSession
let defaultSession = URLSession(configuration: .default)
guard let url = URL(string: "\(resource)") else {
print("URL is nil")
return
}
// Request
let request = URLRequest(url: url)
// dataTask
let dataTask = defaultSession.dataTask(with: request) { ...
- 리소스가 로컬 파일인 경우 - Bundle.main.url로 접근
if let url = Bundle.main.url(forResource: "help", withExtension: "html") {
/// allowingReadAccessTo: url.deletingLastPathComponent(): "help.html"이라는 파일 로드하는 코드
webView.loadFileURL(url, allowingReadAccessTo: url.deletingLastPathComponent())
}
웹에서의 URI 구조
- scheme: 사용할 프로토콜
- host: 접근할 서버의 호스트 이름
- path: 접근할 서버의 경로에 대한 정보
- query: 접근할 대상에 전달하는 추가적인 정보 (= 파라미터)
- cf) fragment: 메인 리소스 내에 존재하는 서브 리소스에 접근할 때 이를 식별하기 위한 값 (query뒤에 '#' prefix로 표현)
'iOS 기본 (swift)' 카테고리의 다른 글
Comments