In PAC, shExpMatch usa caratteri jolly in stile shell. Per i sottodomini di example.com:

if (shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

Usa gli endpoint HTTP scelti dalla policy in questi valori di ritorno; il elenco dei proxy HTTP fornisce candidati per le rotte pubbliche consentite. L'asterisco corrisponde a una sequenza di caratteri. Non è un operatore di ripetizione delle espressioni regolari, quindi un .*example.com che sembra una regex cambia il significato.

Includi esplicitamente il nome esatto del genitore quando fa parte della policy:

if (host === "example.com" || shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

Usare *example.com al suo posto accetterebbe anche nomi che terminano con quelle lettere senza un punto separatore. Ciò amplia l'insieme oltre il confine di dominio previsto.

La base portabile dei caratteri jolly PAC comprende * e ?; le classi di caratteri variano in base all'implementazione. Una regex JavaScript invece usa test() e le proprie regole di ancoraggio e di escape.

Corrispondi all'input previsto. host è un nome host, mentre url include uno schema e potrebbe essere stato sanificato. Una regola di dominio non dovrebbe dipendere per caso da un percorso che il browser non fornisce mai.

Articoli correlati