본문 바로가기

언어 및 용어 정리/용어정리

[용어정리] 4 API

> 다음은 스스로 공부하고 정리하기 위해 작성된 글이며, 잘못된 정보가 있을 시 댓글 부탁 드립니다. 

 

🎫 API

포인트 : 주소 , 메서드, 응답형식


일반 http API와 restful api의 차이점

 

``` 
Restful(유의미하게 명확히 쓰기) 
/users POST = 사람을 추가해라 
/users GET = 사람목록을 달라  
/users/1 GET = 1번사람에 대한 정보를 달라 
/users/1 DELETE = 1번삭제해라 
``` 

``` 
일반 API 느낌적인 느낌 
뭔가 가져오는 행위는 전부 GET 
뭔가 변화하거나 하는건 왠만하면 전부 POST 
/userlist GET 
/userdelete?id=1 POST 
/user?id=1 GET 
/adduser POST 
``` 

API :Application Programming Interface /어플리케이션 프로그래밍 인터페이스 / 서버간에도 통신가능 / 웹서버는 웹클라이언트에게 데이터베이스에 있는 데이터를 잘 활용할 수 있도록 어떠한 인터페이스(형식/양식)를 전달 : **프로그램간에 주고 받는 상호작용을 해주는 것**

REST :  Representational State Transfer / HTTP 기반으로 필요한 자원에 쉽게 접근할 수 있도록 도와주는 아키텍터 / **`Rest`는 `URI`(자원,리소스)를 통해 자원을 표시(표현)하고, `HTTP METHOd`(행위 verb)를 이용하여 해당 자원의 행위를 정해주며, 그 결과를 주고받는 것**

REST API (Restful한 API): REST 를 기반으로 설계한 API :green_apple: //HTTP 통신에서 어떤 자원에 대한 CRUD 요청을 URI(Resource)와 Method로 표현하여 특정한 형태로 전달하는 방식 / 인터넷 식별자(URI)와 HTTP 프로토콜 / 웹에 최적화되어 있고, 데이터 포맷이Representation of Resource(자원의 형태, JSON) 이기 때문에 브라우저들 간에 호환성이 좋음 // 

- HTTP 메서드  :  CRUD post get put delete 4가지 메서드
- 특징 : Uniform Interface(일관된 인터페이스), 상태없음, 캐시가능, 서버-클라이언트구조, 요청메세지로 이해가능한 자체표현구조

- 상태응답코드 / 클라이언트가 서버에게 자원을 요청하면, 서버가 그에 대한 응답으로 상태를 알수가 있음. 200 정상/ 400 클 잘못/ 500 서버잘못 

SOAP(Simple Object Access Protoco)는 프로토콜(통신규약)이고, REST는 아키텍처 스타일(기능,입출력장치 구성방식)