동기방식 (Synchronous)
요청을 보낸 후 응답(=결과)를 받아야지만 다음 동작이 이루어지는 방식이다.
어떠한 일을 처리할 동안 다른 프로그램은 정지한다.
실제 cpu가 느려지는 것은 아니지만 시스템의 전체적인 효율이 저하된다고 할 수 있다.
비동기 방식 (Asynchronous)
요청을 보낸 후 응답(=결과)와는 상관없이 다음방식이 동작하는 방식이다.
결과가 주어지는데 시간이 걸리더라도 그 시간 동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있다.
비동기식은 비동기식 처리를 요청할 때 할일 이 끝난 후 처리결과를 알려주는 콜백이라는 함수를 함께 알려준다.
비동기식 처리를 요청하였을 때 호출받은 함수는 바로 응답(=확인)을 수행한다.
이 응답은 처리 결과에 대한 응답이 아니라 요청에 대한 확인 동작일 뿐이다.
호출받은 함수는 처리가 끝나면 요청한 함수를 호출하여 처리 결과를 전달하게 된다.
이러한 함수 호출의 흐름은 사용자가 아닌 일을 마친 시스템이 호출하는 형태이기 때문에 콜백이라고 불린다.
이미 응답을 했기 때문에 처리결과를 함수 호출이라는 형태로 전달하는 것이다.
비동기 방식은 DOS같은 단일 운영체제에서는 불가능하며 windows 같은 multitask 환경에서만 가능하다.
(ajax에서는 success, error, complete 을 콜백함수라고 할 수 있다.)
<동기식> <비동기식>
Ajax
기존에는 Ajax는 Asynchronous Javascript and XML의 약자로 사용되었으나 이후에는 웹 어플리케이션 개발에 사용되는 기술 그룹을 말한다.
비동기 방식인 Ajax의 주목적으로는 화면 전환 없이 클라이언트와 서버간의 정보를 교환하기 위해서이다.
기존 웹 어플리케이션에서는 HTTP 요청이 웹 서버로 전달되며, 웹 서버는 요청을 처리한 후 사용자에게 HTML 페이지를 리턴한다.
이 과정에서 HTTP 전송 중에는 사용자는 웹 어플리케이션과 상호 작용을 할 수 없다.
하지만 Ajax 통신을 이용하면 클라이언트와 화면을 랜더링하고 사용자와 서버간의 HTTP 전송과는 별도로 웹어플리케이션과 상호 작용을 할 수 있다.
참고
https://blog.naver.com/lifesoft/30015652725
https://seohs.tistory.com/432
https://martinwork.tistory.com/2
'용어정리' 카테고리의 다른 글
[용어정리] DTD란? (0) | 2019.05.23 |
---|---|
[용어정리] BPMN (0) | 2018.09.09 |
[용어정리] UI/UX 란? (0) | 2018.09.05 |
댓글