python-파충류 초식-웹단 위챗 로그인(3)

2196 단어 python-파충류(전)
카탈로그
1, 폴링 및 긴 폴링
2. 웹 사이트 위챗 분석
파충류
 

1, 폴링 및 긴 폴링


짧은 윤문의 기본적인 사고방식은 브라우저가 일정 시간마다 브라우저에 http 요청을 보내는 것이다. 서버 측은 요청을 받은 후에 데이터 업데이트가 있든 없든 직접 응답한다.이런 방식으로 이루어진 실시간 통신은 본질적으로 브라우저가 요청을 보내고 서버가 요청을 받아들이는 과정이다. 클라이언트가 끊임없이 요청을 하게 함으로써 클라이언트가 실시간으로 서버 측의 데이터를 받는 변화를 모의할 수 있다.
이런 방식의 장점은 비교적 간단하고 이해하기 쉬우며 실현하기에 기술적인 난점도 없다는 것이다.단점은 뻔하다. 이런 방식은 http 연결을 끊임없이 구축해야 하기 때문에 서버 측과 클라이언트의 자원을 심각하게 낭비했다.특히 클라이언트의 경우 거리로 볼 때 수량급이 비교적 큰 사람에게 짧은 휠체어 조회를 기반으로 하는 응용에 위치하고 싶다면 모든 사용자의 클라이언트는 서버 측에 http 요청을 미친 듯이 보내고 끊기지 않을 것이다.인원수가 많을수록 서버 측의 압력이 높아지는 것은 매우 불합리하다.
따라서 짧은 폴링은 온라인 사용자 수가 많고 성능을 중시하는 웹 응용 프로그램에는 적용되지 않는다.
var xhr = new XMLHttpRequest();
    setInterval(function(){
        xhr.open('GET','/user');
        xhr.onreadystatechange = function(){

        };
        xhr.send();
    },1000)

서버가 클라이언트로부터 요청을 받은 후 서버 측에서 직접 응답하지 않고 이 요청을 끊은 다음에 서버 측 데이터가 업데이트되었는지 판단합니다.업데이트가 있으면 응답하고, 데이터가 없으면 일정한 시간 제한(서버 측 설정)에 도달해야 되돌아옵니다. . 클라이언트 JavaScript 응답 처리 함수는 서버가 되돌아오는 정보를 처리한 후에 다시 요청을 보내고 연결을 다시 설정합니다.
긴 문의와 짧은 문의에 비해 불필요한 http 요청 횟수가 현저히 줄어들었고 이에 비해 자원을 절약했다.긴 윤문의 단점은 연결이 끊겨도 자원의 낭비를 초래할 수 있다는 점이다.
function ajax(){
        var xhr = new XMLHttpRequest();
        xhr.open('GET','/user');
        xhr.onreadystatechange = function(){
              ajax();
        };
        xhr.send();
    }

폴링과 긴 폴링은 모두 HTTP를 바탕으로 하는 것으로 그 자체에 결함이 존재한다. 폴링은 더욱 빠른 처리 속도를 필요로 한다.장륜문은 병발 처리 능력을 더욱 요구한다.둘 다'수동형 서버'의 구현이다. 서버는 주동적으로 정보를 전송하지 않고 클라이언트가 aax 요청을 보낸 후에 되돌아오는 응답을 한다.이상적인 모델은'서버 측 데이터가 변화한 후에 클라이언트에게 주동적으로 전달할 수 있다'는 것이다. 이런'주동적인'서버는 이런 문제를 해결하는 좋은 방안이다.웹 소켓이 바로 이런 방안이다.

2. 웹 사이트 위챗 분석


요청 경로:https://wx.qq.com/ 
코드 주소:https://github.com/duanlei123/wechat.git자세한 설명이 있는데...

파충류


1,GET
2,POST
3,Cookies
4,Headers
순서대로 주의- 상기 4시를 고려하면 네가 생각하는 모든 것을 기어오르는 데 성공할 수 있다.

좋은 웹페이지 즐겨찾기