728x90

ajax를 사용하면 웹앱은 기존 페이지의 화면 및 동작을 방해하지 않으면서 백그라운드에서 비동기적으로 서버로 데이터를 보내고 서버에서 데이터를 받아올 수 있다.
 
ajax는 프리젠테이션레이어에서 데이터교환레이어를 분리함으로써, 웹페이지 및 확장 웹앱이 전체 페이지를 다시 로드할 필요 없이 동적으로 컨텐츠를 변경할 수 있도록 한다.

==sync, async
비동기는 동시에 일어나지 않는다를 의미합니다. 요청과 결과가 동시에 일어나지 않을거라는 약속입니다. 요청한 그 자리에서 결과가 주어지지 않음 노드 사이의 작업 처리 단위를 동시에 맞추지 않아도 된다. 비동기방식은 동기보다 복잡하지만 결과가 주어지는데 시간이 걸리더라도 그 시간 동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있는 장점이 있습니다.

동기방식은 설계가 매우 간단하고 직관적이지만 결과가 주어질 때까지 아무것도 못하고 대기해야 하는 단점이 있고,

비동기(시간적 비대칭) 비유:
블록과 논블록의 차이를 간략하게 설명하자면, 학생이 시험지를 선생에게 건넨 후 가만히 앉아 채점이 끝나서 시험지를 돌려받기만을 기다린다면 학생은 블록 상태입니다. 하지만 학생이 시험지를 건넨 후 선생에게 채점이 완료되었다는 전송을 받기 전까지 다른 과목을 공부한다거나 게임을 한다거나 다른 일을 하게 되면 학생의 상태는 논블록 상태라고 합니다.

'JavaScript' 카테고리의 다른 글

[JavaScript] OAuth 2.0  (0) 2020.09.12
[JavaScript] BOM, DOM  (0) 2020.08.09

+ Recent posts