255 tecken kan hela URL'n vara, dvs hur lång querystringen kan vara beror på hur lång url'en är innan.
/Viktor
5 svar · 451 visningar · startad av Kristianstad
Undrar en sak:
Hur många tecken får man ha som URL? Jag skall lägga in massor med querystrings till en sökfunktion. Alltså sidan.asp?variabel1=innehåll1&variabel2=innehåll2&variabel3=innehåll3&variabel4=innehåll4...
Hur många tecken kan man få plats med från ? till slutet för att vara säkra på att det fungerar hos alla?
255 tecken kan hela URL'n vara, dvs hur lång querystringen kan vara beror på hur lång url'en är innan.
/Viktor
Viktor skrev:
255 tecken kan hela URL'n vara, dvs hur lång querystringen kan vara beror på hur lång url'en är innan.
/Viktor
URL:en kan vara betydligt längre än så, enligt RFC 2616 för HTTP version 1.1 så skall inte servrar lägga begränsning på längden.
RFC 2616 skrev:
Servers MUST be able to handle the URI of any resource they
serve, and SHOULD be able to handle URIs of unbounded length if they
provide GET-based forms that could generate such URIs
Det står dock också i RFC:n att
Note: Servers ought to be cautious about depending on URI lengths
above 255 bytes, because some older client or proxy
implementations might not properly support these lengths.
Maxtaket 255 härrör alltså från gamla proxy- och klientimplementationer. Det är alltså ett arv som man själv får avgöra om man vill ta hänsyn till, beroende på krav på tillgänglighet etc. Dagens http-servrar, webbläsare och proxyservrar stödjer långa URL:er.
Visst kan det sitta någon tomte i Uzbekistan som surfar med en 8 år gammal webbläsare via en proxy som skrevs 1993 och han kanske kan få problem med URL:er som är längre än 255 tecken. Man får själv avgöra om det är en faktor man vill ta hänsyn till :).
Tack så mycket!
255 tecken. Där gick min idé åt skogen..
Jag skall som sagt göra en sökfunktion. På en sida har jag mängder med textboxar och sedan skall den (genom WHERE i SQL) leta reda på de poster som har allt detta. Det är ju enkelt att fixa genom Request.Form("inputruta1"). Inte sant!? Jo, men då jag fått resultatet skall man även kunna fortsätta och t.ex. filtrera det ännu mer och om man trycker på en länk försvinner ju variablarna i Request.Form("inputruta1").
Jag har så pass många variablar att jag inte kan lagra dessa i querystrings.
Har ni något tips på vad man kan göra?
**Redigerat:**Efter att läst ett inlägg som kom då jag skrev fick jag lite mer hopp.:) Kan man ta sådana risker att ha en URL på cirka 600 tecken? Är det inte riskabelt?
Om ni uppskattar:
Om man haft 600 teckens URL på webforum. Hur många hade inte kunnat se sidan korrekt då?
Har ni något tips på vad man kan göra?
Använd POST för dina formulär. På varje delsida i sökflödet så lägger du in de tidigare inmatade värdena i hidden-fält i formuläret.
<input type="hidden" name="tidigareInmatatVärde" value="<%= Request.Form("tidigareInmatatVärde")%>">
Om man haft 600 teckens URL på webforum. Hur många hade inte kunnat se sidan korrekt då?
0.212% ;)
Där ser man!
Tackar. Tackar.