Quali sono i vantaggi dell'utilizzo del metataging / reindirizzamento JavaScript tramite il reindirizzamento dell'header HTTP?

5

Dopo aver ispezionato il servizio di abbreviazione degli URL di Twitter link , ho notato che, invece di reindirizzare all'URL dell'obiettivo utilizzando un'intestazione HTTP Location e uno stato HTTP 3xx codice, reindirizza utilizzando il seguente codice HTML (formattato per una migliore leggibilità):

<head>
  <meta name="referrer" content="always">
  <noscript>
    <META http-equiv="refresh" content="0;URL=[URL]">
  </noscript>
  <title>[URL]</title>
</head>
<script>window.opener = null; location.replace("[URL]")</script>

dove [URL] conterrà l'URL obiettivo effettivo. Per essere chiari: questo è il contenuto HTML completo, non solo un frammento HTML.

Un servizio di grandi dimensioni / popolare come link avrà sicuramente buoni motivi per scegliere questa strategia tramite il reindirizzamento dell'header HTTP, ma non riesco a pensare a nessun .

Quali sono i vantaggi di scegliere questa strategia di reindirizzamento sul reindirizzamento dell'header HTTP?

Ho appena realizzato che potrebbe essere il tag <meta name="referrer" content="always"> . Questo conserverà intatta una possibile intestazione di richiesta Referer , forse?

    
posta Decent Dabbler 06.03.2017 - 17:59
fonte

4 risposte

2

Come suggerisce la tua modifica, il reindirizzamento lato client in combinazione con il metatag del referrer garantisce meglio che l'intestazione Referrer venga inviata. Anche se non è esattamente lo stesso problema, una ricerca rapida sul meta tag referente offerte suggerisce lo scopo è SEO-ish in natura.

SEOs have long used referrer data for a number of beneficial purposes. Oftentimes, people will link back or check out the site sending traffic when they see the referrer in their analytics data. (moz.com)

a Twitter non importa quanto ti colleghi. Ma, vogliono assicurarsi che ottengano credito con i proprietari dei siti come uno strumento di marketing / fonte di traffico.

Il reindirizzamento lato client aiuta a mantenere Twitter in attività.

Se è necessario un chiarimento: un meta tag referrer nella pagina iniziale non è sufficiente. A causa dell'abbinamento e del reindirizzamento dell'URL, così come della possibilità che i tweet vengano copiati o pubblicati in altri luoghi, la pagina intermedia è essenziale per garantire a Twitter di ricevere ogni oncia di credito che può eventualmente accumulare.

    
risposta data 07.03.2017 - 18:43
fonte
2

Vantaggi effettivi:

I reindirizzamenti JavaScript possono essere utili per reindirizzare i dispositivi mobili da una versione desktop di una pagina alla sua versione mobile o viceversa per i desktop. Il server conoscerà solo l'agente utente, non la larghezza effettiva dello schermo. Ad esempio, puoi scambiare due versioni quando lo schermo viene inclinato da verticale a orizzontale e viceversa.

JavaScript consentirebbe reindirizzamenti molto temporanei. Non importa se la risposta viene memorizzata nella cache nel browser, lo script può comunque essere eseguito in modo diverso. La destinazione può cambiare più spesso rispetto alla pagina / risposta del server. Ad esempio, puoi reindirizzare a una pagina scelta casualmente ogni volta che si accede alla pagina oppure aggiungere un timestamp in una stringa di query durante il reindirizzamento.

Pigrizia dello sviluppatore:

Entrambi i reindirizzamenti JavaScript e meta refresh possono essere implementati senza avere accesso alle intestazioni HTTP. Questo può essere utile per script lato server mal implementati: puoi reindirizzare una pagina dopo che le intestazioni sono già state inviate e non devi modificare grandi parti di codice.

Totalmente inutile:

Entrambi i reindirizzamenti JavaScript e meta refresh consentiranno un ritardo prima del reindirizzamento. Se vuoi mostrare un messaggio che l'utente avrà a malapena il tempo di leggere, questa è una buona soluzione.

    
risposta data 07.03.2017 - 18:09
fonte
1

Il principale vantaggio che posso pensare è che consentirebbe di utilizzare il caching del browser, che nella scala di Twitter sarebbe sostanziale. Altro pensiero è forse l'applicazione di registrazione / statistiche di Twitter che usano ne ha bisogno.

    
risposta data 06.03.2017 - 19:36
fonte
1

Normalmente i reindirizzamenti lato server sono preferiti.

Uno scenario di reindirizzamento lato client è localestampagna / sessionestoraggio. Se è necessario copiare alcuni dati dal server a localstorage, il reindirizzamento lato client è la strada da seguire.

Lo svantaggio dell'utilizzo del reindirizzamento lato client è che la cronologia del browser può contenere il passaggio di reindirizzamento inutile. Questo può essere mitigato usando window.location.replace (newurl) invece di window.location = newurl o meta tag.

    
risposta data 07.03.2017 - 20:08
fonte

Leggi altre domande sui tag