본문 바로가기
제니의 개발일지/개발일지

TIL - 2022.10.24 - 웹 프로토콜, AJAX, React를 왜 사용할까, 이벤트 버블링, 이벤트 버블링을 막는 방법, 이벤트 버블링 활용 방법, 이벤트 위임, 부모에서 자식으로 이벤트 상속하는 방법

by 제니운 2022. 10. 24.
728x90

 

 

 

✅ 정리했었던 내용 복습

 

 

1️⃣ 웹 프로토콜이란?

 

- 프로토콜이란, 데이터를 송수신하기 위한 규칙

- 서버와 클라이언트 모두 HTTP를 이용해 통신하기 때문에 HTTP에 대한 지식이 중요하다.

- HTTP는 GET, POST, PUT ,HEAD 4가지 요청 형식이 있다.

- GET은 문서를 요청하고 서버가 클라이언트에 상태 정보와 복제된 문서를 보냄으로써 응답한다.

- POST는 데이터를 서버로 송신하고 서버는 해당 데이터를 특정 아이템에 덧붙인다.

- PUT은 데이터를 서버로 송신하고 서버는 특정 아이템을 완전히 대체한다.

- HEAD는 상태 정보를 요청한다. GET과 동일한 형태로 응답을 하지만 문서를 복제하지는 않는다.

 

 

2️⃣ AJAX란 무엇인가?

 

- Asynchronous JavaScript And XML 비동기식 자바스크립트와 XML의 약자이다.

- 브라우저가 가지고 있는 XmlHttpRequest 객체를 이용해서 전체 페이지를 새로고침하지 않고도 일부만을 위한 데이터를 로드하는 기법이다.

- JavaScript를 사용한 비동기식 통신이며 서버와 클라이언트간에 XML 데이터를 주고받는 기술

- 웹 페이지의 속도가 향상된다.

- 서버의 처리가 완료될 때 까지 기다리지 않고 처리가 가능하다.

- 서버에서 data만 전송하면 되므로 전체적인 코드의 양이 줄어든다.

- 기존 웹에서는 불가능했던 다양한 UI를 가능하게 해준다.

- 히스토리 관리가 되지 않는다.

- 연속으로 데이터를 요청하면 서버의 부하가 증가할 수 있다.

- 페이지가 이동하지 않는 통신이므로 보안에 신경을 써야 한다.

- XmlHttpRequest를 통해 통신을 하는 경우 사용자에게 아무런 진행 정보를 주지 않기 때문에 사용자가 요청이 완료가 안 되었는데 페이지를 떠날 수 있다. 

 

 

3️⃣ React를 왜 사용하는지

 

- 컴포넌트를 사용해서 효율적으로 재사용이 가능하며 유지보수가 용이하다.

- 생태계가 넓어 커뮤니티나 자료가 방대하며, 컨퍼런스가 많다.

- 다른 프레임워크나 라이브러리와 혼용이 가능하다.

- Virtual Dom을 활용한 렌더링이 가능하다.

- 단방향 데이터 바인딩을 통한 디버깅이 용이하다.

- 다른 라이브러리에 비해 안정성이 높다.

 

 

4️⃣ 이벤트 버블링

 

- 특정 화면 요소에서 이벤트가 발생했을 때 해당 이벤트가 더 상위의 화면 요소들로 전달되어 가는 특성

- 한 요소에 이벤트가 발생되면, 이 요소에 할당된 핸들러가 동작하고 이어서 부모 요소의 핸들러가 동작, 최상단의 부모 요소를 만날 때까지 반복되면서 핸들러가 동작한다.

 

 

 

5️⃣ 이벤트 버블링을 막는 방법

 

- stopPropagation() 인터페이스 방법, 캡처 event 및 버블링 단계에서 현재 이벤트의 추가 전파를 방지한다.

 

 

 

6️⃣ 이벤트 버블링 활용 방법

 

- 하위 요소 각각에 이벤트를 붙이지 않고 상위 요소에서 하위 요소의 이벤트들을 제어하는 방식으로 이벤트 버블링을 활용할 수 있다.

- 이벤트 위임이라고 말할 수 있다.

- 이벤트 버블링을 응용하여 부모 엘리먼트에 리스너를 위임하여 부착하면, 리스터의 개수를 1개로 줄여 최적화할 수 있다.

 

 

 

7️⃣ 이벤트 위임

 

- 하위 요소마다 이벤트를 붙이지 않고 상위 요소에서 하위 요소의 이벤트들을 제어하는 방식

- 비슷한 방식으로 여러 요소를 다뤄야 할 때 사용된다.

- 이벤트 위임을 사용하면 요소마다 핸들러를 할당하지 않고 요소의 공통 조상에 이벤트 핸들러를 단 하나만 할당해도 여러 요소를 한꺼번에 다룰 수 있다.

- 공통 조상에 할당된 핸들러에서 event target을 사용하면 실제 어디서 이벤트가 발생했는지 알 수 있고 이를 이용해 이벤트를 핸드링 한다.

 

 

8️⃣ 부모에서 자식으로 이벤트 상속 방법

 

- 이벤트 캡처링을 사용해서 부모에서 자식으로 이벤트를 상속할 수 있다.

- 이벤트 버블링과 반대로 상위 요소에서 하위 요소로 탐색하며 이벤트를 전파하는 방식이다.

 

728x90