Нишондиҳии муштарӣ дар паҳлӯи против

Дар ибтидо, чаҳорчӯбаҳои веб назари серверро намоиш медоданд. Ин ҳоло дар муштарӣ рух дода истодааст. Биёед афзалиятҳо ва нуқсонҳои ҳар як равишро дида бароем.

Иҷрои

Ҳангоми намоиши сервери тарафи ҳар вақте, ки шумо мехоҳед веб саҳифаи навро бинед, шумо бояд берун равед ва онро гиред:

Диаграммаи чӣ тавр расондани тарафҳо

Ин шабеҳи онест, ки шумо ҳангоми ба бозор супурдан ҳар дафъае, ки шумо мехоҳед хӯрок мехӯред.

Бо пешниҳоди мизоҷон, шумо як маротиба ба бозори супермаркетӣ меравед ва 45 дақиқа вақтро дар хариди як хӯшаи хӯрок сарф мекунед. Пас, вақте ки шумо мехоҳед хӯрок хӯред, шумо танҳо яхдонро мекушоед.

Диаграммаи тарзи корбарии муштарӣ

Ҳар як равиш афзалиятҳо ва нуқсонҳои худро дорад, вақте сухан дар бораи иҷрои онҳо меравад:

  • Ҳангоми пешниҳоди муштарӣ, саҳифаи ибтидоӣ суст хоҳад буд. Азбаски иртибот бо шабака суст аст ва барои намоиш додани сервер ба корбар ду сафари даврӣ сурат мегирад. Бо вуҷуди ин, пас аз ин, ҳар як саҳифаи навбатии саҳифа ба таври фаврӣ зуд хоҳад шуд.
  • Ҳангоми намоиши хидматрасонӣ, саҳифаи ибтидоӣ хеле суст хоҳад буд. Аммо ин зудӣ карда намешавад. Ва ҳеҷ як дархости дигари шумо нахоҳад буд.

Барои мушаххас будан, бо пешниҳоди муштарӣ, сафҳаи аввал чунин хоҳад буд:


  <сарлавҳа »
    
    
  
  <одам>
    
  

app.js дорои ҳама саҳифаҳои HTML дар JavaScript ҳамчун сатр хоҳад буд. Чизе монанди ин:

var Саҳифаҳо = {
  '/': ' ... ',
  '/ foo': ' ... ',
  '/ bar': ' ... ',
};

Пас аз он, ки саҳифа бор карда мешавад, чаҳорчӯба сатри URL-ро мебинад, сатрҳоро дар саҳифаҳо ['/'] мегирад ва онро ба

дохил кунед. Инчунин, вақте ки шумо пайвандҳоро клик мекунед, чаҳорчӯба ҳодисаро халалдор мекунад, сатри навро (бигӯед, саҳифаҳо ['/ foo']) ба контейнер гузоред ва дархости HTTP-ро ба таври лозима пешгирӣ кунад.

SEO

Фарз мекунем, ки веб-сайти мо дархости reddit.com-ро оғоз мекунад:

var request = талаб ('дархост');
request.get ('reddit.com', функсия (хато, вокуниш, бадан) {
  // бадан чунин менамояд:
  // 
  //  ... 
  // <одам>
  //  ESPN 
  //  Ахбори ҳакерҳо 
  // ... барчаспҳои  ...
});

Сипас крепост маводи -ро дар мақомоти ҷавоб барои тавлиди дархостҳои нав истифода мебарад:

var request = талаб ('дархост');
request.get ('reddit.com', функсия (хато, вокуниш, бадан) {
  // бадан чунин менамояд:
  // 
  //  ... 
  // <одам>
  //  ESPN 
  //  Ахбори ҳакерҳо 
  // ... барчаспҳои  ...
  request.get ('espn.com', функсия () {...});
  request.get ('news.ycombinator.com', функсия () {...});
});

Пас аз он, крепер ин равандро бо истифода аз истинодҳои espn.com ва news.ycombinator.com барои идома додан идома медиҳад.

Инҳоянд як рамзи рекурсӣ барои кор

var request = талаб ('дархост');
функсия crawlUrl (URL) {
  request.get (URL, вазифа (хато, посух, бадан) {
    var linkUrls = getLinkUrls (бадан);
    linkUrls.forEach (функсия (linkUrl) {
      crawlUrl (linkUrl);
    });
  });
}
crawlUrl ('reddit.com');

Агар мақомоти посух ба ин монанд чӣ мешуд, чӣ мешуд:


  <сарлавҳа »
    
    
  
  <одам>
    
  

Хуб, ягон барчасбҳои мавҷуд нест. Ғайр аз он, ин веб саҳифа хеле аҷиб менамояд, аз ин рӯ ҳангоми намоиши натиҷаҳои ҷустуҷӯ мо эҳтимол афзалияти онро нахоҳем дошт.

Ташхисдиҳанда каме медонад, Чаҳорчӯби паҳлӯи мизоҷон тақрибан

-ро бо як миқдори олиҷаноб пур мекунад.

Аз ин рӯ, пешниҳоди муштарӣ метавонад барои SEO бад бошад.

Пешнамоиш

Дар соли 2009, Google роҳи ба даст овардани ин чизро пешниҳод кард.

https://webmasters.googleblog.com/2009/10/proposal-for-making-ajax-crawlable.html

Ҳангоме ки гусфанд ба воситаи www.example.com/page?query#!mystate меояд, онро ба www.example.com/page?query&_escaped_fragment_=mystate табдил медиҳад. Бо ин роҳ, вақте ки сервери шумо дархостро бо _escaped_fragment_ мегирад, вай медонад, ки дархост аз ҷониби гилхок таҳия шудааст, на одам.

Дар хотир доред - сервер мехоҳад, ки гравро нахоҳед дид "div class =" Ҳамин тавр:

  • Вақте ки дархост аз як густаришдиҳанда меояд, мо метавонем
    ...
    хизмат кунем.
  • Вақте ки дархост аз одами оддӣ меояд, мо метавонем танҳо "div class =" контейнер ">
хидмат кунем ва ба JavaScript иҷозат диҳем, ки дар дохили он мундариҷа гузорад.

Ба ҳар ҳол, мушкиле вуҷуд дорад: сервер намедонад, ки ба "div div =" контейнер "

дарояд." Барои фаҳмидани он, ки дарун чӣ ҳаст, JavaScript-ро кор кардан, DOM сохтан ва ин DOM-ро кор кардан лозим аст. Азбаски веб-серверҳои анъанавӣ намедонанд, ки ин корро мекунанд, онҳо хидматеро бо номи Браузери бемасъулият истифода мебаранд.

Мошинҳои тезтар

Пас аз шаш сол, Google эълон кард, ки гилемаш боло бардошта шуд! Вақте ки Crawler 2.0 тегҳои