본문 바로가기
반응형

전체 글86

이벤트 버블링(Event Bubbling) - 상위 요소로 이벤트 전파 이벤트 버블링 (Event Bubbling) 이벤트 버블링이란, 웹 브라우저에서 이벤트가 발생했을 때, 해당 이벤트가 발생한 엘리먼트로부터 시작해서 DOM 트리를 따라 부모 요소로 전파되는 것을 말한다. 즉, 어떤 엘리먼트(예:button)에 이벤트(예:onClick)가 발생하면 해당 이벤트는 먼저 해당 엘리먼트에서 발생하고, 그 다음에는 요소의 부모, 또 전파되어 그 부모의 부모 등으로 계속 상위 엘리먼트로 전파되는 것을 말한다. 이 과정은 최상 요소인 또는 document 객체에 도달하거나, 이벤트의 전파가 명시적으로 중단될 때까지 계속된다. 이벤트 버블링은 이벤트를 처리하는 핸들러를 효율적으로 관리할 수 있게 해주는 중요한 메커니즘이다. 예를들어, 테이블에 여러 버튼이 있다고 가정하면, 각 버튼마다.. 2024. 2. 28.
서블릿(Servlet), WAS 서블릿(Servlet) Java를 사용하여 웹 서버에서 실행되는 프로그램을 작성하기 위한 기술이다. 서블릿은 클라이언트의 요청을 처리하고, 그결과를 클라이언트에게 다시 보내는 역할을 한다. WAS를 직접 구현하는 경우 순서 내용 1 서버 TCP/IP 연결 대기, 소켓 연결 : 클라이언트의 연결 요청을 대기하고 소켓을 통해 연결 2 HTTP 요청 메시지를 파싱해서 읽기: 클라이언트로부터 받은 HTTP 요청을 메시지로 파싱하여 읽는다. 3 POST 방식, /save URL 인지: HTTP 요청메서드가 무엇인지, 요청 URL의 경로를 인지하는 작업 4 Content-Type 확인 5 HTTP 메시지 바디 내용 파싱 예를 들어 JSON 형식의 데이터를 Java 객체로 파싱하는 작업 6 저장 프로세스 실행 7 비.. 2024. 1. 29.
웹 서버와 WAS(Web Application Server) 웹 서버(Web Server) 웹 서버란, 웹 상에서 정보를 제공하는 서버로 인터넷을 통해 데이터를 사용자에게 제공하는 역할을한다. 웹 서버는 HTTP 기반으로 동작하며, 정적 리소스(HTML, CSS, JavaScript, file, 이미지 등)를 빠르고 효율적으로 제공하는 데 최적화되어 있다. 주로 캐싱, 로드 밸런싱, 정적 파일의 압축 및 전송 등의 기능을 포함한다. 또한, 웹서버는 클라이언트와의 첫 번째 연결 지점으로서 보안 측면에서도 중요한 역할을 한다. SSL/TLS를 통한 암호화된 데이터 전송이 이루어지는 HTTPS 연결을 설정하고 관리하는 역할을 한다. 대표적인 웹 서버 소프트웨어로는 Apache, Nginx 등이 있다. [캐싱과 로드밸런싱] *참고* 캐싱(Caching) 로드 밸런싱(Lo.. 2024. 1. 28.
NextJS 데이터 최신화 설정, ISR과 캐싱 전략 NextJS의 데이터 최신화 1. ISR(Incremental Static Regeneration) ISR란? Next.js에서 제공하는 기능으로, 정적 생성과 서버 사이드 렌더링의 장점을 결합한 형태이다. ISR를 사용하면, 정적페이지를 빌드 시점에 미리 생성하고, 배포 후에도 정해진 간격으로 페이지를 업데이트 할 수 있다. 이 방법을 통해 페이지 로드 시간을 줄이고, 동시에 최신 컨텐츠를 유지할 수 있는 방법을 제공한다. ISR의 작동방식? 처음으로 페이지를 빌드할 때, 모든 페이지가 정적 파일로 생성된다. 개별 페이지에 revalidate 속성을 설정하면, 해당 페이지는 정해진 시간 간격마다 재생성될 수 있다. 페이지가 재생성되는 동안, 사용자들은 여전히 이전에 생성된 정적 페이지를 보게되며, 새로.. 2024. 1. 7.
Next JS, Client 컴포넌트와 Server 컴포넌트란? Client Components와 Server Components는 리액트 컴포넌트를 서버와 클라이언트 측에서 어떻게 처리하고 렌더링하는지에 대한 새로운 개념이다. 기본 리액트 컴포넌트 기본 리액트 앱에서는 모든 컴포넌트가 클라이언트 측에서 렌더링된다. 즉, 사용자의 브라우저에서 JS를 실행해서 UI를 구성한다는 의미이며, 이 방식은 상호작용이 많은 동적인 웹 애플리케이션에 적합하지만, 초기 로딩 시간이 길거나 SEO(검색 엔진 최적화)에 불리한 점이 있다. 서버 컴포넌트 서버 컴포넌트는 이름 그대로, 서버에서만 렌더링이되고, 최종 HTML 결과만 클라이언트로 전송된다. 즉, 상호작용이 없거나 병경되지 않는 UI를 작성할 때 이상적이라고 할 수 있다. 예를 들어, 데이터를 로드하고 표시하는 컴포넌트가 서.. 2024. 1. 6.
http method 웹의 리소스 식별 리소스란? HTTP 요청 또는 응답 대상을 리소스라고 하며, 웹 페이지, 문서,이미지 등 그 어떤 것이든 리소스가 될 수 있다. HTTP에서 각 리소스는 URI(URL+URN(잘 사용되지 않음))로 식별된다. 즉, 쉽게말해 리소스는 클라이언트와 서버간 주고 받는 어떠한 데이터(웹페이지 ,문서, 이미지, 모든 웹 콘텐츠 등)인 것이고, http는 클라이언트와 서버간 리소스를 안전하게 요청 또는 응답받기 위해 규칙을 제공하는 프로토콜인 것이다. 좋은 API URI 설계 규칙 가장 중요한 것은 리소스를 식별 -> 리소스를 URI에 매핑 - 예: /members(리소스)/100 - 회원 조회, /members(리소스)/200 - 회원 등록 등. 리소스와 리소스를 처리하는 행위를 분리 HTTP .. 2023. 11. 10.
반응형