본문 바로가기

Tech/iOS

[iOS] Day30 - Rest API

728x90

새로운 개념은 항상 새롭다

오늘도 달려보자


Rest API

*Uniform Interface

- 자원에 대한 식별이 가능해야함

- HTTP Method를 통해 자원을 조작

 

*Stateless(무상태)
- HTTP의 특징이므로 REST 또한 가짐
- 클라이언트와 통신을 한 후, 상태가 서버에 저장되지않고 종료됨


*Cacheable(캐시 가능)
- HTTP의 특징이므로 REST도 사용 가능
- 서버의 부하를 감소시킬 수 있음


*Self-descriptiveness(자체 표현 구조)
- 쉽게 이해할 수 있는 자체 구조를 가져야함

*Client - Server 구조


*계층형 구조

 

단점

*Overfatching

- 필요한 정보값 보다 더 많은 정보가 들어올 수 있다

 

*Underfatching

- 필요한 정보보다 더 적은 로딩으로 인해 추가 API 요청이 필요

 

*EndPoint

- 서버가 커질수록 관리해야 할 EndPoint 수가 늘어서 관리하기가 어려워진다

- 서비스 pivot 및 업데이트로 기존 API EndPoint가 사라지거나 변경될 경우 기존 Client 업데이트를 하지 않은 사용자에게 문제가 발생할 수 있다

 


HTTPS

예전 게시물 중 ATS 글을 보면 애플의 보안 정책 때문에 대부분의 http는 막는 것을 볼 수 있었다

plist 에서 ATS 설정을 통해 허용했었는데 

그냥 s만 붙이면 되지 않을까?

글자 하나 붙인다고 보안이 강화된다면 수많은 사람들이 일자리를 잃을 것이다

글자 하나 차이지만 https가 되기 위해서는 수많은 절차를 통과 해야한다

HTTP와 다르게 HTTP Body는 보이지 않고 데이터 암호 전송 방식이다

'Tech > iOS' 카테고리의 다른 글

[iOS] Day 31 - Device Network Condition  (0) 2022.08.03
[iOS] Day 31 - Xcode에서 gitignore 생성하는 간단한 방법  (0) 2022.08.03
[iOS] Day29 - Api 통신  (0) 2022.08.01
[iOS]Day 29 - Singleton Pattern  (0) 2022.08.01
[iOS] Day 26 - Custom Font  (0) 2022.07.29