2015-04-05 16 views
26

Un sacco di persone chiedono "Qual è la lunghezza massima di un URL può essere?" ma per quanto posso vedere nessuno sta ponendo la domanda:Qual è la lunghezza massima sicura di un segmento in un percorso URL dovrebbe essere?

Qual è la lunghezza massima sicura di un segmento in un percorso URL dovrebbe essere?

Penso che questa domanda sia altrettanto importante.

Questa domanda è una domanda di carattere generale volta a supportare quanti più sistemi possibile fuori dalla scatola.

In C#, è possibile ottenere un elenco di segmenti di percorso URL da una richiesta in entrata, con i moduli di sicurezza installati che è considerata la lunghezza massima che un segmento in un percorso URL può essere per questo scenario?

ho letto nella pagina seguente che segmenti di percorso URL oltre 260 caratteri possono causare problemi in moduli ASP.NET personalizzati:

nei browser web, si digita segmenti URL indipendentemente dal sito Web visitato, / è un segmento di percorso URL che di solito viene associato a una home page. Con Internet Explorer, Chrome e Firefox sono i browser più diffusi, qual è la lunghezza massima della lunghezza del segmento del percorso URL che supportano?

posso vedere dalla seguente risorsa che la lunghezza massima di un percorso URL diverso per i vari browser e la cifra è a volte molto alta:

Ma questo è un percorso e non un segmento di percorso.

Sono anche consapevole del fatto che quando si riscrivono percorsi, la lunghezza del percorso del file system sottostante entra in gioco e la figura del parco giochi di ciò che posso vedere è di circa 255 caratteri in un sistema operativo * nix.

Altre considerazioni includono la lunghezza massima di un segmento di percorso URL in una tabella di database. Ad esempio, in MySQL una colonna varchar può contenere fino a 255 caratteri, ma c'è un caso per questo, sono le persone che memorizzano segmenti di percorsi nelle tabelle in MySQL o sono le persone che memorizzano gli URL completi nelle colonne varchar? Potrebbe significare che 255 caratteri sono troppo lunghi per un segmento di percorso URL?

Esiste una specifica W3C su quanto a lungo può essere un segmento di percorso URL in quanto non riesco a individuare nulla?

ho letto la specifica W3C su URI, ma ancora una volta non ho posto niente di utilizzo:

Sono abbastanza sconcertato che non esiste uno standard insieme su ciò che un la lunghezza di un segmento di percorso URL dovrebbe essere, quindi forse mi manca qualcosa?

Sono davvero alla ricerca di quante più informazioni possibili su quali sistemi diversi supportano e cosa è considerata una lunghezza sicura per un segmento di percorso URL.

+0

Possibile duplicato di [Qual è la lunghezza massima di un URL in diversi browser?] (Https://stackoverflow.com/questions/417142/questo-è-il-massimo-durata-di-a-url- in-different-browser) –

+1

Un segmento di un URL è diverso da un URL. –

+0

Scusa, hai ragione, non ho prestato abbastanza attenzione. –

risposta

29

eventualmente collegate di What is the maximum length of a URL in different browsers?

In breve

Secondo le specifiche HTTP, non v'è alcun limite alla lunghezza di un URL. Mantieni i tuoi URL sotto 2048 caratteri; questo garantirà che gli URL funzionino in tutte le configurazioni del server &. Inoltre, i motori di ricerca come gli URL rimangono sotto circa 2000 caratteri.

Chrome ha un limite di 2 MB per gli URL, IE8 e 9 hanno un limite di 2084 caratteri. Quindi tutto punta a mantenere i tuoi URL limitati a ca. 2000 caratteri.

Inoltre, da un punto di vista dell'usabilità, URL che a lungo non sono utilizzabili/leggibili dagli utenti.

Tuttavia, il nome di dominio ha un max. lunghezza di 255 caratteri. Quindi, per essere al sicuro, il massimo. la lunghezza di un segmento di URL sarebbe di circa 1745 caratteri, dato che il tuo URL esiste al di fuori di 1 segmento.

+0

Un segmento è solo una parte di un URL. –

+0

Sì, quindi il max. la lunghezza del segmento sarebbe max. Lunghezza URL: 255 (per il nome del dominio). Aggiornerò la mia risposta –

4

Non esiste un limite di tali specifiche. Ci possono essere limiti di implementazione , ma non troverete quelli nelle specifiche.

Nit: URI sono definiti da IETF, non il W3C, e la specifica corrente è RFC 3986.

+0

Ecco cosa sto cercando, un elenco di limiti di implementazione. –

0

La lunghezza massima URL non deve essere più di 2K (solo pratica comune). Il percorso del segmento può avere qualsiasi dimensione. La lunghezza del dominio non deve essere superiore a 255 caratteri rfc3986.txt. Il limite a esiste solo per implementazione. Segmento allegato al limite del nome del file solo in particolare (il vecchio uso comune). Oggi quasi tutte le richieste passano attraverso un file tramite la regola di riscrittura , quindi la lunghezza del segmento non ha importanza. Dopo che quel segmento è tenuto in una variabile che può essere davvero grande al giorno d'oggi quindi nessuna limitazione.

Problemi correlati