2013-11-04 17 views
5

Mentre si passava attraverso lo location sources per gli attacchi DOM XSS, stavo cercando di capire le loro differenze nei loro usi (vale a dire dove usare cosa). Secondo MDN, la differenza tra document.documentURI e document.URL sta seguendo.Alcuni casi in cui document.documentURI è disponibile ma non document.URL

I documenti HTML hanno una proprietà document.URL che restituisce lo stesso valore. A differenza di URL, documentURI è disponibile su tutti i tipi di documenti.

Qualcuno può spiegare i casi in cui solo documentURI è disponibile e non URL?

EDIT:

Vorrei sapere un paio di casi specifici in cui questo accade in realtà.

risposta

-1

Un URI (localizzatore di risorse uniformi) è diviso in un URN e URL.

URL è semplicemente la posizione del documento HTML sul Web, un localizzatore insieme a un URN che è come il nome di una persona o l'indirizzo.

Quindi un URI identifica e punta a un file. Un URL è semplicemente il mezzo per localizzare il file senza un'identità completa (come la sua unica parte dell'URI che usa anche l'URN).

Spero che questo aiuti

1

document.documentURI è accessibile HTML documenti e sul documenti HTML non.

document.URL è disponibile su documenti HTML.


Esempio:

<?xml version="1.0" ?> 
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
    "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"> 

    <circle cx="250" cy="250" r="50" fill="red" /> 

    <script type="text/javascript"> 
    <![CDATA[ 
    alert(document.URL); 
    alert(document.documentURI); 
    ]]> 
    </script> 

</svg> 

Il primo avviso (document.URL) sarà undefined.

+0

qualche esempio specifico? –

+0

@PraveenB: ho aggiunto un documento SVG di esempio. Basta aprirlo nel tuo browser. – unor

+0

come lo aprirò in un browser? se lo salvo in un file, ottengo il percorso del file per entrambi gli avvisi –

Problemi correlati