HTML5: 웹 소켓 과 웹 워커
연습 중에 웹 작업자에 대한 객관식 질문을 접했습니다. 웹 작업자가 페이지 성능에 영향을 미칠까요? 과외를 한 후에는 영향을 미치지 않을 것이라는 대답이 나왔습니다.
웹 워커에 대해 알아보기 위해 관련 정보를 참고하다가 웹 소켓을 접하게 되었습니다. 요약하자면 다음과 같습니다.
웹 소켓과 워커의 역할: High-Business 구축을 위한 새로운 참조 솔루션을 제공합니다. 성능 웹 애플리케이션.
웹 소켓은 보다 효율적인 전송 프로토콜을 제공하고, 웹 작업자는 멀티스레딩을 제공하여 웹 애플리케이션의 컴퓨팅 효율성을 향상시킵니다.
1. 웹 소켓
1. 웹 소켓은 기본적으로 http 및 tcp와 동일한 프로토콜입니다. 프로토콜은 데이터가 전송되는 방식을 설명하는 데 사용됩니다. 나는 Socket.io를 사용하여 간단한 온라인 채팅을 작성한 다음 프로젝트를 요약했습니다.
2. 웹 소켓에는 두 가지 접두사가 있습니다. (1) ws://는 암호화되지 않습니다. (2)wss://는 암호화되어 있습니다.
3. 클라이언트와 서버가 웹 소켓과 상호 작용하는 방식은 "http 핸드셰이크 + TCP 데이터 전송" 방식으로도 이해될 수 있습니다.
(1) 브라우저(웹 소켓 브라우징 지원) 서버 ) HTTP처럼 요청을 시작한 다음 서버의 응답을 기다립니다.
(2) 서버는 브라우저에 websocket에서 지정한 데이터 형식에 따라 후속 데이터를 전달하라고 지시하는 핸드셰이크 응답을 반환합니다.
(3) 브라우저와 서버 사이의 소켓 연결은 중단되지 않습니다. 이 연결과 http의 차이점은 이중 방식이라는 것입니다.
(4) 필요한 것이 있습니다. 이 긴 연결은 데이터가 전송될 때 데이터 전송에 사용됩니다.
참고: HTTP 핸드셰이크: 긴 연결을 설정할 때 브라우저와 서버 간의 핸드셰이크 프로세스가 요청, 요청 헤더, 응답 및 응답 헤더를 포함하여 HTTP1.1 프로토콜에 따라 전송되기 때문입니다. 그러나 차이점은 헤더의 필드에 특정 의미가 있다는 것입니다.
TCP 전송: 긴 연결을 설정한 후 브라우저가 서버에 데이터를 보낼 수 있고 서버도 브라우저에 요청을 보낼 수 있다는 사실에 주로 반영됩니다. 물론, 전송되는 데이터의 외부 계층에는 ws 프로토콜에 의해 지정된 외부 패킷이 자체적으로 정의되어 있지 않습니다.
4. 데이터 전송 프로세스: 웹소켓의 데이터 전송 형식은 프레임입니다. 예를 들어 메시지는 여러 개의 프레임으로 나누어 순서대로 전송됩니다. 여기에는 여러 가지 장점이 있습니다.
(1) 대용량 데이터의 전송은 데이터 크기로 인한 길이 부족 플래그를 고려하지 않고 조각으로 전송할 수 있습니다.
(2) HTTP 청크와 마찬가지로 데이터를 생성하면서 메시지를 전송할 수 있어 전송 효율이 향상됩니다.
5. 클라이언트는 웹 소켓 구문인 JavaScript를 사용합니다.
서버: 다양한 웹 프레임워크를 지원합니다.
2. 웹 워커
1. HTML 페이지에서 스크립트를 실행할 때 스크립트가 완료될 때까지 페이지 상태가 응답하지 않습니다.
웹 작업자는 다른 스크립트와 독립적으로 백그라운드에서 실행되는 JavaScript이므로 페이지 성능에 영향을 미치지 않습니다. 웹 작업자가 백그라운드에서 실행되는 동안 클릭, 선택 등 원하는 작업을 계속할 수 있습니다.
DOM 작업 외에도 이론적으로 모든 JS 스크립트 작업을 작업자에 넣어 실행할 수 있습니다. 구문상의 제한은 JS가 도메인 간에 액세스할 수 없다는 것입니다. 프런트 엔드 사용자 작업을 보다 친숙하게 만들기 위해 많은 시간과 CPU 리소스가 필요한 복잡한 계산에 작업자가 사용되는 경우가 많습니다. 즉, 사용자 경험 측면에서 서비스 성능이 향상됩니다.
2. 웹 작업자 사용법: (웹 작업자 개체를 생성하면 종료될 때까지 (외부 스크립트가 완료된 후에도) 계속해서 메시지를 수신합니다.)
( 1) 웹 작업자에 "onmessage" 이벤트 리스너를 추가하여 수신된 메시지를 가져옵니다.
메시지 보내기: postMessage()
웹 작업자 종료 및 브라우저/컴퓨터 리소스 해제: quit()
var worker =new Worker("worker_job.js"); //创建一个Worker对象并向它传递将在新线程中执行的脚本的URL worker.postMessage("hello world"); //向worker发送数据 worker.onmessage =function(evt){ //接收worker传过来的数据函数 console.log(evt.data); //输出worker发送来的数据 }
(2) 이벤트 리스너 추가 메시지를 처리하려면 워커 내부의 self.함수를 통해 메인 스레드와 통신하세요:
self.addEventListener('message', function(e) { var data = e.data; if(data == 'init') init(); else ... }, false); self.postMessage("hello worker");
참고 문서:
웹 소켓과 웹 워커의 기본 원리와 사용법
HTTP 프로토콜 청크 인코딩(청크 전송 인코딩)
7가지 웹소켓 프레임워크 성능 비교

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











