URLSessionConfiguration은 어떤 방식으로 서버와 통신할지 결정하는 것이다.
URLSession의 설정을 정의하고 보내는 요청에 대한 설정을 할 수 있다.
URLSessionConfiguration 세 가지 주요 유형
let configuration = URLSessionConfiguration.default
let session = URLSession(configuration: configuration)
위의 코드처럼 URLSessionConfiguration.default
을 사용해 기본 설정으로 URLSession을 만들 수 있다. 이 설정을 통해 네트워크 요청의 속도, 시간 제한, 캐시 정책 등을 세부 조정 가능하다.
URLSessionTask는 URLSession이 실제로 네트워크 요청을 수행하는 작업을 의미한다. 이것은 우리가 보내는 요청과 받는 응답을 처리한다. 즉, URLSessionTask는 우리가 요청을 보내고 결과를 받을 때 사용되는 작업 단위다.
URLSessionTask에는 세 가지 주요 유형이 있다:
let url = URL(string: "https://api.example.com/data")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
if let error = error {
print("에러 발생: \(error.localizedDescription)")
return
}
if let data = data {
let resultString = String(data: data, encoding: .utf8)
print("받은 데이터: \(String(describing: resultString))")
}
}
task.resume()
🔼 dataTask
를 사용해 서버에 데이터를 요청하고, 응답을 처리할 수 있다. task.resume()
를 호출하면 실제로 네트워크 요청이 시작된다.