본문 바로가기
728x90
반응형

목차훔치기/네트워킹과 웹 성능 최적화 기법17

WebRTC(네트워킹과 웹 성능 최적화 기법) WebRTC WebRTC WebRTC(웹 실시간 통신)는 실시간 음성, 비디오 및 데이터 통신을 위한 오픈 소스 프로젝트입니다. 주로 웹 브라우저 간에 피어 투 피어 통신을 지원하는 기술로 사용됩니다. WebRTC는 Google, Mozilla, Opera 등의 기업 및 개발자들이 참여한 프로젝트로, 다양한 플랫폼과 기기에서 웹 응용 프로그램을 통한 실시간 통신을 가능케 합니다. WebRTC의 주요 기능과 구성 요소 노트 (노드) 서버 없는 피어 투 피어 통신: WebRTC는 중간 서버 또는 노드 서버 없이 웹 브라우저 간에 직접 통신을 지원합니다. 이는 높은 성능 및 낮은 지연을 제공하며 중간 단계를 거치지 않아 더욱 효율적인 통신을 가능케 합니다. 미디어 스트림 관리: WebRTC는 오디오 및 비디오.. 2023. 12. 7.
웹소켓(WebSocket)(네트워킹과 웹 성능 최적화 기법) 웹소켓(WebSocket) 웹소켓(WebSocket) 웹소켓(WebSocket)은 실시간 양방향 통신을 지원하는 네트워크 프로토콜 중 하나입니다. 웹소켓은 기존의 HTTP 프로토콜과는 다르게 클라이언트와 서버 간에 지속적인 연결을 유지하며 데이터를 양방향으로 주고받을 수 있습니다. 이러한 특성은 실시간 웹 애플리케이션을 구현하는 데 매우 유용합니다. 웹소켓이 등장하기 이전에는 웹 애플리케이션에서 실시간 통신을 구현하기 위해 다양한 기술과 트릭을 사용해야 했습니다. 예를 들면, 폴링(Polling), 롱 폴링(Long Polling), Comet 등의 방법을 통해 실시간성을 흉내내기도 했지만, 이러한 방법들은 각각의 단점이 있었습니다. 웹소켓 주요 특징 실시간 양방향 통신: 클라이언트와 서버 간에 양방향으.. 2023. 12. 6.
서버 발송 이벤트(네트워킹과 웹 성능 최적화 기법) 서버 발송 이벤트 서버 발송 이벤트 "서버 발송 이벤트(server push event)"는 웹 애플리케이션에서 사용되는 통신 기술 중 하나입니다. 이 기술은 서버에서 클라이언트로 데이터를 비동기적으로 전송하는 방법을 제공하여, 실시간 업데이트 및 푸시 기능을 구현하는 데 사용됩니다. 기존의 클라이언트-서버 통신은 클라이언트가 서버에 요청을 보내고, 서버가 응답을 반환하는 방식이었습니다. 그러나 이 방식은 주로 클라이언트가 서버에게 어떤 일이 발생했는지 알려주는 방법으로 사용되었습니다. 서버 발송 이벤트는 이러한 상호 작용을 뒤집어서, 서버에서 클라이언트로 데이터를 푸시하여 언제든지 새로운 정보를 전달할 수 있게 합니다. 서버 발송 이벤트의 주요 특징 단방향 통신: 클라이언트가 서버에 명시적으로 요청을 .. 2023. 12. 5.
XMLHttpRequest(네트워킹과 웹 성능 최적화 기법) XMLHttpRequest XMLHttpRequest XMLHttpRequest는 웹 브라우저에서 제공하는 JavaScript 객체로, 서버와 상호작용하기 위해 사용됩니다. 주로 비동기적으로 서버에 데이터를 요청하고 응답을 처리하는 데에 쓰입니다. 이 객체는 AJAX(Asynchronous JavaScript and XML) 기술을 구현하는 데 사용되며, 최근에는 JSON과 같은 다양한 형식의 데이터를 다룰 수 있도록 발전해왔습니다. XMLHttpRequest를 사용하면 웹 페이지를 새로 고치지 않고도 서버로부터 데이터를 가져와 페이지의 일부를 업데이트할 수 있습니다. 주요 메서드와 이벤트 주요 메서드: open(method, url, async, user, password): HTTP 요청을 초기화합니.. 2023. 12. 4.
브라우저 네트워킹의 첫걸음(네트워킹과 웹 성능 최적화 기법) 브라우저 네트워킹의 첫걸음 브라우저 네트워킹의 첫걸음 브라우저 네트워킹은 웹 페이지가 서버와 통신하는 프로세스를 의미합니다. 이는 주로 HTTP 또는 HTTPS 프로토콜을 사용하여 이루어지며, 웹 페이지에서 데이터를 받아오거나 서버에 데이터를 보내는 데 사용됩니다. 브라우저 네트워킹의 기본 단계 URL 해석: 사용자가 브라우저에 URL을 입력하면, 브라우저는 이를 해석하고 해당 웹 페이지의 호스트, 프로토콜, 포트 등을 추출합니다. DNS 조회: 호스트 이름을 IP 주소로 변환하기 위해 DNS(Domain Name System) 서버에 요청을 보냅니다. 이 단계에서 호스트의 IP 주소를 얻습니다. TCP 연결: 브라우저는 얻은 IP 주소와 서버의 포트 번호를 사용하여 TCP(Transmission Con.. 2023. 12. 3.
애플리케이션 전송 최적화(네트워킹과 웹 성능 최적화 기법) 애플리케이션 전송 최적화 애플리케이션 전송 최적화 애플리케이션 전송 최적화는 애플리케이션이 데이터를 전송하는 과정을 효과적으로 관리하여 성능을 향상시키는 프로세스를 나타냅니다. 이는 네트워크 대역폭을 효율적으로 사용하고 사용자 경험을 최적화하는 것을 목표로 합니다. 애플리케이션 전송 최적화 다양한 방법 압축 및 최소화: 데이터를 압축하여 전송 크기를 줄이고, 이미지, 스크립트, 스타일 시트 등의 리소스를 최소화하여 전송 속도를 높입니다. 캐시 활용: 반복적으로 사용되는 리소스를 로컬 캐시에 저장하여 필요할 때 다시 다운로드하지 않고 사용할 수 있도록 합니다. 이는 사용자가 애플리케이션을 여러 차례 방문할 때 로딩 시간을 단축합니다. 로드 지연 최소화: 애플리케이션이 초기 로드될 때 필요한 핵심 리소스를 .. 2023. 12. 2.
HTTP 2.0(네트워킹과 웹 성능 최적화 기법) HTTP 2.0 HTTP 2.0 HTTP/2.0은 월드 와이드 웹에서 데이터를 전송하기 위한 프로토콜 중 하나로, 이전 버전인 HTTP/1.1의 성능과 효율성을 향상시키기 위해 개발되었습니다. HTTP/2.0의 주요 특징과 동작 방식 Multiplexing (다중화): HTTP/2.0은 한 번에 여러 개의 요청 및 응답을 처리할 수 있도록 설계되어 있습니다. 이전의 HTTP/1.1은 요청과 응답이 순차적으로 이루어져야 했지만, HTTP/2.0에서는 다중화를 통해 여러 스트림을 동시에 처리할 수 있습니다. 이것은 웹 페이지의 로딩 속도를 향상시키는 데 도움이 됩니다. Header Compression (헤더 압축): HTTP/2.0은 헤더 필드를 압축하여 전송하는 방식을 사용합니다. 이전의 HTTP/1.1.. 2023. 12. 1.
HTTP 1.X(네트워킹과 웹 성능 최적화 기법) HTTP 1.X HTTP 1.X HTTP (Hypertext Transfer Protocol)는 웹에서 데이터를 전송하는 데 사용되는 프로토콜입니다. HTTP의 버전에는 여러 가지가 있으며, "HTTP 1.x"는 그 중에서도 1.0, 1.1 등의 하위 버전을 나타냅니다. HTTP 주요 특징및 버전 간 차의 HTTP 1.0 최초의 HTTP 버전으로, 1996년에 제정되었습니다. 단일 연결을 통해 하나의 요청과 응답을 주고받습니다. 지속적인 연결(persistent connection)을 지원하지 않아 매번 새로운 연결을 맺어야 했습니다. 헤더의 형식이 단순하며, 보안 기능이 제한적입니다. HTTP 1.1 1997년에 도입되었으며, 현재까지 가장 널리 사용되는 버전 중 하나입니다. 지속적인 연결을 지원하여 .. 2023. 11. 30.
웹 성능 이해의 첫걸음(네트워킹과 웹 성능 최적화 기법) 웹 성능 이해의 첫걸음 웹 성능 이해의 첫걸음 웹 성능 이해의 첫걸음은 웹 페이지가 어떻게 작동하고 로드되는지 이해하는 것입니다. 웹 성능은 사용자가 웹 페이지를 요청했을 때부터 페이지가 완전히 로드되고 사용 가능한 상태가 될 때까지의 시간을 의미합니다. 웹 성능 이해와 단계 브라우저의 동작 이해: 사용자가 웹 페이지에 접속하면 브라우저가 웹 페이지의 HTML, CSS, JavaScript 등의 리소스를 서버에서 다운로드합니다. 브라우저는 HTML 문서를 파싱하고 DOM(Document Object Model)을 생성합니다. 이는 웹 페이지의 구조를 표현하는 트리 구조입니다. CSS 파일을 다운로드하고 파싱하여 스타일 규칙을 적용하고, JavaScript 코드를 실행하여 페이지를 동적으로 만듭니다. 네트.. 2023. 11. 29.
728x90
반응형