Pagini recente »
Diferențe pentru problema/url între reviziile 13 și 9
|
Diferențe pentru problema/url între reviziile 13 și 8
|
Diferențe pentru problema/url între reviziile 13 și 7
|
Diferențe pentru problema/url între reviziile 13 și 4
|
Diferențe pentru problema/url între reviziile 13 și 3
Diferențe pentru
problema/url între reviziile
#13 si
#3
Diferențe între titluri:
Diferențe între conținut:
== include(page="template/taskheader" task_id="url") ==
Se dau $N$ șiruri de caractere. Să se decidă care dintre acestea reprezintă URL-uri corecte. Pentru simplificare, un URL corect se consideră a avea următoarele proprietăți:
Se dă o listă de $N$ șiruri de caractere. Să se decidă care dintre acestea reprezintă URL-uri corecte. Pentru simplificare, un URL corect se consideră a avea următoarele proprietăți:
* Nu face diferența între litere mari sau mici.
* Conține până la șase componente: protocolul, numele de utilizator, parola, numele mașinii, portul și calea.
* URL-ul începe întotdeauna cu protocolul, care poate fi $http$ sau [$https$], folosind orice combinație de litere mari sau mici. El este urmat de $<notextile>://</notextile>$
* Opțional, urmează informații despre utilizator sub forma $nume@$ sau $nume:parola@$. Numele de utilizator și parola, dacă există, sunt nevide și constau numai din litere sau cifre.
* Urmează numele mașinii (hostname). Acesta este compus din două sau mai multe etichete concatenate prin exact câte un caracter $"."$ (punct).
** Etichetele sunt nevide și constau numai din litere sau cifre.
* URL-ul începe întotdeauna cu protocolul, care poate fi $http$ sau [$https$]. El este urmat de $://$
* Opțional, urmează informații despre utilizator sub forma $nume@$ sau $nume:parola@$. Numele de utilizator și parola constau numai din litere sau cifre.
* Urmează numele mașinii (hostname). Acesta este compus din cel puțin două etichete concatenate prin exact câte un caracter "." (punct).
** Etichetele sunt nenule și constau numai din litere sau cifre
** Ultima etichetă este specială. Dacă ea constă numai din cifre, atunci numele mașinii este un IP numeric și trebuie să conțină exact patru etichete numerice cu valori între 0 și 255.
* Opțional, după numele mașinii urmează portul, sub forma $:port$. El este nevid, format numai din cifre.
* Opțional, urmează calea. Aceasta începe cu $"/"$ și conține litere, cifre și caractere $"/"$ sau $"."$ (punct) în orice combinație.
* Opțional, după numele mașinii urmează portul, sub forma $:port$. El este format numai din cifre.
* Opțional, urmează calea. Aceasta începe cu $/$ și conține litere, cifre și caractere $/$ în orice combinație.
h2. Date de intrare
h2. Restricții
* $1 ≤ N ≤ 10$
* Fiecare șir are maxim 1.000 de caractere.
* $1 ≤ M ≤ 10$
* fiecare șir are maxim 1.000 de caractere.
h2. Exemplu
table(example).
table(example).
|_. url.in |_. url.out |
| 5
http://varena.ro
http://elev:abc123@www.888.com:80////calea/spre//succes...
https://127.0.1/
http://!elev*@varena.ro
http://varena.ro/index.html---
| DA
http
varena.ro
DA
http
elev
abc123
www.888.com
80
////calea/spre//succes...
NU
NU
NU
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicație
Primul URL este corect și specifică protocolul $(http)$ și numele mașinii $(varena.ro)$. El nu specifică numele de utilizator, parola, portul sau calea.
Al doilea URL este corect și specifică toate cele șase componente.
Al treilea URL este incorect. Deoarece ultima etichetă a numelui mașinii este numerică (1), numele mașinii ar trebui să fie un IP numeric cu 4 etichete. El conține doar 3 etichete.
Al patrulea URL este incorect. Numele de utilizator conține caractere nepermise.
Ultimul URL este incorect. Calea conține caractere nepermise.
...
== include(page="template/taskfooter" task_id="url") ==
Nu există diferențe între securitate.