# Deep linking

Il deep linking è l'operazione di inserire all'interno di una pagina web di un sito web un collegamento (hyperlink) a una pagina interna di un sito differente. Il termine significa letteralmente "collegamento in profondità", indicando appunto che si scende in profondità nel sito remoto; può pertanto essere tradotto anche con collegamento diretto (in quanto "aggira" la prima pagina del sito e tutte quelle intermedie). Per contrapposizione, talvolta il collegamento alla prima pagina (home page) di un altro sito viene detto surface link (collegamento di superficie).

## Tipi di link

Il protocollo HTTP, meccanismo di trasferimento delle risorse web, non struttura gerarchicamente le pagine di un sito web, le quali si trovano tutte a pari rango; il livello di struttura è logico, ed è dato semplicemente dall'ordine concettuale in cui le pagine vengono presentate all'utente (a iniziare dalla home page, che dal punto di vista del file system non ha preminenza rispetto a qualsiasi altra pagina del sito). Riepilogando, per l'HTTP tutte le risorse sono raggiungibili tramite URL.
Un collegamento in una pagina web non è altro che un URL che può puntare a diverse risorse dello stesso o di altri siti:
* alla cosiddetta home page del sito (ad esempio http://it.wikipedia.org/), cioè alla pagina fornita di default dal server web (in questo caso it.wikipedia.org) in mancanza di ulteriori specificazioni;
* a una pagina specifica del sito (ad esempio http://www.faqs.org/rfcs/rfc2396.html), specificando il percorso e il nome del file;
* a una sezione specifica di una pagina di un sito (ad esempio Sito web#Tipologie di siti web), separando la sezione con il carattere "#";
* a un'applicazione che richiede dei parametri (ad esempio http://it.wikipedia.org/w/wiki.phtml?title=Speciale:Whatlinkshere&target=Deep_linking), separando la stringa di parametri con il carattere "?", e separando i parametri tra loro con il carattere "&".

## Consuetudini

Tutti i meccanismi link esposti sono esplicitamente previsti dagli standard del World Wide Web, nato in ambito scientifico e quindi estremamente liberale nel prevedere la possibilità di mettere in relazione documenti di origine differente; ma con l'evoluzione hobbistica, commerciale e tecnologica del WWW, sono progressivamente entrati in conflitto con le intenzioni di alcuni webmaster:
* l'introduzione dei "frame", ora progressivamente in via di estinzione, ha reso il testo come un insieme di pagine indipendenti all'interno di una "cornice", rendendo difficoltoso il riconoscimento del contesto da cui provengono le pagine stesse;
* soprattutto nei siti commerciali, i responsabili dell'immagine aziendale tendenzialmente non gradiscono che si acceda direttamente alle pagine interne di un sito saltando le homepage ricche di banner pubblicitari o che contengono avvisi potenzialmente importanti;
* se un sito cambia la propria struttura interna, il collegamento può puntare a una pagina che non esiste più;
* molti siti vengono progettati, per motivi di natura estetica o di organizzazione dei contenuti, per un percorso di navigazione rigido. Ad esempio, i designer spesso predispongono pagine molto corte, per motivi sia di leggibilità sia di eleganza, con la conseguenza che documenti di una certa lunghezza devono essere divisi in più pagine da leggere in ordine;
* molti siti sono ormai gestiti da applicazioni che predispongono l'aspetto e i contenuti delle pagine in base a fattori contingenti (utente collegato, data o ora, risultati di una ricerca, ecc...), con il risultato che a un URL non corrispondono necessariamente sempre gli stessi contenuti.
Si è quindi progressivamente creato il "problema del deep linking", che riguarda sia chi crea siti web e, per alcuni dei motivi esposti, desidera che le proprie pagine interne non vengano collegate direttamente, sia chi, dal punto di vista opposto, vorrebbe poter puntare precisamente a contenuti di altri siti senza riuscirci. Si pensi a un sito che contenga materiale tecnico su un programma in cui i link dovrebbero portare direttamente alle pagine specifiche del produttore del software e non alla sua homepage.

## Tecniche di deep linking

Il deep linking si può attuare in vari modi. L'uso più banale e formalmente corretto è la segnalazione all'interno della propria pagina, che faccia risultare chiaramente che il collegamento porta ad una pagina di un sito esterno.
Meno trasparente è il cosiddetto framing, in cui la pagina chiamata (interna o esterna al sito chiamante) è inquadrata (framed) all'interno di una finestra del sito chiamante senza indicare nella toolbar di navigazione l'esplicito URL della pagina chiamata. Si tratta di una pratica di per sé non illegittima né illegale, ma che, non essendo immediatamente riconoscibile, può essere usata da malintenzionati per ingannare, fuorviare o confondere l'utente, a meno che nel sito chiamante non sia stato esplicitamente specificato che il link è diretto alla pagina di un altro sito. Si può essere indotti infatti a pensare che il contenuto appartenga al sito di partenza.
Una variante del framing usa l'elemento HTML Iframe (Inline Frame), tecnica che può anche costituire una seria minaccia per la sicurezza, in quanto può permettere attacchi con tecniche di Cross Site Scripting. Risultati simili possono essere ottenuti con script eseguiti dal browser.
In ogni caso, queste tecniche permettono all'utente, con diversi livelli di difficoltà, di prendere coscienza che la pagina o parte della pagina visualizzata proviene da un sito differente da quello di partenza. Esistono invece tecniche che risultano del tutto trasparenti all'utente finale: un programma sul web server, scritto ad esempio in PHP, può estrarre al volo il contenuto di una pagina pubblicata su un server esterno e integrarlo all'interno di una pagina locale. L'utente non potrà, se non per incongruenze dei contenuti, distinguere l'origine della pagina. La cosa può portare a situazioni davvero pericolose: si pensi a un utente che apre un link a "micosoft.com" (notare il nome) e scarica da lì del software...
Se quest'ipotesi appare come un incubo a coloro che non desiderano che le proprie pagine siano oggetto di deep linking, costituisce d'altra parte uno dei motivi per cui si osserva una continua convergenza tra HTTP/HTML e XML, come nel formato XHTML. Infatti, mentre con una pagina di testo piano o HTML l'estrazione automatica di parti del contenuto risulta sempre difficoltosa, l'XML rende possibile identificare in modo semplice e preciso gli elementi della pagina XHTML, permettendo, ad esempio, di estrarne solo il titolo. Queste possibilità sono alla base delle iniziative relative al Web semantico.

## Deep link di immagini

Un caso particolare di deep linking è il collegamento di immagini o di altre risorse che non costituiscono una pagina, come brani musicali o software. La sintassi dell'HTML permette infatti di inserire le immagini con l'uso del tag <img> specificandone come origine un URL qualsiasi, che può quindi essere locale o proveniente da un altro sito. Questo caso è il più controverso perché sfrutta in modo passivo lo spazio disco e la connessione del sito remoto senza che quest'ultimo ne ricavi alcun vantaggio, anche solo di visibilità.
Alcuni siti tentano di proteggersi da questo tipo di deep linking verificando che certe specifiche categorie di file siano richiamate solamente a partire da altre pagine del sito. Questo è solitamente possibile utilizzando il campo 'referer' dell'intestazione della richiesta HTTP. Tale tecnica di protezione, però, oltre a non essere efficace nei confronti di un attacco determinato e competente, non tiene conto dell'esistenza di implementazioni dei browser che non inviano al server il campo 'referer'. Tale situazione, pur conforme allo standard, può pertanto rendere impossibile all'utente fruire correttamente del sito.

## Aspetti legali

Allo stato attuale, non sono chiare le implicazioni legali del deep linking: se in alcuni casi si può configurare un danno economico per il sito bersaglio dei collegamenti, ad esempio nel caso che gli inserzionisti dei banner pubblicitari paghino in base ai contatti, d'altro canto il WWW è stato pensato in questo modo e se qualcuno non desidera assumersi i rischi ad esso connaturati non è obbligato a utilizzarlo come mezzo di distribuzione di contenuti. In ogni caso, non risulta che la giurisprudenza italiana si sia mai pronunciata in proposito. Le cause intentate in altri Paesi hanno avuto esiti contraddittori.
Ad esempio, nel 1996, il quotidiano on-line scozzese Shetland Times intentò causa contro il concorrente Shetland News. L'azione non arrivò davanti al giudice, in quanto i due contendenti giunsero ad un accordo con cui Shetland News accettava di indicare i riferimenti della fonte e inseriva un collegamento indirizzato all'homepage del giornale avversario.
Negli Stati Uniti, nel 1997, Ticketmaster iniziò una causa contro Microsoft. Il colosso del software era accusato di aver inserito un deep link senza aver avuto l'autorizzazione (che pare fosse stata richiesta). Anche in questo caso non si giunse al giudizio, e Microsoft rimosse il link. Sempre negli Stati Uniti, The Washington Post, TIME e CNN aprirono una causa contro Total News per framing. Anche in questo caso venne raggiunto un accordo. L'unica causa che sembra abbia raggiunto un risultato è quella del 1999, che opponeva sempre Ticketmaster a Tickets.com, ma, trattandosi di aziende nello stesso ramo di attività, il caso venne trattato come una fattispecie di concorrenza sleale.
Nei Paesi Bassi, nel 2000, un gruppo di giornali (Nrc Handelsblad, Trouw, Algemeen Dagblad, Het Parool, de Volkskrant e Rotterdams Dagblad) denunciò il sito www.kranten.com per un servizio di rassegna stampa con titoli collegati direttamente agli articoli presenti sui vari giornali. La Corte Federale di Rotterdam dichiarò che un collegamento verso le pagine interne di un sito non può essere considerato una "riproduzione" dei contenuti e quindi il deep link non viola le norme sui diritti d'autore. La sentenza di assoluzione specifica che il sito di partenza non solo non ha danneggiato i siti collegati, ma può anzi aver pubblicizzato i giornali on-line incrementandone gli accessi.
Sempre nel 2000, in Francia, una causa fra i siti www.cadresonline.com e www.keljob.com, un motore di ricerca che indicizza le pagine del primo, ha avuto invece esito opposto. Il tribunale di Parigi ha dato ragione al sito www.cadresonline.com, e Keljob è stata costretta a pagare 15.000 franchi. In questo caso, però, sembra che il motore di ricerca modificasse anche il contenuto delle pagine originali.
Nel 2014 una sentenza della Corte di giustizia dell'Unione europea ha riconosciuto il diritto di creare link verso contenuti protetti dal diritto d'autore altrui.