클라이언트가 어플리케이션의 내부 동작 로직을 몰라도 인터페이스 규칙만 따른다면 해당 어플리케이션의 기능을 사용할 수 있도록 해주는 것
ex) 카카오맵 API: 카카오맵이 어떤 식으로 내부에서 동작하는지 몰라도 길찾기, 항공뷰 지도 등의 기능을 사용할 수 있음
ex) 클라이언트(프론트) - 서버 API: 클라이언트(프론트)는 서버가 어떻게 동작하는지 몰라도 서버에서 제공해주는 API를 통해 일정 기능을 사용 가능 ex) 페이스북과 같은 sns라면 A라는 유저가 어떤 글을 작성했는지, 어떤 글을 좋아요 눌렀는지 등과 같은 것을 서버 내부에서 어떻게 돌아가는지 몰라도 API를 통해 알아낼 수 있음
Restful한 조건이란?
1. 자원을 정확히 명시하고,
2. 자원에 대한 행위를 Http Method로 표현하는 것
ex) 회원 정보 수정의 경우
1. 자원(회원)을 명시해야 함
2. 수정이니까 method put 사용
-> put + "/user/{userId}" or "/user?userId=" 이렇게 사용
JavaScript Object Notation. 데이터를 저장하거나 전송할 때 사용되는 데이터 포멧
eXtensible Markup Language
데이터 포맷 중 하나. 데이터를 표현할 때 태그를 통해 표현한다. html 문서와 달리 사용자가 자유롭게 태그를 만들 수 있음.
둘 다 파싱할 수 있는 데이터 포맷이지만 차이점도 있음
- JSON은 종료 태그를 사용하지 않습니다.
- JSON의 구문이 XML의 구문보다 더 짧습니다.
- JSON 데이터가 XML 데이터보다 더 빨리 읽고 쓸 수 있습니다.
- XML은 배열을 사용할 수 없지만, JSON은 배열을 사용할 수 있습니다.
- XML은 XML 파서로 파싱되며, JSON은 자바스크립트 표준 함수인 eval() 함수로 파싱됩니다.