Web APIs 넌 누구냐?

feelslikemmmm·2020년 8월 13일
1

WebAPIs

목록 보기
1/1

🙄Web APIs 가 뭘까?

브라우저에 대해 이해해보자

🧐 APIs란 Application Programming Interfaces의 약자다

이 말이 무슨 말일까?

우리가 일상생활을 예로 들어보면 자판기에서 내부적으로 어떻게 복잡하게 동작하는지

로직들이 어떻게 짜여있는지 전혀 몰라도 자판기에서 제공하는 동전 투입구에 동전을 넣고

버튼을 누르면 간단하게 우리가 원하는 기능을 수행 할 수 있다.

한가지 더 예를 들자면 전원 케이블에 우리가 소켓을 꽃기만 하면 내부적으로 어떻게

전원을 공급받아서 집집마다 연결되어 있는지 걱정하지 않아도

간단하게 전원을 이용할 수가 있다

그거랑 마찬가지로 윈도우에서 동작하는 어플리케이션을 만들고 싶다면

windows에서 제공하는 API를 이용해서 간단하게 윈도우 어플리케이션을 만들 수 있고

안드로이드나 이런 맥 os에서 제공하는 API를 이용하면 간단하게

모바일 어플리케이션을 만들 수 있다

그리고 유튜브에서 자신들의 백엔드 서비스에서 API들을 제공하게 되는데

우리가 이렇게 유튜브에서 제공하는 API를 이용해서 유튜브에 있는

데이터를 받아 올 수 있는 것들이 가능하게 된다

😊 APIs의 종류들

브라우저마다 공통적으로 제공하기로 규약 한 API들이 굉장히 많다

ex )

  • DOM APIs
  • Network APIs
  • Graphics APIs
  • Audio/video APIs
  • Device ApIs
  • File APIs
  • Storage APIs

너무나 많은 기능들이 제공되는데 사실 이 많은 APIs을 외운다는건 쉽지 않다. 그럴수도 없고

하지만 이런 다양한 API가 가능하고 존재한다는 것을 알고 나중에 프로젝트를 할 때

이런 APIs가 있었구나 이런게 가능하구나 하고 큰 그림을 보는게 중요하다고 한다.

더 많은 APIs는 MDN 에서 확인이 가능하다

정말 너무너무 많은 API가 있기 때문에 한번 쯤 읽어보는것이 좋다

Web APIs security ?????

MDN 에서 나오는 API중에 Secure context라는 보안 경고가 있는 API들이 있다.

Secure context
This feature is available only in secure contexts (HTTPS),
in some or all supporting browsers.

이런 문구가 적혀 있다.

브라우저는 사용자의 정보를 보호할 의무가 있기 때문에 정보 보안에 굉장히 민감하다

예를 들어서 우리가 로그인 한 정보를 다른 브라우저 탭에서 또는 다른 사용자가 쉽게

정보를 접근해서 빼나간다면 정말 위험한 일이고 그런 브라우저가 있다면

다신 사용하고 싶지 않을 것이다.

그래서 보안이 너무 중요하기 떄문에 간혹 어떤 Web APIs는 사용자의 권한 요청이나

HTTPS에서만 작동하는 WebAPIs도 있다.

🥺 그래서 HTTP가 뭔데요?

http는 웹 클라이언트와 서버가 어떻게 통신하는지 통신규약을 정해 놓은 것인데

HyperText Transfer Protocol의 약자로써 클라이언트가 서버에게 정보를 요청하고

다시 서버에서 정보를 받아오는 request를 하고

response를 받아오는 방식으로 이루어져 있다.

HTTPS는 HTTP에 S가 더해진 것인데

HyperText Transfer Protocol Secure 의 약자이다.

즉 정보를 주고받는 것들이 잘 감싸져있는 보안처리가 잘 된 것이라는 말인데

HTTP에서 패스워드를 입력해서 서버에게 보내게 되면 아무런 encryption이 일어나지 않고

즉, 아무런 보안 처리가 되지 않아서 패스워드가 그대로 전송이 되어서 해커가

네트워크가 어떻게 전송이 됐는지 그대로 들여다 볼 수 있는 반면에

HTTPS는 이렇게 secure 하게 encrypt가 되어서 사용자가 알아볼 수 없는 암호키로

보안이 되기 때문에 해커가 함부로 볼 수가 없다.

그래서 몇몇의 Web APIs는 HTTPS 환경에서만 동작할 수 있다.

profile
꾸준함을 잃지 말자는 모토를 가지고 개발하고 있습니다 :)

0개의 댓글