본문 바로가기

컴퓨터 상식

Ajax는 Restful 할 수 있는가.

Ajax는 비동기적인 웹 어플리케이션을 제작하려고 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부만을 위한 데이터를 로드하는 기법이다.

 

궁금한 건 이 Ajax가 Restful API가 될 수 있냐는 것이다.

 

걸리는 지점은 

 

REST 중 Uniform Interface의 HATEOAS(Hypermedia as Transfer Engine of Application State) 이다. 

 

An application's state is roughly the entire contents of its memory. 

 

여기서 Application State은 응용프로그램을 실행하는데 필요한 항목의 총합을 말한다. 

 

그러니까 결국 이 페이지를 실행하는데 필요한 항목들을 전이하는 엔진으로서 Hypermedia 성격을 지녀야 한다.

 

즉, 페이지를 이동하라는 뜻이다.

 

Ajax는 페이지 일부만을 위해 데이터를 로드하고 

 

HATEOAS는 페이지 전체의 이동을 위한 리소스를 제공한다면, 둘은 모순되기 때문에 Ajax는 Restful API가 될 수 없다는 게 결론이다.