🍕 HTTP 통신 HTTP 통신은 client 가 데이터가 필요할 때마다 server 에게 요청하고, server 는 그 데이터를 응답하고 바로 연결이 종료되는 방식이다. 이처럼 HTTP 통신은 단방향 통신이라서 client 만 server 에게 요청할 수 있고 server 는 client 에 요청할 수 없다. 응답만 가능하다. 실시간으로 서비스해야할 경우를 제외하고 HTTP 통신을 사용하는데 server 의 부담을 줄여준다. 🍕 HTTP 메시지 client 가 server 에게 요청할 때 일정한 형식을 갖춰서 텍스트 기반의 메시지로 변환해서 전달해야한다. 그 형식을 HTTP 메시지라고 한다. 구조 요청메시지와 응답 메시지를 알아보자. 공통적으로 라인 - 헤더 - 바디 로 구성된다. 라인 메시지의 가장 ..
지금까지 GET, POST 통신만 사용해보았다. DELETE 와 PATCH 도 구현해보자. 먼저 DELETE 와 PATCH 통신에 대해서 알아보자. 🍕 DELETE? 특정 리소스를 삭제. DELETE 는 request body 가 없지만 response body 가 존재한다. 🍕 PATCH? 특정 리소스의 부분만을 수정. PATCH 는 request body 와 response body 가 존재한다. 사진 출처 : HTTP - 위키백과, 우리 모두의 백과사전 🍕 Moya 에서 DELETE, PATCH 구현하기 path 와 method 를 설정하는 과정까지는 순조롭다고 생각한다. 다음의 세가지 통신을 구현해보자. fetchPopoList : GET 통신. deletePopo : URL path 에 정수형을..
내용 버튼을 통해서 특정 문자열을 손쉽게 클립보드에 복사하기. 시작전 먼저 UIPateboard 에 대해서 개발자문서를 통해 알아보자. 🖇 UIPasteboard 사용자가 앱 내의 한 위치에서 다른 위치로 데이터를 공유하는 것을 돕는 객체. Overview 다른 앱과 데이터를 공유하려면 시스템 전체의 genaral pasteboard 를 사용해라. 같은 team ID 를 가지는 다른 앱으로 데이터를 공유하려면 pasteboards 의 이름을 사용해라. 일반적으로 앱의 객체는 유저가 인터페이스의 선택항목에 대한 복사, 잘라내기, 복제 작업을 요청할 때 데이터를 쓴다. 그런 다음 같거나 다른 앱의 다른 객체가 pasteboard 에서 데이터를 읽고 새 위치에서 제공한다. 이것은 일반적으로 붙여넣기 작업을 요..
따란, URLSession 을 공부하면서 Alamofire 에서는 어떻게 구현했을까? 라는 궁금증에서 시작된 라이브러리 해체쇼 내용 upload task 와 data task 으로 POST 통신을 구현할 수 있다. Alamofire 에서는 어떻게 구현하고 있을까? Multipart/form-data POST 통신을 Alamofire 에서는 어떻게 구현하고 있을까? upload task 와 data task 으로 POST 통신을 구현할 수 있다. Alamofire 에서는 어떻게 구현하고 있을까? URLSessionDataTask 로 URLRequest 에 httpBody 를 설정해서 POST 통신을 할 수 있다. 또한, POST 통신을 목적으로 한 URLSessionUploadTask 를 사용할 수도 있다..
서버통신에서 가장 많이 사용하는 GET, POST 통신의 다양한 경우에 대한 코드를 작성해보겠다. GET 통신 기본적인 URL 만 가진 GET 통신 query parameter 를 가지는 GET 통신 http header 를 가지는 GET 통신 file 을 download 해서 임시저장하는 GET 통신(URLSessionDownloadTask 사용) Post 통신 request body 를 가지는 POST 통신(URLSessionDataTask 사용) request body 를 가지는 POST 통신(URLSessionUploadTask 사용) request body 에 image 를 포함한 multipart/form-data POST 통신 ⛑ 프로젝트 설정 https 가 아닌 http 로 진행할 경우 다..
아래의 글은 HTTP multipart/form-data 이해하기 를 토대로 여러 내용을 종합한 글입니다. 클라이언트에서 서버로 파일 업로드과정 이해하기 파일 업로드를 구현할 때, 웹브라우저는 HTTP 메시지는 Content-Type 속성이 multipart/form-data 로 지정된다. 그리고 이 형식에 따라서 메시지를 인코딩하여 전송한다. 서버는 이를 처리하기 위해서 각 파트별로 분리하여 개별 파일의 정보를 얻는 것이다. 그렇기 때문에 앱에서 구현하기 위해서 multipart/form-data 의 형식을 따르는 것이다. 이미지 파일을 png 나 jpg 파일 자체를 전송하는 것이 아니다. 이미지 파일도 문자로 이루어져 있기 때문에 문자로 생성해서 HTTP request body 에 담아 서버로 전송하..
많이들 알고있는 네트워크 오픈 라이브러리인 Alamofire 는 URLSession 으로 만들었다. URLSession 에 대해서도 알아보고 URLSession 사용법도 알아보자. 🛸 URLSession 의 Request Response 다른 HTTP 통신과 마찬가지로 Request 와 Response 를 기본구조를 가진다. Request URL 객체를 통해 직접 통신하는 형태 URLRequest 객체를 만들어서 옵션을 설정하여 통신하는 형태(HTTP 메서드와 HTTP 헤더가 포함) Response Task 의 completion handler 형태로 response 를 받는 형태 URLSessionDelegate 를 통해서 지정된 메서드를 호출하는 형태로 response 를 받는 형태 🛸 URLSess..
- WWDC
- YPImagePicker
- rxswift
- 서버통신
- containerBackground
- Notification
- Protocol
- WWDC22
- WidgetKit
- RxCocoa
- Firebase
- Algorithm
- 2022 KAKAO TECH INTERNSHIP
- configurable widget
- watchOS
- UserDefaults
- IOS
- github
- Swift
- MVVM
- MOYA
- CloneCoding
- Widget
- APNS
- async/await
- OpenSourceLibrary
- projectsetting
- Objective-C
- urlsession
- SwiftUI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Total
- Today
- Yesterday