H5 프로젝트를 실행하려면 다음 단계가 필요합니다. Web Server, Node.js, 개발 도구 등과 같은 필요한 도구 설치. 개발 환경 구축, 프로젝트 폴더 작성, 프로젝트 초기화 및 코드 작성. 개발 서버를 시작하고 명령 줄을 사용하여 명령을 실행하십시오. 브라우저에서 프로젝트를 미리보고 개발 서버 URL을 입력하십시오. 프로젝트 게시, 코드 최적화, 프로젝트 배포 및 웹 서버 구성을 설정하십시오.

H5 Page 프로덕션은 HTML5, CSS3 및 JavaScript와 같은 기술을 사용하여 크로스 플랫폼 호환 웹 페이지의 생성을 말합니다. 핵심은 브라우저의 구문 분석 코드, 렌더링 구조, 스타일 및 대화식 기능에 있습니다. 일반적인 기술에는 애니메이션 효과, 반응 형 디자인 및 데이터 상호 작용이 포함됩니다. 오류를 피하려면 개발자를 디버깅해야합니다. 성능 최적화 및 모범 사례에는 이미지 형식 최적화, 요청 감소 및 코드 사양 등이 포함됩니다. 로딩 속도 및 코드 품질을 향상시킵니다.

이 기사에서는 Viewport Meta 태그를 사용하여 모바일 장치의 페이지 스케일링을 제어하여 폭과 최적의 응답 성 및 성능을위한 초기 스케일과 같은 설정에 중점을 둡니다. character count : 159

이 기사에서는 HTML5 페이지 가시성 API를 사용하여 페이지 가시성을 감지하고 사용자 경험을 향상 시키며 리소스 사용량을 최적화하는 것에 대해 설명합니다. 주요 측면에는 미디어 일시 정지, CPU 부하 감소 및 가시성 변경에 기반한 분석 관리가 포함됩니다.

이 기사는 지리적 위치 API를 사용하여 사용자 위치 개인 정보 및 권한 관리, 권한 요청, 데이터 보안 보장 및 개인 정보 보호법 준수에 대한 모범 사례를 강조하는 것에 대해 설명합니다.

이 기사는 HTML5 드래그 앤 드롭 API를 사용하여 대화식 사용자 인터페이스를 생성하고 요소를 드래그 가능하게 만들고 주요 이벤트를 처리하며 사용자 정의 피드백으로 사용자 경험을 향상시키는 방법을 자세히 설명합니다. 또한 일반적인 함정에 대해 설명합니다

H5 클릭 아이콘을 생성하는 단계에는 다음이 포함됩니다. 이미지 편집 소프트웨어에서 정사각형 소스 이미지 준비. H5 편집기에 상호 작용을 추가하고 클릭 이벤트를 설정하십시오. 전체 아이콘을 덮는 핫스팟을 만듭니다. 페이지로 점프하거나 애니메이션 트리거링과 같은 클릭 이벤트의 동작을 설정하십시오. h5 문서를 HTML, CSS 및 JavaScript 파일로 내보내십시오. 내보내는 파일을 웹 사이트 또는 기타 플랫폼에 배포하십시오.

코드 취약점, 브라우저 호환성, 성능 최적화, 보안 업데이트 및 사용자 경험 개선과 같은 요소로 인해 H5 페이지를 지속적으로 유지해야합니다. 효과적인 유지 관리 방법에는 완전한 테스트 시스템 설정, 버전 제어 도구 사용, 페이지 성능을 정기적으로 모니터링하고 사용자 피드백 수집 및 유지 관리 계획을 수립하는 것이 포함됩니다.
