Requisiti di formattazione url

A partire da Windows 7, le incoerenze rimangono nella gestione e nell'analisi degli URL. In questo argomento viene fornita una guida limitata all'esplorazione delle incoerenze nei formati url di file.

Questo argomento è organizzato come segue:

Formati URL in uso

I protocolli di terze parti sono responsabili della definizione del formato URL e della definizione delle query in modo conforme ai propri standard. Ad esempio, Microsoft Outlook supporta i nomi di cartelle con caratteri arbitrari, inclusi quelli non validi negli URL, ad esempio il "?" carattere . Il gestore del protocollo MAPI esegue la propria codifica URL degli URL. Di conseguenza, gli archivi "%3F" di indici anziché "?" , e Outlook devono tenere conto di questa situazione durante la creazione di query.

I diversi formati sono elencati nella tabella seguente e vengono assegnati a ognuno un identificatore di lettera per fare riferimento a tali formati più avanti in questo argomento.

ID URL del file locale o remoto Esempio
A Locale file:///c:\test\example\
B Locale file:c:/test/example/
C Locale c:\test\example\
D Remoto file:///\\server\share\
E Remoto file://server/share/
F Remoto \\server\share\

 

Direzione barra, stella finale e sensibilità barra finale

In Windows Search non esiste in gran parte alcuna sensibilità alla direzione della barra. Se il formato c:\test\example viene accettato, viene accettato anche c:/test/example. Tuttavia, anche se SCOPE è in genere insensibile alla direzione della barra, è sensibile alla direzione della barra nel caso del formato URL remoto F. Di conseguenza, Scope = '//server/share' non funziona.

L'unica API sensibile alle stelle finali e distingue c:\test\ tra e c:\test\* è ISearchCrawlScopeManager. Se è presente una regola di esclusione per c:\test\*, la directory c:\test URL stessa verrà comunque indicizzata. Tuttavia, se l'URL di esclusione è c:\test\, la directory c:\test URL stessa non verrà indicizzata.

Esistono due posizioni in cui Windows Search è sensibile alle barre finali: ItemUrl e Path query. Se è presente una directory c:\test, Windows Search considera c:\test\ in modo diverso i c:\test predicati come path = 'c:\test' e System.ItemUrl = 'c:\test'. Ad esempio, il predicato path='file:c:/test' corrisponde alla directory c:\test, ma path='file:c:/test/' non a causa della barra finale.

Formati url per API e query

I formati di URL dei file locali accettati dalle API e dalle query selezionate sono elencati nella tabella seguente. I formati sono associati a una lettera (da A a F), il cui significato è stato indicato nella sezione "URL Formats in Use" in precedenza in questo argomento.

API o query Formato A Formato B Formato C
ISearchCrawlScopeManager S N S
IGatherNotifyInline::OnDataChange S S S
ISearchCatalogManager::ReindexMatchingURLs S S S
ISearchCatalogManager::ReindexSearchRoot S N N
ISearchCatalogManager2::P rioritizeMatchingURLs S S S
Ambito= N S S
Directory= N S S
ItemUrl= N S S
Path= N S S

 

Nella tabella seguente sono elencati i formati di URL di file remoti accettati dalle query selezionate.

Query Formato D Formato E Formato F
ISearchCrawlScopeManager N/D N/D N/D
IGatherNotifyInline::OnDataChange N/D N/D N/D
ISearchCatalogManager::ReindexMatchingURLs N/D N/D N/D
ISearchCatalogManager::ReindexSearchRoot N/D N/D N/D
ISearchCatalogManager2::P rioritizeMatchingURLs N/D N/D N/D
Ambito= S S S
Directory= S S S
ItemUrl= S S S
Path= S S S

 

Elementi inclusi nell'indice

Processo di indicizzazione in Windows Search

Processo di query in Windows Search

Processo notifiche in Windows Search