È possibile effettuare richieste di annunci Serverside invece di browser utilizzando un browser senza testa?

StackOverflow https://stackoverflow.com/questions/5360322

Domanda

La motivazione per questa idea è che le richieste di annunci del browser sono spesso dolorosamente lente e possono bloccare il rendering della pagina, per non parlare del consumo del thread JavaScript del browser. Se una pagina carica più annunci, è un sacco di inaffidabili, bloccando le chiamate di terze parti. Utilizzando un browser lato server senza evento senza evento, sarebbe possibile effettuare tali richieste e passare le risorse pubblicitarie al browser tutte in una volta? In particolare, questo funzionerebbe con DoubleClick, le cui reti pubblicitarie spesso effettuano una serie di richieste di quel documento. Scrivere tag di script che poi recuperano più script, possono caricare un flash swf che quindi richiede alcune GIF aggiuntive? Sembra un po 'troppo, ma gli annunci sono il diavolo e se ciò può essere scaricato dal client, migliorerebbe enormemente SiteSpeed, poiché una soluzione server può effettuare richieste di annunci ed elaborare JavaScript in parallelo.

Modifica: rispondendo a @dthorpe:

Tutti i buoni punti da considerare.

Per quanto riguarda la latenza pubblicitaria, una soluzione lato server dovrebbe aiutare per i seguenti motivi:

Innanzitutto, più richieste di annunci possono essere effettuate in parallelo. Mentre ci sono metodi per caricare le risorse in parallelo nel browser, non esiste una buona soluzione che so che è completamente non bloccante (cioè sia in termini di rendering di pagina sia rispetto all'evento Onload), a meno che non si carichi tutto il tuo Annunci. Sto cercando un modo per caricare annunci in parallelo e in modo non bloccante mentre il resto della pagina si carica.

In secondo luogo, e forse più significativamente, il caricamento di annunci DoubleClick di solito comporta il caricamento di più script intermedi. JavaScript nel browser è un singolo thread. Ciò implica direttamente che JavaScript della mia pagina bloccherà l'AD-Javascript, rallentando l'impressione di annunci. Il javascript dell'annuncio, a sua volta bloccherà JavaScript della mia pagina, rallentando la mia pagina. Potrei avere altre chiamate di terze parti in gioco, per monitoraggio o altri scopi. Ho anche più annunci sulla pagina, tutti aiutando a rallentare il rendering della pagina e l'esecuzione JavaScript. Scaricando il caricamento degli annunci sul server, JavaScript della mia pagina non competerà con l'annuncio. La latenza fornita dagli annunci sarà una funzione di un annuncio (il più lungo), ma il comportamento di carico per un annuncio non sarà influenzato dagli altri annunci o dalla mia pagina, e in teoria dovrebbe essere più veloce di conseguenza.

L'obiettivo è quello di dissociare gli annunci dalla pagina di base in modo tale che gli annunci non bloccano il rendering della pagina, l'evento della pagina Onload o rallentano la pagina o l'altro. Non conosco alcuna soluzione sul lato client in grado di ottenere una perfetta dissociazione fintanto che JavaScript in browser è singolo. Mentre gli annunci a lungo caricamento vengono realizzati tramite JavaScript, il resto della pagina deve aspettare.

Sono a conoscenza di vari meccanismi di caricamento pigri, alcuni che coinvolgono IFRAMES e alcuni che prevalgono sul documento. Scrivi per accogliere il carico differito, ma nessuno di questi ha avuto risultati soddisfacenti, puramente a causa del comportamento seriale dell'esecuzione di JavaScript.

Mi chiedo se riesco a ottenere i vantaggi del caricamento di annunci lato server utilizzando applet Java nel browser ed evitare la situazione dei cookie/pre -caricamento che hai citato? In realtà sto prendendo in considerazione questi approcci non conformi a causa del grave degrado che vediamo con annunci DoubleClick. Il modo in cui quegli annunci uccidono la velocità di caricamento della pagina è la vera abominio :)

