Intro
- 앞서 배운 HTTP 방식으로 네트워크 할 수 있음
- iOS 네트워크 작업을 도와주는 것이 URLSession임
URLSession
- URLSession을 이용해서 서버와 소통
- URLSessionConfiguration
- .default
- 디스크를 이용한 정보저장을 하는 configuration
- 그냥 브라우저 띄울 때
- .ephemeral
- default랑 비슷한데, 몇가지 정보들을 저장하지 않음 (쿠키, 인증서 등)
- 브라우저 시크릿 모드라고 생각하면 쉬움
- .background
- 네트워크를 통해 파일 다운로드 받을때,
- 앱이 백그라운드에서 돌때도, 다운로드 시켜줄 수 있음
- URLSession
- configuration을 보고, 세션을 생성
- URLSessionTask
- dataTask
- uploadTask
- downloadTask
URLSession 구조도
[URLSession] <- [URLSession Configuration]
⬇️ ⬇️
[Delegate][URLSessionTask]