URL Loading System
서버와 통신하려고 할 때 URLSeession
API를 사용한다. 하지만 공식문서에서는 이를 사용하기 전에 URL Loading System에 대해 먼저 보고 올 것을 권장한다.
URL Loading System
URL Loading System은 https나 직접만든 표준 프로토콜을 사용해 URLs로 식별되는 자료에 접근할 수 있도록 해준다. Loading은 비동기적으로 처리되기 때문에 앱이 응답속도를 유지하면서 데이터나 오류를 처리할 수 있다.
URLSession instance는 하나 또는 다수의 URLSessionTask instance를 가질 수 있는데, URLSessionTask instance는 앱에 대한 데이터, 다운로드 파일 또는 업로드 데이터나 remote의 파일등을 가져오고 리턴할 수 있다.
Session을 관리하기 위해서 URLSessionConfiguration object를 사용해 캐시나 쿠키등을 컨트롤 할 수 있고 네트워크와 연결을 관리할 수 있다.
하나의 Session을 반복적으로 사용해 task를 만들 수 있다. 예를들어, 하나의 웹브라우저는 여러개의 분리된 세션들을 가질 수 있다.
Session
Session은 크게 3가지가 있다.
- Deafult: 기본적인 디스크 기반의 Default session
- Ephemeral: 어떠한 데이터도 저장하지 않는 Ephemeral Session
- Background: 앱이 종료된 이후에도 통신이 이뤄지는 Background Session