TIL(Today I Learned)

9월 29일(수)

학습내용

  • REST API
    • REST API란?
      • REST 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스
      • HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다.
    • REST API는 왜 REST인가?
      • Representational State Transfer의 줄임말
  • HTTP METHOD 중 PATCH의 용도는?
    • 리소스의 일부분만을 수정할때 사용
  • HTTP Status Code의 종류
    • 1xx: 조건부 응답
    • 2xx: 성공
    • 3xx: 리다이렉션 완료
    • 4xx: 요청 오류
    • 5xx: 서버 오류
  • OAuth란?
    • OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준
  • HTTP vs HTTPS
    • HTTP의 문제점은 서버에서부터 브라우저로 전송되는 정보가 암호화되지 않는다는 것인데, HTTPS 프로토콜은 SSL(보안 소켓 계층)이나 TLS을 사용하여 이 문제를 해결하였다.
    • SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 한다.
    • SSL 인증서의 유무가 가장 큰 차이점이다. SSL은 서버가 신뢰할 수 있는 서버임을 보장하며, SSL 통신에 사용할 공개키를 클라이언트에게 제공한다.
  • Session vs Cookie vs Cache
    • Session: 서버에서 유저의 인증상태(로그인 여부)를 임시로 저장한 파일
    • Cookie: 브라우저를 사용하는 환경(로컬)에 서버에서 받은 데이터를 저장하는 파일
    • Cache: Cookie와 마찬가지로 브라우저를 사용하는 환경(로컬)에 서버에서 받은 데이터를 저장하는 파일이지만, 이미지 같이 리소스가 큰 데이터를 또 다시 받지 않기 위해 로컬에 저장하는 것.
  • OSI 7 Layer란?
    • OSI 7 계층(OSI 7 Layer)는 네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리하여 각 계층간 상호 작동하는 방식을 정해 놓은 것 이다. 이는 ISO(국제표준화기구)에서 개발한 모델이다.
  • TCP란?
    • 신뢰성을 보장.
    • 3 핸드쉐이크를 통해 연결.
      • 클라이언트가 서버에게 SYN 메세지를 난수를 SEQ 넘버로 보냄.
      • 서버는 SYN 메세지를 받으면 SYN+ACK 메세지를 보내며, 클라이언트가 보낸 SEQ넘버에 1을 증가시킨 값과 난수를 ACK 넘버로 보냄.
      • 클라이언트는 다시 서버에게 SYN을 보내며, 서버가 보낸 ACK넘버에 1을 더해서 보낸다. 그러면 TCP연결이 성립된다.
    • 4 핸드쉐이크를 통해 연결을 종료.
    • 흐름제어, 오류제어, 혼잡제어
  • App Life Cycle
    • 앱의 상태가 변화할 때, 상태에 따라 앱이 취해야 할 행위를 정해주기 위한 개념.
    • 앱의 상태
      • Not Running
      • Inactive
      • Active(Foreground)
      • Background
      • Suspended
  • View Controller Life Cycle
    • 뷰컨트롤러가 나타나고 사라지는 것처럼 상태가 변화할 때, 상태에 따라 뷰컨트롤러가 취해야 할 행위를 정해주기 위한 개념.
    • 뷰컨트롤러의 상태
      • viewDidLoad
      • viewWillAppear
      • viewDidAppear
      • viewWillDisappear
      • viewDidDisappear

참고