[iOS] URLSession 정리

Zerom·2024년 4월 15일
0

iOS 정리

목록 보기
3/6
post-thumbnail

URL

URI 란?

  • Uniform Resource Identifier : 인터넷상의 리소스 "자원 자체"를 식별하는 고유한 문자열 시퀀스
  • Uniform : 리소스를 식별하는 통일된 방식
  • Resource : URI로 식별이 가능한 모든 종류의 자원(웹 브라우저 파일 및 그 이외의 리소스 포함)을 지칭
  • Identifier : 다른 항목과 구분하기 위해 필요한 정보

URL 이란?

  • Uniform Resource Location : 네트워크상에서 통합 자원(리소스)의 "위치"를 나타내기 위한 규약, 특정 웹 페이지의 주소에 접속하기 위해서는 웹 사이트의 주소뿐만 아니라 프로토콜(https, http, sftp, smp 등)을 함께 알아야 접속이 가능한데, 이 모두를 나타내는 것이 URL
  • URI의 방법 중 하나가 URL
  • google.com은 리소스 이름만 나타내기 때문에 URI, https://google.com 은 프로토콜까지 포함한 URL

URI, URL 구조

https://www.google.com/search?q=url%EC%9D%B4%EB%9E%80

  • Scheme : 리소스에 접근하는 데 사용할 프로토콜 => https://
  • Host : 접근할 대상(서버)의 호스트 명 => www.google.com
  • Path : 접근할 대상(서버)의 경로에 대한 상세 정보 => search
  • query : 접근할 대상에 전달하는 추가적인 정보 (= 파라미터) => q=url%~~~

URLSession

URLSession이란?

  • 앱과 서버간에 데이터를 주고받기 위해서 HTTP 사용
  • URLSession은 URLSessionConfiguration을 통해 생성하고 URLSession은 여러 개의 URLSessionDataTask를 생성하여 이를 통해 서버와의 통신을 하고 Delegate를 통해 네트워크의 과정을 확인하는 형태

URLSessionConfiguration

  • .default : 기본 통신을 할 때 사용 - 쿠키와 같은 저장 객체 사용
  • .ephemeral : 쿠키나 캐시를 저장하지 않는 정책을 사용할 때 사용
  • .background : 앱이 백그라운드 상태에 있을 때 컨텐츠를 다운로드/업로드

URLSessionTask 작업 유형

  • URLSessionDataTask : 기본적인 데이터를 받는 경우, response 데이터를 메모리 상에서 처리
  • URLSessionUploadTask : 파일 업로드 시 사용, 사용하기 편한 request body 제공
  • URLSessionDownloadTask : 실제 파일을 다운받아 디스크에 사용될 때 사용

참고 사이트

profile
꼼꼼한 iOS 개발자 /
Apple Developer Academy @ POSTECH 2기 / 멋쟁이사자처럼 앱스쿨 1기

0개의 댓글