초창기 웹은 특정 웹 페이지에서 다른 웹 페이지로 갈 수 있는 하이퍼링크를 클릭하면 새로운 웹 페이지가 로드 되는 방식이였다. 물론 이러한 방식은 현재도 사용하기 한다.
하지만 매번 이런식으로 새로운 웹이 로드 되는 방식은 특정 부분만 새로 보여지거나 없어지면 될 것 같은 상황에서는 많이 불필요하고 효율적이지도 않다고 느껴진다.
바로 이러한 점을 해결하기 위해 등장한 기술이 바로 Ajax이다.
Ajax는 현재 페이지를 그대로 유지한 채로 서버에 리퀘스트를 보내고 리스폰스를 받아서, 새로운 페이지를 로드 하지 않고 현재 웹 페이지에 변화를 줄 수 있는 방식의 기술이다.
즉 사용자가 보고 있는 현재 화면에 영향을 미치지 않고 별도로 백그라운드에서 작업을 처리한다는 것이다.
Ajax기술을 사용해서 통신을 하는 방법은 2가지 정도 있다.
XMLHttpRequest라는 객체를 사용해서 Ajax통신을 할 수 있다.
(XMLHttpRequest객체로 Ajax 방식을 완성 한 코드)
그러나 오늘날에는 잘 쓰지 않는다고 한다. 이유는
최신 문법인 fetch함수를 통해 조금 더 간결한 코드로 Ajax통신을 할 수 있다.
XMLHttpRequest를 기반으로 더 쓰기 편하게 만들어진 axios라는 패키기자 생겨 났다.
우리가 많이 사용해온 fetch함수는 사실 Ajax통신을 하는 함수였다.
PUT,POST등 여러 메소드 중에 PATCH라는 메소드를 활용하면 Ajax통신을 할 수 있다.
PUT과 차이점:PUT은 아예 새로운 데이터로 덮어쓰고 PATCH는 기존 데이터를 그대로 보존하면서 동시에 새로운 데이터를 추가할 수 있는것이다.