Slik laster du ned og installerer Call of Duty Mobile for Android med gameplay-bevis COVID 19

Hvilke spesialtegn er trygge å bruke i url?

  • 3 Det ville være mye raskere og lettere å spørre hvilke spesialtegn som er usikre å bruke i en URL (ifølge Andreas Boninis svar nedenfor).
  • 2 Å spørre hva som er usikkert, er like vanskelig å svare: Ethvert ikke-ascii-tegn må være prosentkodet.
  • 2 @neo: nei det gjør det ikke: O

De sikre tegnene er a-z, A-Z, 0-9 og _ - (understrek og minus), som i tillegg til de reserverte tegnene som brukes til parametrene.

Andre tegn vil gi problemer i noen grad. eksempel: hvis en parameter er en matrise ?param=array[content] dvs. vil vise en url med url kodet med firkantede parenteser, som ser stygge og umulige å diktere ut.

Men problemet er ikke bare at det er stygt, la oss si at du har en jpg med et tegn ved siden av de tryggere, mange ganger vil nettleseren ikke kunne laste ned den og få en 404. Dette er et problem med eldre nettlesere og noen mobile nettlesere.

Hvordan teste dette?

  • legg en haug med bilder / js / css med tegnene du vil teste i navnene på en offentlig side med mange besøkende
  • Få 404-siden til å sende deg en e-post hver gang den får et treff

Jeg har en innboks med 14000 e-poster som viser poenget mitt.

  • 5 vel, i stedet for "trygge tegn" vil jeg si "ekstremt trygge tegn" - spesifikasjonen tillater mer, men jeg er enig med deg i at det er bedre å være konservativ her.
  • 3 Hva er galt med menstruasjon?

Følgende tegn har spesiell betydning i banekomponenten til URL-en din (banekomponenten er alt før '?'):

 ';' | '/' | '?' 

I tillegg til disse har følgende tegn spesiell betydning i spørringsdelen av URL-en din (alt etter '?'). Derfor, hvis de er ute etter '?' du må unnslippe dem:

 ':' | '@' | '&' | '=' | '+' | '$' | ',' 

For en mer inngående forklaring, se RFC.

  • 4 Bare for klarhetens skyld er dette svaret selvfølgelig det motsatte av spørsmålet. Spørsmålet spør om hvilke tegn som er trygge, ikke de som er usikre.Siden det er vanskelig å svare på det opprinnelige spørsmålet, bør spørsmålet sannsynligvis redigeres for å stille det omvendt og matche dette svaret.

Dette spørsmålet dukket opp selvfølgelig først, da jeg googlet opp "URL-sikre tegn", som folk flest ville. Jeg synes det er verdig å stille et greit svar på et kortfattet spørsmål. Fra hestens - uh, RFC2396 - mener jeg, Sir Timothys munn:

2.3. Unreserved Characters Data characters that are allowed in a URI but do not have a reserved purpose are called unreserved. These include upper and lower case letters, decimal digits, and a limited set of punctuation marks and symbols. unreserved = alphanum | mark mark = '-' | '_' | '.' | '!' | '~' | '*' | ''' | '(' | ')' Unreserved characters can be escaped without changing the semantics of the URI, but this should not be done unless the URI is being used in a context that does not allow the unescaped character to appear. 

"Store og små bokstaver" i denne sammenheng forstås som definert tidligere i avsnitt 1.6 i samme standard:

The following definitions are common to many elements: alpha = lowalpha | upalpha lowalpha = 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z' upalpha = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z' digit = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' alphanum = alpha | digit 

Så svaret er at URL-sikre tegn er gode gamle ASCII-7 latinske tegn A gjennom Z med små og store bokstaver, desimaltall 0 gjennom 9, og en håndfull ikke-alfanumerikk som er eksplisitt oppført i mark grammatikkens produksjonsregel i kap. 2.3.


Hvis spørsmålet skal forstås om HTTP / HTTPS URL (merk at RFC2396 definerer URJeg), den semantisk behandling av RFC2396 syntaks som ressurssøkere for HTTP [S] -protokollen er for tiden standardisert av RFC7230, Sec. 2.7. Ikke desto mindre å utlede at settet med "URL-sikre" tegn er større enn det som er definert av RFC2396 fra observasjonen at de ikke behandles spesielt i RFC7230 Sec. 2.7 ville ikke være et fremtidssikkert trekk; en mulig fremtidig RFC7230-oppdatering kan tilskrive semantikk til flere tegn som er utenfor det "URL-sikre" RFC2396-settet, noe som gir en slik slutning ex statu quo ugyldig.

TL; DR, er det den tryggeste og fremtidssikrede tilnærmingen å behandle settet med URL-sikre tegn som er definert i RFC2396 som det største mulig og ikke utvidbare, og ikke utvide det med de som er for tiden greit / trygt / ikke-spesielt per RFC7230: dette kan endre seg. RFC2396-settet kan derimot ikke.

Svarene her er gode, men det er et unntak til som jeg synes er verdt å nevne - ikke-engelske tegn. Med henvisning til dette SF-spørsmålet her, er tegn som ñ (som på Español) helt legitime, HVIS de er kodet riktig i DNS-en din.

Du må bruke Punycode i DNS-en din for å få dem til å løse i moderne nettlesere (oppføringen for español er xn--espaol-zwa) men disse er nå helt trygge å bruke i domenenavn, ettersom de også er enkle å skrive for ikke-engelsktalende.

RFC 2396 er faktisk foreldet og ble erstattet av RFC 3986.

Uforbeholdne spesialtegn (trygt å bruke uten koding) (annet enn bokstaver og sifre) er:

- . _ og ~

fungert for deg: Charles Robertson | Ønsker du å kontakte oss?