{"id":30281,"date":"2019-10-31T21:34:39","date_gmt":"2019-10-31T18:34:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/preload-prefetch-i-drugie-tegi\/"},"modified":"2019-10-31T21:34:39","modified_gmt":"2019-10-31T18:34:39","slug":"preload-prefetch-i-drugie-tegi","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/preload-prefetch-i-drugie-tegi","title":{"rendered":"Preload, prefetch dhe t\u00eb tjera etiketat","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ka <noindex><a rel=\"nofollow\" href=\"http:\/\/3perf.com\/talks\/web-perf-101\">Shum\u00eb m\u00ebnyra p\u00ebr t\u00eb rritur performanc\u00ebn e faqes n\u00eb internet<\/a><\/noindex>. Nj\u00eb prej tyre \u00ebsht\u00eb para-ngarkimi i p\u00ebrmbajtjes q\u00eb do t\u00eb nevojitet m\u00eb von\u00eb. Prerenderimi i CSS, para-renderimi i faqes s\u00eb plot\u00eb ose zgjidhja e emrit t\u00eb domainit. Ne e b\u00ebjm\u00eb gjith\u00e7ka paraprakisht dhe pastaj e shfaqim menj\u00ebher\u00eb rezultatin! D\u00ebgjohet e mrekullueshme.<\/p>\n<p>Akoma m\u00eb e mrekullueshme \u00ebsht\u00eb se \u00ebsht\u00eb shum\u00eb e thjesht\u00eb p\u00ebr t'u realizuar. Pes\u00eb etiketat  i japin shfletuesit urdhra p\u00ebr veprime paraprake:<\/p>\n<pre><code class=\"xml\"><\/code><\/pre>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nMe nj\u00eb fjal\u00eb, do t'ju shpjegojm\u00eb se \u00e7far\u00eb b\u00ebjn\u00eb dhe kur t\u2019i p\u00ebrdorni ato.<\/p>\n<p>Kaloni te: <noindex><a rel=\"nofollow\" href=\"#preload\">preload<\/a><\/noindex> \u00b7 <noindex><a rel=\"nofollow\" href=\"#prefetch\">prefetch<\/a><\/noindex> \u00b7 <noindex><a rel=\"nofollow\" href=\"#preconnect\">preconnect<\/a><\/noindex> \u00b7 <noindex><a rel=\"nofollow\" href=\"#dns-prefetch\">dns-prefetch<\/a><\/noindex> \u00b7 <noindex><a rel=\"nofollow\" href=\"#prerender\">prerender<\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" name=\"preload\"><\/a><\/noindex><\/p>\n<h1>preload<\/h1>\n<p>\n<code>&lt;link rel= \"preload\"&gt;<\/code> i thot\u00eb shfletuesit t\u00eb ngarkoj\u00eb dhe t\u00eb ruaj\u00eb burimin (p.sh., nj\u00eb skenar ose nj\u00eb stil). Kjo \u00ebsht\u00eb e dobishme kur burimi do t\u00eb nevojitet pas disa sekondash pas ngarkimit t\u00eb faqes - dhe d\u00ebshironi ta p\u00ebrshpejtoni procesin.<\/p>\n<p>Shfletuesi nuk b\u00ebn asgj\u00eb me burimin pas ngarkimit. Skriptet nuk ekzekutohen, stilet nuk aplikohen. Burimi thjesht ruhet dhe ofrohet menj\u00ebher\u00eb me k\u00ebrkes\u00eb.<\/p>\n<h3>Sintaksa<\/h3>\n<p><\/p>\n<pre><code class=\"xml\">&lt;link rel=\"preload\" href=\"\/style.css\" as=\"style\" \/&gt;<\/code><\/pre>\n<p>\n<code>href<\/code> tregon p\u00ebr burimin q\u00eb d\u00ebshironi t\u00eb shkarkoni.<\/p>\n<p><code> as<\/code> mund t\u00eb jet\u00eb \u00e7do gj\u00eb q\u00eb mund t\u00eb shkarkohet n\u00eb shfletues:<\/p>\n<ul>\n<li><code>style<\/code> p\u00ebr tabelat e stileve,\n<\/li>\n<li><code>script<\/code> p\u00ebr skriptet,\n<\/li>\n<li><code>font<\/code> p\u00ebr shkrimet,\n<\/li>\n<li><code>fetch<\/code> p\u00ebr burimet e ngarkuara me <code>fetch()<\/code> ose <code>XMLHttpRequest<\/code>,\n<\/li>\n<li>lista e plot\u00eb shkarkohet n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTML\/Preloading_content#What_types_of_content_can_be_preloaded\">n\u00eb MDN<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\n\u00cbsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb specifikoni atributin <code>as<\/code> kjo ndihmon shfletuesin t\u00eb rendis\u00eb prioritetet dhe t\u00eb planifikoj\u00eb ngarkimin.<\/p>\n<h3>Kur t\u00eb p\u00ebrdorni<\/h3>\n<p>\nP\u00ebrdorni para-ngarkimin kur burimi do t\u00eb nevojitet s\u00eb shpejti. P\u00ebr shembull:<\/p>\n<ul>\n<li>Shkronjat jo-standard nga nj\u00eb skedar i jasht\u00ebm:\n<pre><code class=\"xml\"><!-- index.html -->\n\n\/* index.css *\/\n@font-face {\n  src: url('comic-sans.woff2') format('woff2');\n}<\/code><\/pre>\n<p>\nM\u00eb n\u00eb default <code>comic-sans.woff2<\/code> do t\u00eb filloj\u00eb ngarkimin vet\u00ebm pas ngarkimit dhe analiz\u00ebs <code>index.css<\/code>. P\u00ebr t\u00eb mos pritur kaq gjat\u00eb, mund ta ngarkoni shkrimin m\u00eb her\u00ebt duke p\u00ebrdorur <code>&lt;link rel= \"preload\"&gt;<\/code>:<\/p>\n<pre><code class=\"xml\">&lt;link rel=\"preload\" href=\"comic-sans.woff2\" as=\"font\" \/&gt;<\/code><\/pre>\n<\/li>\n<li>N\u00ebse i ndani stilet tuaja sipas qasjes <noindex><a rel=\"nofollow\" href=\"https:\/\/3perf.com\/talks\/web-perf-101\/#css-block-rendering-1\">Critical CSS<\/a><\/noindex> n\u00eb dy pjes\u00eb, kritike (p\u00ebr renderimin e menj\u00ebhersh\u00ebm) dhe jo-kritike:\n<pre><code class=\"xml\">\/* Stilet kritike t\u00eb inline *\/<\/code><\/pre>\n<p>\nMe k\u00ebtij qasje, stilet q\u00eb s'jan\u00eb kritike do t\u00eb fillojn\u00eb t\u00eb ngarkohen vet\u00ebm kur t\u00eb startohet JavaScript, q\u00eb mund t\u00eb ndodh\u00eb disa sekonda pas renderimit. P\u00ebrdorni <code>&lt;link rel= \"preload\"&gt;<\/code>, p\u00ebr t\u00eb filluar ngarkimin m\u00eb her\u00ebt:<\/p>\n<pre><code class=\"xml\">\/* Stilet kritike t\u00eb inlinuara *\/<\/code><\/pre>\n<\/li>\n<\/ul>\n<p>\n<b>Mos e teproni me parashkarkimin<\/b>. N\u00ebse ngarkoni gjith\u00e7ka, faqja nuk do t\u00eb shpejtohet magjepsh\u00ebm, p\u00ebrkundrazi, kjo do t\u00eb pengoj\u00eb shfletuesin t\u00eb planifikoj\u00eb si\u00e7 duhet pun\u00ebn.<\/p>\n<p><b> Mos e konfuzoni me parashkarkimin<\/b>. Mos e p\u00ebrdorni <code>&lt;link rel= \"preload\"&gt;<\/code>, n\u00ebse nuk keni nevoj\u00eb p\u00ebr burimin menj\u00ebher\u00eb pas ngarkimit t\u00eb faqes. N\u00ebse do t\u00eb nevojitet m\u00eb von\u00eb, p\u00ebr shembull, p\u00ebr faqen tjet\u00ebr, at\u00ebher\u00eb p\u00ebrdorni <code>&lt;link rel= \"prefetch\"&gt;<\/code>.<\/p>\n<h3>Detajet<\/h3>\n<p>\n<b>Ky \u00ebsht\u00eb nj\u00eb tag i detyruesh\u00ebm<\/b> p\u00ebr ekzekutimin nga shfletuesi (n\u00ebse e mb\u00ebshtet), ndryshe nga t\u00eb gjitha tag-\u00ebt e tjer\u00eb , q\u00eb lidhen me para-ngarkimin. Shfletuesi \u00ebsht\u00eb i detyruar t\u00eb ngarkoj\u00eb burimin e caktuar n\u00eb <code>&lt;link rel=\"preload\"&gt;<\/code>. N\u00eb raste t\u00eb tjera, ai mund ta injoroj\u00eb para-ngarkimin, p.sh., n\u00ebse punon me nj\u00eb lidhje t\u00eb ngadalt\u00eb.<\/p>\n<p><b>Prioritetet<\/b>. Burimeve t\u00eb ndryshme (stilet, skriptet, fontet, etj.), shfletuesit zakonisht u caktojn\u00eb prioritete t\u00eb ndryshme p\u00ebr t\u00eb ngarkuar fillimisht burimet m\u00eb t\u00eb r\u00ebnd\u00ebsishme. N\u00eb k\u00ebt\u00eb rast, shfletuesi p\u00ebrcakton prioritetin sipas atributit <code>as<\/code>. P\u00ebr shfletuesin Chrome, mund t\u00eb shihni <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/document\/d\/1bCDuq9H1ih9iNjgzyAL0gpwNFiEP4TZS-YLRp_RuMlc\/edit#\">grafikun e plot\u00eb t\u00eb prioriteteve<\/a><\/noindex>.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/i2\/bf\/vi\/i2bfvijtqhb3wt6cnkcskwc55ew.png\"><img decoding=\"async\" alt=\"Preload, prefetch dhe t\u00eb tjera etiketat\" src=\"\/wp-content\/uploads\/2019\/03\/3d66bce7749d647e16d842958f56ff3c.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" name=\"prefetch\"><\/a><\/noindex><\/p>\n<h1>prefetch<\/h1>\n<p>\n<code>&lt;link rel= \"prefetch\"&gt;<\/code> k\u00ebrkon nga shfletuesi t\u00eb ngarkoj\u00eb dhe t\u00eb ruaj\u00eb burimin (p.sh., skriptin ose tabel\u00ebn e stileve) n\u00eb sfond. Ngarkimi ndodh me prioritet t\u00eb ul\u00ebt, prandaj nuk pengon burimet m\u00eb t\u00eb r\u00ebnd\u00ebsishme. Kjo \u00ebsht\u00eb e dobishme n\u00ebse burimi do t\u00eb nevojitet n\u00eb faqen tjet\u00ebr, dhe ju d\u00ebshironi ta ruani paraprakisht.<\/p>\n<p>K\u00ebtu gjithashtu shfletuesi nuk b\u00ebn asgj\u00eb me burimin pas ngarkimit. Skriptet nuk ekzekutohen, tabelat e stileve nuk aplikohen. Burimi thjesht ruhet dhe vihet menj\u00ebher\u00eb n\u00eb dispozicion sipas k\u00ebrkes\u00ebs.<\/p>\n<h3>Sintaksa<\/h3>\n<p><\/p>\n<pre><code class=\"xml\">&lt;link rel=\"prefetch\" href=\"\/style.css\" as=\"style\" \/&gt;<\/code><\/pre>\n<p>\n<code>href<\/code> tregon p\u00ebr burimin q\u00eb d\u00ebshironi t\u00eb shkarkoni.<\/p>\n<p><code> as<\/code> mund t\u00eb jet\u00eb \u00e7do gj\u00eb q\u00eb mund t\u00eb shkarkohet n\u00eb shfletues:<\/p>\n<ul>\n<li><code>style<\/code> p\u00ebr tabelat e stileve,\n<\/li>\n<li><code>script<\/code> p\u00ebr skriptet,\n<\/li>\n<li><code>font<\/code> p\u00ebr shkrimet,\n<\/li>\n<li><code>fetch<\/code> p\u00ebr burimet e ngarkuara me <code>fetch()<\/code> ose <code>XMLHttpRequest<\/code>,\n<\/li>\n<li>lista e plot\u00eb shkarkohet n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTML\/Preloading_content#What_types_of_content_can_be_preloaded\">n\u00eb MDN<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\n\u00cbsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb specifikoni atributin <code>as<\/code>\u00a0\u2014 kjo ndihmon shfletuesin t\u00eb vendos\u00eb si\u00e7 duhet prioritetet dhe t\u00eb planifikoj\u00eb ngarkimin.<\/p>\n<h3>Kur t\u00eb p\u00ebrdorni<\/h3>\n<p>\n<b>P\u00ebr ngarkimin e burimeve nga faqet e tjera<\/b>, n\u00ebse ju nevojitet nj\u00eb burim nga nj\u00eb faqe tjet\u00ebr, dhe d\u00ebshironi ta parashkarkoni at\u00eb p\u00ebr t\u00eb p\u00ebrshpejtuar renderimin e asaj faqeje. P\u00ebr shembull:<\/p>\n<ul>\n<li>Keni nj\u00eb dyqan online, dhe 40% e p\u00ebrdoruesve largohen nga faqja kryesore n\u00eb faqen e produkteve. P\u00ebrdorni <code>&lt;link rel= \"prefetch\"&gt;<\/code>, duke ngarkon skedar\u00ebt CSS dhe JS p\u00ebr renderimin e faqeve me produktin.\n<\/li>\n<li>Keni nj\u00eb aplikacion me nj\u00eb faqe, dhe faqe t\u00eb ndryshme ngarkojn\u00eb paketa t\u00eb ndryshme. Kur nj\u00eb p\u00ebrdorues viziton nj\u00eb faqe, mund t\u00eb parakohoni ngarkimin e paketeve p\u00ebr t\u00eb gjitha faqet n\u00eb t\u00eb cilat ajo i referohet.<\/li>\n<\/ul>\n<p>\n<b>Me siguri, ky etiket\u00eb mund t\u00eb shfryt\u00ebzohet n\u00eb \u00e7do sasi.<\/b>. Shfletuesit zakonisht planifikojn\u00eb parakohimin me prioritet t\u00eb ul\u00ebt, k\u00ebshtu q\u00eb nuk shqet\u00ebson ask\u00ebnd. Ve\u00e7 keni parasysh se po shpenzohet trafik i p\u00ebrdoruesit, i cili mund t\u00eb kushtoj\u00eb para.<\/p>\n<p><b>Jo p\u00ebr k\u00ebrkesa urgjente<\/b>. Mos e p\u00ebrdorni <code>&lt;link rel= \"prefetch\"&gt;<\/code>, kur burimi duhet brenda disa sekondave. N\u00eb k\u00ebt\u00eb rast p\u00ebrdorni <code>&lt;link rel= \"preload\"&gt;<\/code>.<\/p>\n<h3>Detajet<\/h3>\n<p>\n<b>Etiket\u00eb opsionale<\/b>. Shfletuesi nuk \u00ebsht\u00eb i detyruar t\u00eb ndjek\u00eb k\u00ebto udh\u00ebzime, ai mund ta injoroj\u00eb at\u00eb, p\u00ebr shembull, n\u00eb nj\u00eb lidhje t\u00eb ngadalshme.<\/p>\n<p><b>Prioritet n\u00eb Chrome<\/b>. N\u00eb Chrome <code>&lt;link rel= \"prefetch\"&gt;<\/code> zakonisht ekzekutohet me prioritet minimal (shih <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/document\/d\/1bCDuq9H1ih9iNjgzyAL0gpwNFiEP4TZS-YLRp_RuMlc\/edit\">grafikun e plot\u00eb t\u00eb prioriteteve<\/a><\/noindex>), dmth. pas ngarkimit t\u00eb gjith\u00e7kaje tjet\u00ebr.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"preconnect\"><\/a><\/noindex><\/p>\n<h1>preconnect<\/h1>\n<p>\n<code>&lt;link rel= \"preconnect\"&gt;<\/code> i k\u00ebrkon shfletuesit t\u00eb lidhet paraprakisht me domenin, kur d\u00ebshironi t\u00eb p\u00ebrshpejtoni vendosjen e lidhjes n\u00eb t\u00eb ardhmen.<\/p>\n<p>Shfletuesi duhet t\u00eb vendos\u00eb nj\u00eb lidhje n\u00ebse po nxjerr burime nga nj\u00eb domen t\u00eb ri t\u00eb tret\u00eb. P\u00ebr shembull, n\u00ebse ngarkon fonte nga Google Fonts, React nga CDN apo k\u00ebrkon nj\u00eb p\u00ebrgjigje JSON nga nj\u00eb server API.<\/p>\n<p>Vendosja e nj\u00eb lidhjeje t\u00eb re zakonisht gjeneron disa qindra milisekonda. Ajo b\u00ebhet nj\u00eb her\u00eb, por prap\u00eb merr koh\u00eb. N\u00ebse e keni vendosur lidhjen m\u00eb par\u00eb, do t\u00eb kurseni koh\u00eb dhe do t\u00eb ngarkoni burime m\u00eb shpejt nga ky domen.<\/p>\n<h3>Sintaksa<\/h3>\n<p><\/p>\n<pre><code class=\"xml\">&lt;link rel= \"preconnect\" href=\"https:\/\/api.my-app.com\" \/&gt;<\/code><\/pre>\n<p>\n<code>href<\/code> tregon emrin e domenit p\u00ebr t\u00eb cilin duhet t\u00eb p\u00ebrcaktohet adresa IP. Mund t\u00eb spesifikoni me prefix (<code>https:\/\/domain.com<\/code>) ose pa t\u00eb (<code>\/\/domain.com<\/code>).<\/p>\n<h3>Kur t\u00eb p\u00ebrdorni<\/h3>\n<p>\n<b>P\u00ebrdoreni p\u00ebr domenet q\u00eb shpejt do t\u00eb nevojiten<\/b> p\u00ebr ngarkimin e nj\u00eb stili, skenari, ose imazhi t\u00eb r\u00ebnd\u00ebsish\u00ebm, por ende nuk e dini URL-n\u00eb e burimit. P\u00ebr shembull:<\/p>\n<ul>\n<li>Aplikacioni juaj \u00ebsht\u00eb hostuar n\u00eb <code>my-app.com<\/code> dhe b\u00ebn k\u00ebrkesa AJAX ndaj <code>api.my-app.com<\/code>: nuk e dini paraprakisht k\u00ebrkesat specifike, sepse ato kryhen dinamikisht nga JS. K\u00ebtu \u00ebsht\u00eb krejt\u00ebsisht e arsyeshme p\u00ebrdorimi i etiket\u00ebs p\u00ebr lidhje paraprake me domenin.\n<\/li>\n<li>Aplikacioni juaj \u00ebsht\u00eb hostuar n\u00eb <code>my-app.com<\/code> dhe p\u00ebrdor fonte nga Google Fonts. Ato ngarkohen n\u00eb dy faza: fillimisht ngarkohet skedari CSS nga domeni <code>fonts.googleapis.com<\/code>, pastaj ky skedar k\u00ebrkon fonte nga <code>fonts.gstatic.com.<\/code>Nuk mund t\u00eb dini se cilat skedar\u00eb specifik\u00eb t\u00eb fonteve do t\u00eb <code>fonts.gstatic.com.<\/code> do t'ju nevojiten, derisa t\u00eb ngarkoni skedarin CSS, k\u00ebshtu q\u00eb paraprakisht mund t\u00eb vendosim vet\u00ebm nj\u00eb lidhje t\u00eb p\u00ebrkohshme.<\/li>\n<\/ul>\n<p>\n<b>P\u00ebrdorni k\u00ebt\u00eb tag, p\u00ebr t\u00eb p\u00ebrshpejtuar pak ndonj\u00eb skenar ose stil t\u00eb jasht\u00ebm<\/b> n\u00ebp\u00ebrmjet vendosjes p\u00ebrpara t\u00eb lidhjes.<\/p>\n<p><b>Mos abuzoni<\/b>. Vendosja dhe mbajtja e lidhjes \u00ebsht\u00eb nj\u00eb proces i shtrenjt\u00eb si p\u00ebr klientin ashtu edhe p\u00ebr serverin. P\u00ebrdorni k\u00ebt\u00eb tag maksimalisht p\u00ebr 4-6 domen\u00eb.<\/p>\n<h3>Detajet<\/h3>\n<p>\n<b>Etiket\u00eb opsionale<\/b>. Shfletuesi nuk \u00ebsht\u00eb i detyruar t\u00eb ndjek\u00eb k\u00ebt\u00eb udh\u00ebzim dhe mund ta injoroj\u00eb at\u00eb, p\u00ebr shembull, n\u00ebse jan\u00eb vendosur shum\u00eb lidhje ose n\u00eb ndonj\u00eb rast tjet\u00ebr.<\/p>\n<p><b>\u00c7far\u00eb p\u00ebrfshin procesi i lidhjes<\/b>. P\u00ebr t'u lidhur me \u00e7do faqe, shfletuesi duhet t\u00eb kryej\u00eb veprimet e m\u00ebposhtme:<\/p>\n<ul>\n<li><i>Zgjidhja DNS<\/i>. T\u00eb gjej\u00eb adres\u00ebn IP t\u00eb serverit (<code>216.58.215.78<\/code>) p\u00ebr emrin e domeneve t\u00eb caktuara (<code>google.com<\/code>).<\/li>\n<li><i>Negociimi TCP<\/i>. Shk\u00ebmbimi i paketimeve (klienti \u2192 server \u2192 klient) p\u00ebr t\u00eb filluar nj\u00eb lidhje TCP me serverin.<\/li>\n<li><i>Negociimi TLS (vet\u00ebm p\u00ebr faqet HTTPS)<\/i>. Dy raunde shk\u00ebmbimi paketa (klienti \u2192 server \u2192 klient \u2192 server \u2192 klient) p\u00ebr t\u00eb nisur nj\u00eb sesion t\u00eb sigurt TLS.<\/li>\n<\/ul>\n<p>\nSh\u00ebnim: HTTP\/3 do t\u00eb p\u00ebrmir\u00ebsoj\u00eb dhe p\u00ebrshpejtoj\u00eb mekanizmin e negociat\u00ebs, por ende \u00ebsht\u00eb larg.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"dns-prefetch\"><\/a><\/noindex><\/p>\n<h1>dns-prefetch<\/h1>\n<p>\n<code>&lt;link rel= \"dns-prefetch\"&gt;<\/code> i k\u00ebrkon shfletuesit t\u00eb kryej\u00eb paraprakisht zgjidhjen DNS p\u00ebr domenin, n\u00ebse keni nd\u00ebrmend t\u00eb lidhni me t\u00eb dhe d\u00ebshironi t\u00eb p\u00ebrshpejtoni lidhjen fillestare.<\/p>\n<p>Shfletuesi duhet t\u00eb p\u00ebrcaktoj\u00eb adres\u00ebn IP t\u00eb domenit, n\u00ebse do t\u00eb t\u00ebrheq\u00eb ndonj\u00eb burim nga nj\u00eb domen i ri t\u00eb jasht\u00ebm. P\u00ebr shembull, p\u00ebr t\u00eb ngarkuar fonte nga Google Fonts, React nga CDN ose p\u00ebr t\u00eb k\u00ebrkuar nj\u00eb p\u00ebrgjigje JSON nga serveri API.<\/p>\n<p>P\u00ebr \u00e7do domen t\u00eb ri, zgjidhja e regjistrit DNS zakonisht zgjat rreth 20\u2212120 ms. Kjo ndikon vet\u00ebm n\u00eb ngarkimin e burimit t\u00eb par\u00eb nga ky domen, por prap\u00eb paraqet nj\u00eb vones\u00eb. N\u00ebse e kryejm\u00eb zgjidhjen DNS paraprakisht, do t\u00eb kursejm\u00eb koh\u00eb dhe do ta ngarkojm\u00eb burimin m\u00eb shpejt.<\/p>\n<h3>Sintaksa<\/h3>\n<p><\/p>\n<pre><code class=\"xml\">&lt;link rel= \"dns-prefetch\" href=\"https:\/\/api.my-app.com\" \/&gt;<\/code><\/pre>\n<p>\n<code>href<\/code> tregon emrin e domainit p\u00ebr t\u00eb cilin duhet vendosur adresa IP. Mund t\u00eb tregohet me prefiks (<code>https:\/\/domain.com<\/code>) ose pa t\u00eb (<code>\/\/domain.com<\/code>).<\/p>\n<h3>Kur t\u00eb p\u00ebrdorni<\/h3>\n<p>\n<b>P\u00ebrdoreni p\u00ebr domenet q\u00eb shpejt do t\u00eb nevojiten<\/b> p\u00ebr t\u00eb ngarkuar burime nga aty q\u00eb shfletuesi nuk e di paraprakisht. P\u00ebr shembull:<\/p>\n<ul>\n<li>Aplikacioni juaj \u00ebsht\u00eb hostuar n\u00eb <code>my-app.com<\/code> dhe b\u00ebn k\u00ebrkesa AJAX ndaj <code>api.my-app.com<\/code>: nuk e dini paraprakisht k\u00ebrkesat specifike, sepse ato kryhen dinamikisht nga JS. K\u00ebtu \u00ebsht\u00eb krejt\u00ebsisht e arsyeshme p\u00ebrdorimi i etiket\u00ebs p\u00ebr lidhje paraprake me domenin.\n<\/li>\n<li>Aplikacioni juaj \u00ebsht\u00eb hostuar n\u00eb <code>my-app.com<\/code>, dhe p\u00ebrdor fontet e Google Fonts. Ato ngarkohen n\u00eb dy etapa: s\u00eb pari ngarkohet skedari CSS nga domeni <code>fonts.googleapis.com<\/code>, pastaj ky skedar k\u00ebrkon fonte nga <code>fonts.gstatic.com.<\/code>Nuk mund t\u00eb dini se cilat skedar\u00eb specifik\u00eb t\u00eb fonteve do t\u00eb <code>fonts.gstatic.com.<\/code> do t'ju nevojitet, derisa t\u00eb ngarkoni skedarin CSS, k\u00ebshtu q\u00eb paraprakisht mund t\u00eb vendosim vet\u00ebm nj\u00eb lidhje t\u00eb p\u00ebrkohshme.<\/li>\n<\/ul>\n<p>\n<b>P\u00ebrdorni k\u00ebt\u00eb tag, p\u00ebr t\u00eb p\u00ebrshpejtuar pak ndonj\u00eb skenar ose stil t\u00eb jasht\u00ebm<\/b> n\u00ebp\u00ebrmjet vendosjes p\u00ebrpara t\u00eb lidhjes.<\/p>\n<blockquote><p>Kujdes; karakteristikat e ngjashme n\u00eb <code>&lt;link rel= \"dns-prefetch\"\/&gt;<\/code> dhe <code>&lt;link rel= \"preconnect\"&gt;<\/code>. P\u00ebrdorimi i tyre s\u00eb bashku p\u00ebr nj\u00eb domen zakonisht nuk ka kuptim: <code>&lt;link rel= \"preconnect\"&gt;<\/code> m\u00eb shum\u00eb p\u00ebrfshin <code>&lt;link rel= \"dns-prefetch\"\/&gt;<\/code> dhe shum\u00eb t\u00eb tjera. Kjo mund t\u00eb justifikohet n\u00eb dy raste:<\/p>\n<ul>\n<li><i>Doni t\u00eb mb\u00ebshtesni shfletuesit e vjet\u00ebr<\/i>. <code>&lt;link rel= \"dns-prefetch\" \/&gt;<\/code> mb\u00ebshtetet <noindex><a rel=\"nofollow\" href=\"https:\/\/caniuse.com\/#feat=link-rel-dns-prefetch\">duke filluar nga IE10 dhe Safari 5<\/a><\/noindex>. <code>&lt;link rel= \"preconnect\"&gt;<\/code> ka qen\u00eb mb\u00ebshtetur p\u00ebr nj\u00eb koh\u00eb n\u00eb Chrome dhe Firefox, por u shtua n\u00eb Safari vet\u00ebm n\u00eb 11.1 dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/caniuse.com\/#feat=link-rel-preconnect\">ende nuk mb\u00ebshtetet n\u00eb IE\/Edge<\/a><\/noindex>. N\u00ebse duhet t\u00eb mb\u00ebshtesni k\u00ebta shfletues, p\u00ebrdorni <code>&lt;link rel= \"dns-prefetch\" \/&gt;<\/code> si nj\u00eb opsion rezerve p\u00ebr <code>&lt;link rel= \"preconnect\"&gt;<\/code>.<\/li>\n<li><i>Doni t\u00eb p\u00ebrshpejtoni lidhjen me m\u00eb shum\u00eb se 4-6 domeine<\/i>. Etiqueta <code>&lt;link rel= \"preconnect\"&gt;<\/code> nuk rekomandohet t\u00eb p\u00ebrdoret me m\u00eb shum\u00eb se 4-6 domeine, pasi vendosja dhe mbajtja e lidhjes \u00ebsht\u00eb nj\u00eb operacion i kushtuesh\u00ebm. <code>&lt;link rel= \"dns-prefetch\" \/&gt;<\/code> konsumon m\u00eb pak burime, prandaj n\u00eb rast nevoje p\u00ebrdorini.<\/li>\n<\/ul>\n<\/blockquote>\n<p><\/p>\n<h3>Detajet<\/h3>\n<p>\n<b>Etiket\u00eb opsionale<\/b>. Shfletuesi nuk \u00ebsht\u00eb i detyruar t\u00eb ndjek\u00eb k\u00ebt\u00eb udh\u00ebzim, prandaj mund t\u00eb mos kryej\u00eb zgjidhjen e DNS-s\u00eb, p\u00ebr shembull, n\u00ebse ka shum\u00eb nga k\u00ebto etiketa n\u00eb faqe ose n\u00eb ndonj\u00eb rast tjet\u00ebr.<\/p>\n<p><b>\u00c7far\u00eb \u00ebsht\u00eb DNS<\/b>. \u00c7do server n\u00eb internet ka nj\u00eb adres\u00eb IP unike, e cila duket si <code>216.58.215.78<\/code>. N\u00eb shiritin e adres\u00ebs s\u00eb shfletuesit zakonisht jepet emri i faqes (p.sh., <code>google.com<\/code>), dhe serverat DNS (Sistemi i Emrave t\u00eb Domainit) e lidhin at\u00eb me adres\u00ebn IP t\u00eb serverit (<code>216.58.215.78<\/code>).<\/p>\n<p>P\u00ebr t\u00eb p\u00ebrcaktuar adres\u00ebn IP, shfletuesi duhet t\u00eb kryej\u00eb nj\u00eb k\u00ebrkes\u00eb te serveri DNS. Kjo merr 20-120 ms kur lidhet me nj\u00eb domen t\u00eb ri t\u00eb jasht\u00ebm.<\/p>\n<p><b>DNS ruhet n\u00eb cache, megjithat\u00eb jo shum\u00eb besuesh\u00ebm<\/b>. Disa OS dhe shfletues ruajn\u00eb k\u00ebrkesat DNS: kjo do t\u00eb kursej\u00eb koh\u00eb p\u00ebr k\u00ebrkesat e p\u00ebrs\u00ebritura, por nuk mund t\u00eb mb\u00ebshteteni n\u00eb caching. N\u00eb Linux zakonisht nuk funksionon fare. Chrome ka nj\u00eb cache DNS, por ajo jeton vet\u00ebm p\u00ebr nj\u00eb minut\u00eb. Windows ruan p\u00ebrgjigjet DNS p\u00ebr pes\u00eb dit\u00eb.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"prerender\"><\/a><\/noindex><\/p>\n<h1>prerender<\/h1>\n<p>\n<code>&lt;link rel= \"prerender\"&gt;<\/code> k\u00ebrkon nga shfletuesi t\u00eb ngarkoj\u00eb URL-n\u00eb dhe ta shfaq\u00eb n\u00eb nj\u00eb sked\u00eb t\u00eb padukshme. Kur p\u00ebrdoruesi klikon n\u00eb lidhje, faqja duhet t\u00eb shfaqet menj\u00ebher\u00eb. Kjo \u00ebsht\u00eb e dobishme, n\u00ebse jeni t\u00eb sigurt se p\u00ebrdoruesi do t\u00eb vizitoj\u00eb nj\u00eb faqe t\u00eb caktuar dhe doni ta p\u00ebrshpejtoni shfaqjen e saj.<\/p>\n<p>Megjithat\u00eb, p\u00ebr shkak t\u00eb efikasitetit t\u00eb jasht\u00ebzakonsh\u00ebm t\u00eb k\u00ebsaj etikete (ose p\u00ebr shkak t\u00eb saj), n\u00eb vitin 2019 <code>&lt;link rel= \"prerender\"&gt;<\/code> nuk mb\u00ebshtetet mir\u00eb nga shfletuesit kryesor\u00eb. M\u00eb shum\u00eb informacion. <noindex><a rel=\"nofollow\" href=\"#1\">m\u00eb posht\u00eb<\/a><\/noindex>.<\/p>\n<h3>Sintaksa<\/h3>\n<p><\/p>\n<pre><code class=\"xml\">&lt;link rel=\"prerender\" href=\"https:\/\/my-app.com\/pricing\" \/&gt;<\/code><\/pre>\n<p>\n<code>href<\/code> tregon URL-n\u00eb p\u00ebr t\u00eb cil\u00ebn d\u00ebshironi t\u00eb filloni renderimin ne sfond.<\/p>\n<h3>Kur t\u00eb p\u00ebrdorni<\/h3>\n<p>\n<b>Kur jeni v\u00ebrtet t\u00eb sigurt se p\u00ebrdoruesi do t\u00eb kaloj\u00eb n\u00eb nj\u00eb faqe t\u00eb caktuar<\/b>N\u00ebse keni nj\u00eb \"tunel\", ku 70% e vizitor\u00ebve t\u00eb faqes A kalojn\u00eb n\u00eb faqen B, at\u00ebher\u00eb <code>&lt;link rel= \"prerender\"&gt;<\/code> n\u00eb faqen A do t\u00eb ndihmoj\u00eb q\u00eb faqja B t\u00eb shfaqet shum\u00eb shpejt.<\/p>\n<p><b>Mos abuzoni<\/b>. Pararendja e faqeve \u00ebsht\u00eb shum\u00eb e shtrenjt\u00eb n\u00eb aspektin e trafikut dhe memory. Mos e p\u00ebrdorni <code>&lt;link rel= \"prerender\"&gt;<\/code> m\u00eb shum\u00eb se p\u00ebr nj\u00eb faqe.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"1\"><\/a><\/noindex><\/p>\n<h3>Detajet<\/h3>\n<p>\n<b>Etiket\u00eb opsionale<\/b>. Shfletuesi nuk \u00ebsht\u00eb i detyruar t\u00eb ndjek\u00eb k\u00ebt\u00eb udh\u00ebzim dhe mund ta injoroj\u00eb at\u00eb, p\u00ebr shembull, n\u00eb nj\u00eb lidhje t\u00eb ngadalshme ose n\u00eb rast se ka munges\u00eb memorjeje.<\/p>\n<p>P\u00ebr t'u kursyer n\u00eb memorie, <b>Chrome nuk b\u00ebn renderim t\u00eb plot\u00eb<\/b>, nd\u00ebrsa <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/web\/updates\/2018\/07\/nostate-prefetch\">vet\u00ebm para-ngarkim NoState<\/a><\/noindex>. Kjo do t\u00eb thot\u00eb se Chrome ngarkon faqen dhe t\u00eb gjith\u00eb burimet e saj, por nuk b\u00ebn renderim dhe nuk ekzekuton JavaScript.<\/p>\n<p>Firefox dhe Safari nuk e mb\u00ebshtesin fare k\u00ebt\u00eb etiket\u00eb. Kjo nuk e shkel specifikimin, pasi shfletuesit nuk jan\u00eb t\u00eb detyruar t\u00eb p\u00ebrmbushin k\u00ebt\u00eb udh\u00ebzim; megjithat\u00eb, \u00ebsht\u00eb e trishtueshme. <noindex><a rel=\"nofollow\" href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=730101\">Nj\u00eb gabim implementimi<\/a><\/noindex> n\u00eb Firefox \u00ebsht\u00eb zbuluar p\u00ebr gjat\u00eb shtat\u00eb vjet\u00ebve. Ka raportime q\u00eb Safari <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/bluesmoon\/status\/1108412360828563456\">po ashtu nuk e mb\u00ebshtet k\u00ebt\u00eb etiket\u00eb.<\/a><\/noindex>.<\/p>\n<h1>CV<\/h1>\n<p>\nP\u00ebrdorni:<\/p>\n<ul>\n<li><code>&lt;link rel= \"preload\"&gt;<\/code>\u00a0\u2014 kur keni nevoj\u00eb p\u00ebr nj\u00eb burim pas disa sekondash.\n<\/li>\n<li><code>&lt;link rel= \"prefetch\"&gt;<\/code>\u00a0\u2014 kur keni nevoj\u00eb p\u00ebr nj\u00eb burim n\u00eb faqen tjet\u00ebr.\n<\/li>\n<li><code>&lt;link rel= \"preconnect\"&gt;<\/code>\u00a0\u2014 kur e dini se shum\u00eb shpejt do t'ju nevojitet nj\u00eb burim, por ende nuk e dini URL-n\u00eb e tij t\u00eb plot\u00eb.\n<\/li>\n<li><code>&lt;link rel= \"dns-prefetch\"&gt;<\/code>\u00a0\u2014 nj\u00ebsoj, kur e dini se shum\u00eb shpejt do t'ju nevojitet nj\u00eb burim, por ende nuk e dini URL-n\u00eb e tij t\u00eb plot\u00eb (p\u00ebr shfletuesit m\u00eb t\u00eb vjetra).\n<\/li>\n<li><code>&lt;link rel= \"prerender\"&gt;<\/code>\u00a0\u2014 kur jeni t\u00eb sigurt se p\u00ebrdoruesit do t\u00eb kalojn\u00eb n\u00eb nj\u00eb faqe t\u00eb caktuar dhe d\u00ebshironi t\u00eb rrisni shpejt\u00ebsin\u00eb e shfaqjes s\u00eb saj.<\/li>\n<\/ul>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/445264\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0415\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u0432\u0435\u0431-\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u041e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445\u00a0\u2014 \u043f\u0440\u0435\u0434\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043f\u043e\u0437\u0436\u0435. \u041f\u0440\u0435\u0444\u0442\u0435\u0447\u0438\u043d\u0433 CSS, \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433 \u043f\u043e\u043b\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0438\u043b\u0438 \u0440\u0435\u0437\u043e\u043b\u0432\u0438\u043d\u0433 \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438. \u0414\u0435\u043b\u0430\u0435\u043c \u0432\u0441\u0451 \u0437\u0430\u0440\u0430\u043d\u0435\u0435, \u0430 \u043f\u043e\u0442\u043e\u043c \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442! \u0417\u0432\u0443\u0447\u0438\u0442 \u043a\u0440\u0443\u0442\u043e. \u0415\u0449\u0451 \u043a\u0440\u0443\u0447\u0435, \u0447\u0442\u043e \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e. \u041f\u044f\u0442\u044c \u0442\u0435\u0433\u043e\u0432 &lt;link rel&gt; \u0434\u0430\u044e\u0442 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043d\u0430 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f: &lt;link rel=&#187;prefetch&#187; href=&#187;\/style.css&#187; as=&#187;style&#187; \/&gt; [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-30281","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0415\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u0432\u0435\u0431-\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u041e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 \u2014 \u043f\u0440\u0435\u0434\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043f\u043e\u0437\u0436\u0435.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/preload-prefetch-i-drugie-tegi\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Preload, prefetch \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0435\u0433\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0415\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u0432\u0435\u0431-\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u041e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 \u2014 \u043f\u0440\u0435\u0434\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043f\u043e\u0437\u0436\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/preload-prefetch-i-drugie-tegi\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:34:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:34:39+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Para-ngarkim, p\u00ebr para-ngarkim dhe etiketa t\u00eb tjera | ProHoster","description":"Ka shum\u00eb m\u00ebnyra p\u00ebr t\u00eb rritur performanc\u00ebn e web-it. Nj\u00ebra prej tyre \u00ebsht\u00eb para-ngarkimi i p\u00ebrmbajtjes q\u00eb do t\u00eb nevojitet m\u00eb von\u00eb.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/preload-prefetch-i-drugie-tegi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Preload, prefetch \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0435\u0433\u0438 | ProHoster","og:description":"\u0415\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u0432\u0435\u0431-\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u041e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 \u2014 \u043f\u0440\u0435\u0434\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043f\u043e\u0437\u0436\u0435.","og:url":"https:\/\/prohoster.info\/sq\/blog\/preload-prefetch-i-drugie-tegi","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:34:39+00:00","article:modified_time":"2019-10-31T18:34:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30281","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 00:29:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:37:28","updated":"2026-01-21 00:29:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/30281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=30281"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/30281\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=30281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=30281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=30281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}