찾다
웹 프론트엔드H5 튜토리얼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가지 웹소켓 프레임워크 성능 비교


성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
H5 : 웹 표준 및 기술의 발전H5 : 웹 표준 및 기술의 발전Apr 15, 2025 am 12:12 AM

웹 표준과 기술은 현재까지 HTML4, CSS2 및 간단한 JavaScript에서 발전했으며 중대한 개발을 거쳤습니다. 1) HTML5는 캔버스 및 웹 스토리지와 같은 API를 도입하여 웹 응용 프로그램의 복잡성과 상호 작용을 향상시킵니다. 2) CSS3은 애니메이션 및 전환 기능을 추가하여 페이지를보다 효과적으로 만듭니다. 3) JavaScript는 화살표 기능 및 클래스와 같은 Node.js 및 ES6의 최신 구문을 통해 개발 효율 및 코드 가독성을 향상시킵니다. 이러한 변경으로 인해 웹 애플리케이션의 성능 최적화 및 모범 사례의 개발이 촉진되었습니다.

H5는 HTML5의 속기입니까? 세부 사항을 탐색합니다H5는 HTML5의 속기입니까? 세부 사항을 탐색합니다Apr 14, 2025 am 12:05 AM

H5는 HTML5의 약어 일뿐 만 아니라 더 넓은 현대 웹 개발 기술 생태계를 나타냅니다. 1. H5는 HTML5, CSS3, JavaScript 및 관련 API 및 기술을 포함합니다. 2. 그것은 더 풍부하고 대화식이며 부드러운 사용자 경험을 제공하며 여러 장치에서 원활하게 실행할 수 있습니다. 3. H5 기술 스택을 사용하여 반응 형 웹 페이지와 복잡한 대화식 기능을 만들 수 있습니다.

H5 및 HTML5 : 웹 개발에 일반적으로 사용되는 용어H5 및 HTML5 : 웹 개발에 일반적으로 사용되는 용어Apr 13, 2025 am 12:01 AM

H5 및 HTML5는 동일한 것을, 즉 html5를 나타냅니다. HTML5는 HTML의 다섯 번째 버전으로 시맨틱 태그, 멀티미디어 지원, 캔버스 및 그래픽, 오프라인 스토리지 및 로컬 스토리지와 같은 새로운 기능을 제공하여 웹 페이지의 표현성 및 상호 작용성을 향상시킵니다.

H5는 무엇을 언급합니까? 맥락 탐색H5는 무엇을 언급합니까? 맥락 탐색Apr 12, 2025 am 12:03 AM

h5referstohtml5, apivotaltechnologyinwebdevelopment.1) html5introducesnewelements 및 dynamicwebapplications.2) itsupp ortsmultimediawithoutplugins, enovannangeserexperienceacrossdevices.3) SemanticLementsImproveContentsTructUreAndSeo.4) H5'Srespo

H5 : 도구, 프레임 워크 및 모범 사례H5 : 도구, 프레임 워크 및 모범 사례Apr 11, 2025 am 12:11 AM

H5 개발에서 마스터 해야하는 도구 및 프레임 워크에는 vue.js, React 및 Webpack이 포함됩니다. 1.vue.js는 사용자 인터페이스를 구축하고 구성 요소 개발을 지원하는 데 적합합니다. 2. 복잡한 응용 프로그램에 적합한 가상 DOM을 통해 페이지 렌더링을 최적화합니다. 3. Webpack은 모듈 포장에 사용되며 리소스로드를 최적화합니다.

HTML5의 유산 : 현재 H5 이해HTML5의 유산 : 현재 H5 이해Apr 10, 2025 am 09:28 AM

html5hassignificallytransformedwebdevelopmentbyintranticalticlementements, 향상 Multimediasupport 및 Improvingperformance.1) itmadewebsitessmoreaccessibleadseo 친환경적 인 요소, 및 .2) Html5intagnatee

H5 코드 : 접근성 및 시맨틱 HTMLH5 코드 : 접근성 및 시맨틱 HTMLApr 09, 2025 am 12:05 AM

H5는 시맨틱 요소 및 ARIA 속성을 통해 웹 페이지 접근성 및 SEO 효과를 향상시킵니다. 1. 컨텐츠 구조를 구성하고 SEO를 개선하기 위해 사용합니다. 2. Aria-Label과 같은 ARIA 속성은 접근성을 향상시키고 보조 기술 사용자는 웹 페이지를 원활하게 사용할 수 있습니다.

H5는 html5와 동일합니까?H5는 html5와 동일합니까?Apr 08, 2025 am 12:16 AM

"H5"와 "HTML5"는 대부분의 경우 동일하지만 특정 시나리오에서는 다른 의미를 가질 수 있습니다. "HTML5"는 새로운 태그와 API를 포함하는 W3C 정의 표준입니다. "H5"는 일반적으로 HTML5의 약어이지만 모바일 개발에서는 HTML5를 기반으로 한 프레임 워크를 참조 할 수 있습니다. 이러한 차이를 이해하면 프로젝트 에서이 용어를 정확하게 사용하는 데 도움이됩니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음