È stato utile?

Soluzione

Al fine di rappresentare in modo accurato la macchina client, il browser del server senza testa dovrebbe essere in grado di presentare i cookie del browser residenti sul client per i domini di rete AD. Questo sarà difficile poiché il nome di dominio del tuo server non sarà nei domini della rete pubblicitaria, quindi il browser client non ti darà i cookie di rete pubblicitaria.

Probabilmente potresti acquisire gli annunci nel browser del server per "pre-caricarli" per conto del client, ma senza i cookie del browser del client manderesti la continuità e il monitoraggio su cui le reti di annunci si basano fortemente. Gli annunci selezionati per la visualizzazione dalle reti AD si baserebbero su quali pagine ha visualizzato il browser del server per conto del client, non di ciò che il client ha visualizzato.

Inoltre: se il caricamento del contenuto dell'annuncio è ciò che blocca il rendering di pagine nel browser client, in che modo il rendering delle stesse pagine sul tuo server accelererà qualcosa? Il browser del server soffrirà della stessa rete e del ritardo dello script del browser client e il client sarà ancora seduto lì in attesa di "qualcosa", ma non mostrerà nulla fino a quando la pagina non sarà caricata completamente ed è stata elaborata nel browser del server e trasmesso al browser client? Spostare il problema "a monte" non risolve nulla.

Infine: anche se le tue intenzioni potrebbero essere onorevoli (per migliorare l'esperienza di navigazione dei clienti), le reti pubblicitarie considereranno molto probabilmente il tuo browser del server e un preloader "un abominio e una violazione dei termini di servizio della rete pubblicitaria precisamente perché interferisce con le loro capacità Per tracciare l'attività di navigazione del client reale.

Altri suggerimenti

L'uso di un plug -in Java sul lato client sarebbe probabilmente ancora più dispendioso delle risorse della macchina client, poiché il plug -in Java deve essere caricato nel browser che può spesso richiedere diversi secondi.

Tieni presente che con la regolarità degli exploit a 0 giorni di Java in natura (http://java-0day.com/). Si consiglia il plug -in Java per essere disabilitato in tutti i browser Web. I Mac ora sono dotati di plugin Java disabilitati per impostazione predefinita. Inoltre, non esistono plugin Java su dispositivi mobili come smartphone e tablet. Quindi non saresti in grado di fornire pubblicità a nulla oltre ai browser desktop e probabilmente solo i browser desktop utilizzati al di fuori di un'impostazione aziendale.

Se gli annunci di caricamento pigri non sono accettabili, probabilmente dovrai accettare i tempi di caricamento di DoubleClick mentre si trovano. Le reti pubblicitarie non porteranno gentilmente l'interferenza da una prospettiva contrattuale e, se hai mai intenzione di vendere direttamente il tuo inventario degli annunci, incontrerai resistenza agli inserzionisti stessi mentre tentano di consegnare gli annunci ricchi intuogi. (video, annunci espandibili, interstiziali, ecc.

Finirai per passare più tempo a tentare di ottenere il tuo livello di emulazione di annunci perfetto per ogni nuovo tipo di annuncio che arriva, rispetto all'importo che farai mai dal costo per mille tariffe sulla pubblicità display.

Forse dovresti riconsiderare se gli annunci hanno senso o se il tuo modello di business per monetizzare il tuo sito Web necessita di regolazione. La pubblicità di visualizzazione è diventata un mercato delle materie prime e il costo della costruzione di questo livello di emulazione nel tuo tempo appare più alto del vantaggio di una maggiore velocità di pagina e le impressioni leggermente più elevate che la velocità della pagina potrebbe portare.

I cappelli a te per la cura dei tuoi utenti finali, tuttavia, le richieste pubblicitarie di DoubleClick possono essere una vera trascinamento dei tempi di caricamento della pagina. Mi piacerebbe che qualcuno venisse e fornisca un modo per differire il caricamento degli annunci in modo robusto e affidabile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top