DOM
- Document Object Model의 약자
- 웹 페이지의 프로그래밍 인터페이스
- HTML, XML 문서의 구조화된 표현을 제공하고, 프로그래밍 언어가 DOM 구조에 접근할 수 있는 방법을 제공
- 웹 페이지의 콘텐츠, 구조, 스타일을 동적으로 변경할 수 있게 함
AJAX
- Asynchronous JavaScript and XML의 약자
- 웹 페이지를 리로드하지 않고 서버와 데이터를 교환하고 업데이트하는 기술
- JavaScript를 사용하여 비동기적으로 서버와 통신
- 웹 애플리케이션의 속도와 사용성을 향상시킴
Axios
- Promise 기반의 HTTP 클라이언트 라이브러리
- 브라우저와 Node.js에서 사용 가능
- AJAX 요청을 쉽게 만들고 처리할 수 있게 해줌
- 자동 변환, 인터셉터, 에러 핸들링 등 다양한 기능 제공
REST
- Representational State Transfer의 약자
- 웹 서비스를 위한 소프트웨어 아키텍처 스타일
- 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 것을 의미
- HTTP 프로토콜을 기반으로 하며, CRUD 연산을 HTTP 메소드로 매핑
JSON
- JavaScript Object Notation의 약자
- 데이터를 저장하고 전송하기 위한 경량의 데이터 교환 형식
- 사람이 읽고 쓰기 쉽고, 기계가 파싱하고 생성하기 쉬운 텍스트 기반의 형식
- 객체, 배열, 숫자, 문자열, 불리언, null 값을 표현할 수 있음
JSP
- JavaServer Pages의 약자
- 동적 웹 페이지를 생성하기 위한 Java 기반의 서버 사이드 프로그래밍 기술
- HTML 코드에 Java 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성
- 서블릿 기술을 확장한 것으로, 보다 쉽게 뷰를 작성할 수 있게 함
Servlet
- 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램
- 클라이언트의 요청을 처리하고 응답을 생성하는 자바 클래스
- HTTP 프로토콜 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속받아 구현
- 웹 애플리케이션 로직을 담당하며, MVC 패턴에서 컨트롤러 역할을 수행
Web container
- 웹 서버의 컴포넌트 중 하나로, 서블릿과 JSP를 실행하는 환경을 제공
- 서블릿의 생명주기를 관리하고, URL과 특정 서블릿을 매핑하여 요청을 처리
- 멀티쓰레딩 지원, 선언적인 보안 관리 등의 기능을 제공
- Tomcat, Jetty, Undertow 등이 대표적인 웹 컨테이너 예시