Măriți numărul de conexiuni de browser paralel la un domeniu din html

Majoritatea dezvoltatorilor de site-uri știu deja că numărul de conexiuni la server de la browsere este limitat. Versiunile vechi ale browserelor utilizează numai două conexiuni la server, cele mai recente fiind mai multe (de exemplu, "Opera" 11.10 - deja 16).





În general, algoritmul de utilizare a acestor compuși este destul de complexă și diferă de la browser-ul browser-ului (ceea ce înseamnă că va fi foi paralele încărcate de stil, script-uri, etc.), dar regula generală are întotdeauna - mai mult decât legăturile sale browser-limită pentru serverul nu sunt fructe.







Între timp, acest lucru nu este întotdeauna bun, deoarece dacă toate conexiunile sunt ocupate, browserul așteaptă date despre ele, fără a iniția altele noi, chiar dacă canalul către server permite descărcarea altceva.

Dacă site-ul și sonda de canal și să reziste număr mai mare de conexiuni de la același utilizator (inclusiv trafic), acesta este un truc, care este adesea folosit - pentru a descărca statice (imagini, fișiere stiluri, etc.) din alte domenii. Nu trebuie să fie pe alte servere, dați doar un singur nume unui server și folosiți-le pentru a le încărca.

Poate să arate astfel: static1.example.org, static2.example.org și așa mai departe. "Yandex", de exemplu, își încarcă datele din domeniul yandex.st. După cum puteți vedea, un alt domeniu de orice nivel este potrivit.

Este bine, atunci când este posibil pentru a obține orice număr de domenii de orice nivel pe care le găzduiește. Nu toate companiile de găzduire vor oferi o astfel de oportunitate gratuit, iar un blogger simplu nu va fi dispus să plătească pentru un alt nume doar din motive de accelerare a descărcării.

Este în regulă, cel mai adesea utilizatorul acestei găzduiri are deja patru domenii, doar câțiva oameni suspectează acest lucru. Primele două sunt destul de evidente - de multe ori, în plus față de unele exemple.org, începe și www.example.org. Dar acestea sunt două domenii diferite!

Încă două nu sunt atât de evidente, acestea sunt domeniile "example.org" și "www.example.org". Acordați atenție punctului de la sfârșitul domeniului.

Experimentele mele (verificate pe sistemul de operare de serviciu BrowserShots. Linux, Windows XP, Mac OS X) indică faptul că browserele sunt capabili de a lucra cu ei, adică, imagini de URL-ul, în cazul în care numele de domeniu se termină la punctul încărcat corect.

Pentru a verifica dacă browserele iau în considerare domeniile cu un punct la sfârșit și fără a fi diferite, am creat un mic script care oferă imaginea fără caching cu oa doua întârziere.

In experiment, am pus numărul maxim de conexiuni la unitatea de server ( „Opera“ și „FireFox“ îi permit să facă, care se face în browser-ul de pe WebKit, nu știu, spune-mi, dacă îl cunoașteți) și a creat două HTML-o singură pagină, în cazul în care doi imagini de la script-ul meu încărcat de la un domeniu, în al doilea rând, în cazul în care unul dintre ei este încărcat cu un domeniu cu un punct.

Creșterea numărului de conexiuni de browser paralel la un singur domeniu din html

În captura de ecran, rezultatul este clar vizibil și puteți vedea unde este experimentul (în coloana "Domeniu"). Imaginea de ecran arată că am folosit bine FireBug bine, dar pe Dragonfly de la "Opera" imaginea este aceeași.

IMHO problema constă în sesiune. PHP în session_start are un semafor pentru ID-ul sesiunii, adică În timp ce un apel al scriptului rulează, toate celelalte rulează în paralel și așteaptă. Comparați rezultatul cu sesiunile dezactivate. Când apelați un script din domenii diferite, acestea vor avea și alte sesiuni și nu vor apărea blocaje.

Și asta nu e un bug? Deodată corect?
Existența unui domeniu cu punct nu este un bug, de fapt, este exact același lucru cu cel scris. Faptul că domeniile sunt considerate diferite este un bug, probabil în browsere pe care nu le-am testat încă (IE, WebKit-based), acest lucru nu funcționează. În orice caz, nu va fi mai rău de la asta.

IMHO problema constă în sesiune
Te înșeli, în plus, te gândești în direcția greșită. Sessions și PHP aici absolut deloc.

Te înșeli, în plus, te gândești în direcția greșită. Sessions și PHP aici absolut deloc.
Judecând după fotografie cu firebug, la fel și cu el. Mă voi aventurezi să presupun că griul de pe scară așteaptă, cel albastru este recepția. Și rezultă că cererea pentru browser în ambele cazuri a fost trimisă simultan.

Cu toate acestea, ideea este de a încărca imagini din domenii "diferite", desigur corecte. Dar aici este testul - pare rău.

Judecând după fotografie cu firebug, la fel și cu el. Mă voi aventurezi să presupun că griul de pe scară așteaptă, cel albastru este recepția. Și rezultă că cererea pentru browser în ambele cazuri a fost trimisă simultan.
Nu, nu avem.

Gri este o "blocare" (canalul de conectare la server este ocupat).

Salvarea meciurilor. Faceți o schemă complicată, care nu este evidentă, de dragul câștigării în 0,1%.

Pe măsură ce Google a mulțumit recent cu inventarea propriului protocol http, câștigul căruia interogările consecutive nu trec prin câmpuri ca agentul utilizator.

Aveți argumente sau dacă "simțiți așa" că aceasta este o "salvare pe meciuri"? Beneficiile unor astfel de economii au fost mult timp calculate, există o mulțime de articole pe această temă.







Trimiteți-le prietenilor: