HTML: legături absolute și relative. De ce aveți nevoie de un cod valid și cum să eliminați erorile de validare Cum să vă referiți la dosarul în formă relativă și absolută

Am decis să continuu acest subiect actual. Am făcut o listă de cele mai bune resurse pentru a explora HTML și CSS pentru a ajuta pe cei care doresc să studieze aceste probleme. Îmi amintesc când am început webmasterul însuși, am lipsit cu adevărat o selecție similară de resurse de înaltă calitate și utile.

În primul rând, unele definiții:

HTML (din limba engleză "HyperText Markup Language" - un limbaj de marcare hipertext) este un limbaj standard de marcare a paginii web.

CSS (din limba engleză "Foi de stil cascadă" - Tabele de stil cascadă) - Aceasta este o descriere a descrierii aspectului unei pagini web.

Fără cunoașterea HTML și CSS, va fi foarte problematică - chiar și contorul de statistici sau același banner nu va funcționa. Nu executați pentru ajutor de la experți sau creați un subiect pentru subiectul pe forumuri? Trebuie doar să luați și să învățați.

Din propria mea experiență pot spune că HTML și CSS pot fi învățate în 1 lună. Bineînțeles, nu vorbesc despre altitudini profesionale - le veți ajunge singur dacă doriți.

În opinia mea, cel mai bun mod de a învăța HTML, CSS și alte subiecte, inclusiv promovarea site-urilor este de a începe site-ul dvs. și de ao practica. Apropo, puteți vedea primul contor creat de mine pe cartela de contra-Strike, crearea căreia am fost atât de îndrăgostit de. Iată cărțile și capturile lor de capturi create de bătrânul din globator în acele vremuri când încă nu știa ceea ce este Top-10, Titz și PR, și a zburat bine în soarele create cărți tridimensionale 🙂. Am creat acest site timp de o lună, studiind HTML și CSS în practică.

Pentru a învăța HTML și CSS, nu este necesar să fii specialist tehnic. De exemplu, sunt în general umanitar și în matematică am avut în principiu "2" 🙂. Deci, învățați HTML și CSS pentru oricine dorește. Resursele enumerate de mine sunt, de asemenea, potrivite și, în orice moment, puteți afla câte ori sunteți interesat de HTML și CSS.

Site-uri pentru învățarea HTML și CSS

Voi începe o selecție de resurse utile pentru a explora HTML și CSS de pe site-ul pentru care eu însumi am fost angajat. Acestea sunt lecții HTML sălbatice care au scris Valentina Akhmetzyanov aka Dickard. Este atât de distractiv și a descris interesant toate momentele necesare pe care studiul HTML și CSS cu lecțiile sale se transformă într-o ocupație interesantă. Apropo, puteți citi pentru site-ul blogului. Lecțiile sălbatice sunt destul de suficient pentru a învăța HTML și CSS pe webmasterul necesar pentru a lucra.

Vă puteți imagina, cine aș fi, dacă am dezvoltat pe subiectul Photoshop? Aș fi un adevărat monstru! Dar am contactat SEO și stagnarea aici, câștigând aceste scrisori curbate din îngheț cu degetele dvs. 🙂. Da, glumesc, este prea cald aici si feed frumos 🙂.

Bună ziua, Stimate site-ul de cititoare blog. Astăzi vreau să afectez subiectul formării unice Adresele URL Pe Internet și spuneți despre principiile creației link-uri relative și absolute.

Desigur, subiectul formării UMM sau versiunea lor mai avansată a URI (URI) este destul de dificilă dacă vă sapa adânc și încercați să ajungeți la adevăr.

Dar nu avem nevoie de acest lucru, pentru că este suficient să înțelegeți structura URL. În cererea sa aplicată.

Ei bine, cred că va fi utilă pentru a înțelege ce și cum să creați legături relative pentru resursa dvs. și să nu folosiți absolut în aceste scopuri, când nu există o necesitate evidentă.

Adresele URL - Ce este și cum afectează indexarea site-ului

Deci, să vedem ce este URL-ul, de ce este necesar și din care părțile sunt. După cum știți, motoarele de căutare nu produc nici un întreg, ci ca un set de pagini individuale. Ei vor fi mai târziu pe diverse interogări de căutare (Citiți mai multe despre selecția cuvintelor cheie din Vordstad bazate pe.

URL și URI.

Ei bine, orice document (pagină web) de pe Internet are propria adresă URL unicăcare este decriptat ca locator de resurse uniform (determinantul locației resurselor). Este, de asemenea, protocolul HTTP, și, de asemenea, a fost dezvoltat și creat de aceeași persoană - Tim Berners-Lee (tatăl fondator al proiectului).

În general, adresa URL este un caz special al unui alt identificator numit URI. (Identificatorul uniform al resurselor este un identificator de resurse unificate), dar cel mai probabil nu vom avea nevoie cu dvs. toate aceste subtilități atunci când lucrați cu site-ul dvs. Să încercăm în termeni generali pentru a face față de ceea ce este și din care părțile constă, și apoi ne întoarcem la legăturile relative și absolute.

Adresa URL este Calea de a indica fără echivoc ceva pe Internet. Acesta este utilizat nu numai pentru a lucra cu site-urile () prin protocolul HTTP (și pe FTP), dar din SUA, desigur, va fi interesat de utilizarea acestui identificator la Web (protocoale HTTP și HTTPS). URL-ul în acest caz va arăta așa ceva (chiar mai jos voi da o diagramă generală a construcției sale, dar atâta timp cât aș dori să încep cu un exemplu simplu frecvent):

Https: //.html.

În această adresă de adresă, partea "HTTP" desemnează protocolul de transmisie a datelor sau, dacă urmați terminologia specificației, schema (pentru același lucru nu este protocolul de transmisie de date, spre deosebire de HTTP sau FTP, dar și utilizat în adresa URL adrese) .. site ») - sau.

Www și alte oglinzi de site la adeziv

Web-E este specificitatea desemnării numelui de domeniu în adresa URL a site-ului, care poate fi cu www sau fără www. Pentru a fi posibilă cu succes, este foarte important să lipiți aceste două oglinzi ale site-ului dvs. Adesea, oglinzile de lipire pot executa un hostoste pentru dvs., dar cu siguranță va trebui să verifice.

Acestea. Pentru motoarele de căutare, site-urile cu www sau fără ea sunt complet diferite și fără lipirea lor, masa de referință va împărtăși între ele într-o proporție necunoscută. WWW în adresa de esență este un anumit atavism care face numele dvs. de domeniu al celui de-al doilea nivel al celui de-al treilea domeniu.

De asemenea, în mod corect și când se deplasează un site pentru protejat protocolul HTTPS cu HTTP - Pentru motoarele de căutare va fi un alt site.

Nimic rău în uz Www în adresa URL a site-ului Nu, dar este necesar să se definească în mod clar oglinda principală (prin intermediul și prin intermediul directivei de prescriere a site-ului dvs.), care va fi indexată de motoarele de căutare și care va participa la clasament.

E. "fără atavism", și dacă adăugați această consolă miracol la orice ulla, atunci va redirecționa automat adresa "fără www".

HTTPS: //www..html.

Puteți lipi nu numai oglinzile descrise mai sus, ci și alte nume de domenii care vă aparțin. De exemplu, dacă există o altă marcă de scriere în scrisori latine, sunt cumpărate toate domeniile posibile (opțiuni de scriere cu erori în diferite zone de domeniu etc.) și lipite împreună. Apoi, atunci când accesează site-ul conform oricăreia dintre adresele URL posibile, oglinda principală va fi deschisă.

De exemplu, pe reg.ru, puteți vedea gratuit pentru a înregistra oglinzi potențiale sau domenii de eliberare (puteți introduce numele de domeniu presupus direct în formularul de mai jos):

Unde sunt adresele URL suplimentare (paginile duplicate) ale site-ului dvs. în indexul motorului de căutare

Dar înapoi la ramurile noastre. Partea URL-ului, care se află pentru al treilea slash (/) - în exemplul nostru este "Papka / Fail.html" - se numește calea către un obiect specific (document sau fișier). În cazul nostru, acest document "Fail.html", care se află în directorul "Papka", care la rândul său se află în dosarul rădăcină ( rădăcina din Ulla corespunde întotdeauna celei de-a treia scene stânga).

Dar acest lucru nu este tot ce poate fi înregistrat în adresa. Prin Adresa URL, așa-numitele parametri primesc sunt transmise, care sunt adăugate la sfârșitul său după prostata de semn de întrebare, de exemplu, după cum urmează:

Https: //www..html? Print \u003d da

Întreaga problemă este că pentru motoare de căutare Două astfel de adrese URL (cu și fără parametri de obținere) sunt documente web absolut diferite și fiecare dintre ele va fi indexată de motoarele de căutare.

La aceeași ulla poate fi adăugată la CMS cât mai multe parametri de primire și toate acestea vor fi indexate de Yandex și Google, dacă nu creați interdicțiile corespunzătoare din fișierul robots.txt, referire la articolul despre care este ușor superior. În caz contrar, motoarele de căutare pot pe un numar mare de Conținut duplicat. (unul și același conținut disponibil la adrese diferite).

De asemenea, de exemplu, la pagina principală Resursa mea poate fi menționată la două ULM-uri diferite:

HTTPS: // Site https: //syt/index.php

(Chiar și în trei - și https: // site /) și, în orice caz, pagina principală se deschide. Este destul de rău, pentru că Motoarele de căutare vor găsi trei pagini diferite (având adrese URL diferite din punctul lor de vedere), dar cu același conținut, cum nu-i place.

Prin urmare, am făcut astfel încât atunci când introduceți oricare dintre cele de mai sus, adresele URL vor fi redirecționate către adresa URL a speciilor "HTTPS: //". Acest lucru se face de obicei utilizând 301 redirecționați în fișier.htaccess sau direct în setările serverului de către dvs. sau de către dvs.

Pentru mai multe informații, citiți linkul de publicare de mai jos.

Structura adreselor URL și transcodarea în URL-codate

Deloc, adresele URL ale diagramei blocate complete Iti poti imagina:

În realitate, de regulă, autentificarea, parola și portul nu utilizează, deși ar putea fi necesar să fie necesare pentru a accesa site-urile plătite:

Http: // Login: [E-mail protejat]site-ul / Platniy-Dostup.html

De asemenea, se instalează destul de des parolele pentru a intra în serverul FTPÎn cazul în care poate utiliza, de asemenea, un port non-standard, dar excelent din protocolul implicit utilizat pentru acest lucru. Apoi, pentru a accesa resursele unui astfel de server FTP, va trebui să introduceți o adresă URL similară:

FTP: // Login: [E-mail protejat]site: 6789 / Samo-Nujnoe / Cimus

Despre primirea parametrilor care pot fi scrise în această adresă după întrebarea de întrebare, am vorbit deja și am menționat că este necesar să interzică indexarea paginilor, în UMM ale cărei parametri similari (cele de mai sus este legătura cu Articol despre roboți, unde toate acestea sunt pictate în detaliu).

Adresele URL sub formă de link-uri Hash Deschiderea paginii în locul potrivit

Dar, în afară de toate aceste lucruri care pot face parte din adresa URL, puteți vedea așa-numita diagramă bloc. ancorăcare este adăugat la sfârșitul ulterior după simbolul comun partajat "#" (camerele de ancorare sunt numite de obicei referințe hash).

Ancorele sunt aplicate în avans în interiorul codului documentului HTML (pagini) prin adăugarea unui atribut ID \u003d "Etichetă" în dorit Tag-ul HTML. (paragraful, antetul sau altul adecvat), apoi adăugând numele acestei ancore la adresa URL a paginii prin simbolul "#" lattice, puteți continua la începutul acestei pagini web și imediat la locul În cazul în care a fost listată ancora (toată lumea va derula automat pagina în locul potrivit).

Pro, inclusiv despre organizarea navigării pe pagină cu, citiți în aceste articole.

Ce caractere pot folosi în adresele URL?

De asemenea, merită spus despre diferitele codificări care sunt utilizate în adresele URL. Fără recodarea, puteți utiliza Doar un număr limitat de caractere. De obicei sfătuiți să limiteze setul de caractere: ,,, [_], [-].

În general, pentru a evita erorile, vă sfătuiesc să specificați numele fișierelor și ulles ale paginilor site-ului dvs. în litere mici, pentru pentru unic astfel de sisteme (pe care cele mai multe servere de servere) în partea superioară și litere mici sunt diferite (spre deosebire de ferestre). Datorită diferitelor registre, este posibil să nu fie necesar pentru nimeni.

Utilizarea altor caractere (inclusiv rușii) în Urlas este permisă, dar se va întâmpla transcoding. Acestea sunt personajele (codificarea URL).

Ce sigiliile, deci este o formă incomodă de adrese URL cu simboluri, de exemplu, chirilic, care sunt obținute după trecere. Fiecare simbol al chirilicului este codificat folosind două octeți de hexazecimal și împărțit la procentajul "%". De exemplu, un astfel de ul:

Https: // site / cine pentru noi /

după transcodarea va deveni așa:

Http /% Ba% D1% 82% D0% Be% 20% D0% BD% D0% D0% BON% D0% B2% D0% D0% D0% D1% 8C% D0% Ba% D0% Be% D0% B3% D0% BE

În general, se pare că nu este foarte cool și cu acest tip de URL incomod la codificarea națională planul de a înțelege și de a lupta, dar se mișcă această chestiune nu este atât de rapidă.

În legătură cu cele de mai sus, aș sfătui când pe CMS-ul meu nu faceți adrese de pagină în limba rusă, în special, că, în opinia multor industriali, va fi mai bine în ceea ce privește Optimizarea SEO Sub Yandex și Google.ru.

Legături relative și absolute de pe site

Să începem cu S. link-uri absolutedeoarece În acest caz, nimic special, dincolo de ceea ce am discutat deja în acest articol, vorbesc și nu trebuie. Asa de Legătura absolută trebuie să respecte cerințele pe care le prezentăm la adresa URL - trebuie indicată protocolul de transfer de date, numele de domeniu al site-ului (gazdă) și calea către documentul web dorit. Tot.

În HTML, referința absolută se formează folosind etichete speciale A (hyperlink), adică Pentru stadializarea sa, va trebui pur și simplu să înconjoară etichetele de deschidere și închidere ale hyperlinkului locul potrivit În textul documentului (frază sau tapet) și pentru a vă înregistra în eticheta de deschidere a în atributul "HREF" al calea absolută înainte ca documentul la care vizitatorul va trebui să continue:

Pchpmaadmin.

Totul este foarte simplu.

Decât legăturile relative bune și cum puteți obține

Cu toate acestea, hyperlink-urile absolute sunt de obicei utilizate numai în cazurile în care doresc să se refere la site-uri externe și pentru tranziții interne, majoritatea webmasterilor (inteligent și inspirat, nu ca I 🙂) Încercați să utilizați link-uri relative. Și acestea sunt mai multe motive:

  1. Referințele relative prin definiție sunt mai scurte și nu sunt aglomerate, nu pierdeți codul site-ului (la urma urmei, orice minciună este importantă în această chestiune).
  2. În plus, atunci când se deplasează într-un alt domeniu sau la schimbarea protocolului pe HTTPS, nu trebuie să modificați toate legăturile de pe site.
  3. În plus, un design al proiectului de Internet poate fi transferat foarte rapid și fără durere la o altă resursă fără a schimba referințele relative interne.

Deci, dacă judecați numele, atunci adresa documentului web la care se referă trebuie să fie înregistrată la acel document al site-ului dvs., din codul căruia va fi aplicat de acest link relativ (dans din sobă). A doua versiune a prostanna lor este de a folosi ca punct de referință al dosarului rădăcină. Asta este două moduri de a crea Legăturile relative pe care le considerăm acum.

Să creeze referințe relative cu privire la documentul din care sunt aplicate

Cea mai ușoară și mai scurtă versiune a căii de înregistrare (se referă la valoarea atributului HREF al etichetei hyperlink) se va dovedi atunci când ambele documente web: donatorul (din care este atașat) și acceptor (fișier sau document web la care este Plimile) sunt situate într-un singur dosar de pe server.

Ancoră

Acum, să presupunem că documentul Acceptor se află în dosarul, care este situat în același director donator.

Cum va arăta legătura relativă în acest caz? Totul este, de asemenea, destul de simplu:

Ancoră

Până în prezent, cred că totul este clar - prescriem calea către fișier sau document acceptor (numele dosarului și prin slash-ul direct "/" fișier sau document). Acestea. Pentru a obține de la donator la acceptor, va trebui să deschideți dosarul al cărui nume indicăm în legătură relativă.

Acum, să ne uităm la situația opusă atunci când documentul donator însuși este în interiorul dosarului, de la care trebuie să puneți o legătură relativă la un document sau un acceptor de fișiere, care se află deja la nivelul de mai sus:

Pentru ca SUA de la documentul donator la acceptorul de fișier (sau document), veți avea nevoie urcați din acest dosar la nivelul de mai sus. Aceasta oferă un element special - două puncte la rândȘi apoi printr-o slash dreaptă, este prescris o altă cale spre acceptor. Prin urmare, pentru exemplul de mai sus, calea relativă se va uita la:

Ce este adresele URL

Dacă aveți nevoie să urcați două niveluri în sus, înregistrarea se va uita la:

Ce este ul.

Ei bine, și dacă, după aceea, să prescrieți o cale relativă la acceptor, va trebui să introduceți în continuare orice dosar pe cel de-al doilea superior (în raport cu documentul donatorului):

Designul drumului dificil

Astfel de coborâri în dosare și ascensoare la nivelul pot fi multe, cel mai important, astfel încât tu tine însuți să nu fie confuz.

Crearea unui link în raport cu dosarul rădăcină

Am scris toată referința de mai sus cu privire la documentul donator, din care este aplicată hyperlinkul, dar ca punct de referință pentru a lua dosarul rădăcină Site-ul. Rădăcina în desemnarea căilor relative arată ca o singură slash dreaptă "/".

Asa de Tranziția la pagina principală va arăta destul de simplă, dar extravagantă:

Ancoră

De exemplu, absolut Calea poate arăta astfel:

Ancoră

DAR relativ Înainte ca același fișier să fie oarecum mai scurt:

Text

Cum se va referi la dosarul în formă relativă și absolută

Vreau să vă atrag atenția la o singură nuanță, care merită luată în considerare atunci când creați ambele legături absolute și relative. Dacă dorești consultați dosarul, Asigurați-vă că ați pus la capătul unui astfel de hyperlink (după numele său) Slash Slash "/". Acelea. Dacă vreau să deschid conținutul dosarului, atunci ar trebui să scriu:

Ancoră

Și nu astfel:

text

În cel de-al doilea caz, la procesare, serverul va încerca mai întâi să găsească fișierul numit "Încărcări" (doar o astfel de extensii) și să nu îl găsească mai târziu va căuta un astfel de dosar. Prin urmare, scrie imediat float după numele aveți nevoie de foldereNu veți lua resurse suplimentare de la serverul dvs. în căutarea a ceea ce nu este acolo.

De asemenea, ar trebui să știți asta când contactați într-o legătură relativă sau absolută În dosarul, serverul web va fi afișat Așa-numitul fișier index care se află în ea și, de regulă, este numit fie index.html, fie index.php. Dacă nu există fișier index în dosar, atunci cu serverul de securitate greșit, veți vedea listarea conținutului său, ceea ce poate duce la o scădere a securității resurselor dvs.

Asigurați-vă că ați detectat.

Apropo, apelul la pagina principală a site-ului este, de asemenea, accesând în mod inerent folderul (rădăcină), iar fișierul index situat în rădăcină va fi lansat (în cazul meu este index.php). Deci, dacă apelați la dosar, atunci pentru a reduce sarcina de pe server Este mai bine să prescrieți o tăietură dreaptă după numele domeniului:

Aici este ceea ce, Mikhalych!

Multă baftă! La întâlnirile ambigue pe site-ul web al blogului

S-ar putea să fiți interesat

Textul ASCII Codificarea textului (Windows 1251, CP866, KOI8-R) și Unicode (UTF 8, 16, 32) - Cum să rezolvați problema cu Krakoyabram
Cum am crescut frecvența pe site până la 300 de persoane pe zi?
Căutați Yandex pe site și magazin online
Harta site-ului Harta site-ului în format XML pentru Yandex și Google - Cum se creează un sitemap în Joomla și WordPress sau Generator Online

... deși sintaxa de HTML este relativă simplă pentru a învăța, ... există, încă o mulțime de elemente, atribute și ... alte concepte pe care le veți avea nevoie să învățați și să urmăriți. .. . În timp ce acest curs este destinat să vă prezinte la elementele esențiale ale HTML, acesta "este ... într-adevăr nu a fost conceput pentru a vă învăța fiecare element și atribut disponibil ... deci cu asta în minte, vreau să vă dau câteva Resurse HTML online, ... care vă pot ajuta cu adevărat pe măsură ce începeți să învățați HTML și ... poate servi drept referințe valoroase mai târziu, așa cum vă referiți la paginile dvs.. ... acum vom începe, la specificațiile ele însele. ...

Acest lucru este ceva, două documente pe care ar trebui să le cunoașteți cu siguranță. ... Deci, aceasta este versiunea W3CS a HTML5. ... Puteți vedea o ultimă versiune editor. Vrei să vezi ce coboară, în jos Pipe. ... Și, acesta este mare mare. ... Dacă scrol în jos, puteți vedea că aici este doar la masă. Prin toate. ...

Reluați transcrierea auto-defilare

Actualizat.
3/30/2017
Eliberată
3/16/2015

HTML este limba de programare care alimentează Web-ul. Și ca orice limbă, odată ce îl stăpâniți, puteți începe să vă creați propriul conținut, fie că este vorba despre site-uri simple sau aplicații web complexe. Acest curs oferă o privire detaliată la elementele esențiale: sintaxa de HTML și cele mai bune practici Scrierea și editarea codului și JavaScript pentru a crea experiențe de utilizator bogate, angajând un editor de text, urmăriți aceste videoclipuri și începeți să învățați să autorizați HTML calea cea bună.

Subiectele includ:

  • De ce este important HTML?
  • Explorarea unui document HTML
  • Formatarea conținutului
  • Afișarea imaginilor.
  • Folosind elementele NAV, articol și DIV
  • Legarea la pagini și conținutul descărcabil
  • Crearea listelor.
  • Controlul stilului (fonturi, culori și multe altele)
  • Scrierea scripturilor de bază.

k.e.n. Lavlinsky N. E., Director tehnic al Metoda de laborator

Publicat recent nou standard Tehnologie preload. Sarcina principală a acestei specificații a fost de a oferi posibilitatea de a gestiona fin logica descărcării resurselor de resurse de către dezvoltator.

Standardele anterioare

Ideea de încărcare nu este nouă. A dezvoltat anterior mai multe versiuni de etichete lEGĂTURĂ. Cu atribute subscripție, preliminare și prefetch.. Cu toate acestea, ei au lucrat oarecum diferit: cu ajutorul lor, puteți încărca pagini sau pagini întregi care pot fi necesare atunci când trebuie să navigați pe site. Adică, browserul a trimis astfel de solicitări cu prioritate scăzută și ultima. Dacă aveți nevoie să măriți prioritatea, nu au existat soluții.

Încărcarea resurselor cu preîncărcare

Ce oferă o nouă specificație? În primul rând, încărcarea are loc cu clarificarea, care este încărcată. Pe baza tipului de resursă specificat, browserul este setat la încărcarea priorității. De exemplu:

link rel \u003d "preload" href \u003d "/js/script.js" ca \u003d "script"\u003e
lINK REL \u003d "Preîncărcați" href \u003d "/fonts/1.woff2" ca \u003d "font" tip \u003d "font / woff2" crossorigin\u003e

În al doilea rând, tipul de resurse ( la fel de) Permite browserului să trimită titlurile corecte astfel încât serverul să poată trimite conținut cu cea mai bună opțiune de compresie (de exemplu, să trimită imagini WebP dacă browserul le acceptă).

În al doilea exemplu, încărcăm fișierul font, specificând un format specific (WOFF2), care nu este acceptat de toate browserele. Cu toate acestea, în timp ce suportul mecanismului de preîncărcare coincide cu sprijinul unui astfel de format, nu apar probleme. Suportul curent pentru mecanism poate fi vizualizat.

Fonturile de încărcare accelerate

Ca exemplu de accelerare a site-ului folosind preîncărcare, puteți apela descărcarea de resurse profund de sabie, de exemplu, fonturi. În procesul de boot obișnuit, browserul trebuie să descarce mai întâi fișierul CSS cu o indicație a fontului, țineți parsarea acestui fișier și numai apoi puneți o interogare pentru a descărca fișierul Font.

Dacă indicați preîncărcarea acestui font în codul paginii HTML, browserul va trimite imediat o solicitare după parsarea unui document HTML, care poate fi de câteva secunde mai devreme decât în \u200b\u200bcazul obișnuit. Și știm că fonturile plug-in blochează elemente și întârzie desenul fontului pe pagină, deci trebuie să le încărcați cât mai repede posibil. Mai ales acută această problemă este atunci când se utilizează http / 2, când browserul trimite mai multe cereri către server imediat, ca rezultat al cărui fotografii pot umple banda de client și pot descărca resurse importante vor fi amânate.

CSS de încărcare asincronă

Fișierele CSS blocă întotdeauna redarea paginilor, astfel încât toate resursele CSS, descărcarea căreia puteți amâna, pot fi descărcate ca fișiere obișnuite și se conectează dinamic la pagină.

Acest lucru se face după cum urmează:

link Rel \u003d "Preload" AS \u003d "Stil" HREF \u003d "async_style.css" Onload \u003d "thround \u003d'l \u003d" Stylesheet ""\u003e

Descărcați codul JS fără execuție

De asemenea, util poate fi preboocat de codul de script de pe JS pentru ao realiza mai târziu.

Acest lucru se poate face folosind următorul cod:

link rel \u003d "preload" ca \u003d "script" href \u003d "async_script.js"onload \u003d. "Var Script \u003d document.Creeelement (" Script "); script.src \u003d the.href; document.body.appenddchild (script); ">

Am revizuit modalitățile de bază de a utiliza mecanismul de preîncărcare, dar posibilitățile nu se limitează la acest lucru, să-și desfășoare propriile experimente!

În clasa ResourceBundle.Control există un set de metode externe cauzate de metoda ResourceBundle.getbundle () în timpul seturilor de căutare și descărcare. După ce ați creat clasa de control, puteți schimba comportamentul implicit pentru descărcare și cache.

În acest caz, trebuie să creați implementarea a două metode de clasă de control: Getformats () și Newbundle (). Metoda GetFormats () este responsabilă pentru sprijinirea formularului XML, iar Newbundle () funcționează cu un set de resurse. În clasa de bază, există metode auxiliare destinate transformării principalelor nume ale seturilor în numele resurselor reale.

În această implementare a clasei ResourceBundle.Control a inclus subclasa Xmlresourcebund. Această subclasă este utilizată pentru a încărca datele de la Fișier XML. Și folosindu-le în metoda ResourceBundle.

Următoarea este o descriere a clasei de control și implementarea metodei ResourceBundle:

import Java.IO. *;
importați java.net. *;
importați java.util. *;

Clasa publică XmlresourcebundleControl extinde ResourceBundle.control (
stringul static privat XML \u003d "XML";

Lista publică GetFormats (numele de bază) (
retur colecții.singletonlist (xml);
}

Resursele publice ResourceBund Jundle ( String nume de bază, locale locale,
String Format, Classloader încărcător,
boolean Reîncărcare)
aruncă IlegalAccessexception, instantanemeException, IOException{
dacă ((numele de bază \u003d\u003d null) || (locale \u003d\u003d null) || (format \u003d\u003d null)
||. (Încărcător \u003d\u003d null)) (
arunca noua nulpointerexception ();
}
ResourceBund Bundle \u003d Null;
dacă (format.equals (xml)) (
String Bundlename \u003d TobundlenAme(Numele de bază, locale) ;
String ResourceName \u003d TORESOURCENAME
(BundlenAme, format) ;
URL URL. \u003d Încărcător.GetResource
(Numele resursei);
dacă (adresa URL! \u003d null) (
Conexiune la adresa URLCONNECING \u003d URL.OpenConnecție() ;
dacă (conexiune! \u003d null) (
dacă (reîncărcați) (
conexiune.Setusescaci (false);
}
InputStream Stream \u003d conexiune.GetInputstream() ;
dacă (flux! \u003d null) (
BufferedInputstream bis \u003d New BufferedInputStream (
curent);
Bundle \u003d New Xmlresourcebund (BIS);
bis.close ();
}
}
}
}
bundle de întoarcere;
}

Clasa statică privată Xmlresourcebundle extinde ResourceBundle (
proprietăți private de proprietăți;

Xmlresourcebundle (fluxul de inputstream) aruncă IOException (
props \u003d Proprietăți noi ();
Props.loadfromxml (flux);
}

Obiectul protejat mânerul (tasta de șir) (
returnați-vă "getproperty (cheie);
}

Enumerarea publică GetKeys () (
Set GhostKeys \u003d Prop. StringPropropertymes() ;
returnați colecțiile. Proumerarea (mâner);
}
}

Publicul static VOID principal (șir args) (
("Test2",
noua XmlresourcebundleControl ()) ;
String String \u003d Bundle.Gentstring
("Helpkey");
Sistem.out.println ("HEKEY:" + șir);
}
}

Această implementare include un program de testare de trei linii:

ResurseBundle Bundle \u003d ResurseBundle.GetBundle("TEST2", nou xmlresourcebundlecontrol ()) ;
String String \u003d Bundle.Gentstring
("Helpkey");
Sistem.out.println ("HEKEY:" + șir);

Prima linie este cea mai mare interes aici. Trebuie să transferați elementul de control Getbundle (). După aceasta, puteți utiliza setul, ca în orice alt caz.

Următorul este un exemplu de testare a fișierelor XML2.xml:

http://java.sun.com/dtd/properties.dtd." > O.K. Anulare Ajutor. da Nu.

Rezultatul programului XmlresourcebundLeControl va fi:

\u003e Java XmlresourcebundleControl Helkkey: Ajutor

Implementarea prezentată nu utilizează Gettimetolive () și NeeseReWerload () Metode:

gettimetolive publice lungi ( String Basename, Locale Locale)

Public Boolean NeeseRecutionAberload ( String nume de bază.
Locale Locale.
String format,
Classloader încărcător,
ResurseBundle Bundle,
loagul lung)

Metoda Gettimetolive () returnează durata de viață a seturilor de resurse create utilizând ResourceBundle.control. Seturile de resurse sunt salvate într-o memorie cache pentru a pierde procesul de reîncărcare. Astfel, atunci când reîncărcați setul, acesta va fi în memoria cache. Valoarea pozitivă a duratei de viață este ascunsă în Miliseconds durata de salvare a unui set într-o memorie cache fără re-verificare. Implicit, valoarea returnată de metoda Gettimetolive () este ttl_no_expiration_control, care oprește verificarea timpului de stocare în memoria cache. Dacă nu doriți să memorați setul, apoi returnați valoarea TTL_Dont_Cache. Dacă o valoare este 0, setul este stocat în stoc, dar de fiecare dată când apelurile metodei Getbundle, este verificată. Pentru a curăța memoria cache, apelați clasa Static Clearcache () a clasei ResourceBund. Are un argument care nu este obligatoriu Classloader care vă permite să curățați Keachy creat de un încărcător specific.

Metoda NecessRecur () determină necesitatea de a reporni setul stoc cache. Valoarea adevărată înseamnă că kitul trebuie repornit, iar False nu este necesar să o reporniți. Puteți controla nevoia de a reporni setul de resurse prin supraîncărcarea metodei NecessRecur (). De exemplu, dacă doriți ca setul de resurse să se repornească întotdeauna, metoda NecessReverload () trebuie să returneze întotdeauna valoarea lui TRUE. În acest caz, metoda Gettimetolive () trebuie să returneze întotdeauna valoarea de 0. În caz contrar, setul va persista mai mult decât se presupune.

Pentru mai multe informații despre îmbunătățirea legată de procesele de internaționalizare în Mustang, puteți contacta John Ocean Blog, Sun Software Developer, la adresa