Diferențe pentru problema/url între reviziile #13 si #4

Diferențe între titluri:

Url
url

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:
* 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$], folosind orice combinație de litere mari sau mici. 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 două sau mai multe 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. 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---
| 1
  http://varena.ro
| DA
http
&nbsp;
varena.ro
&nbsp;
&nbsp;
DA
http
elev
abc123
www.888.com
80
////calea/spre//succes...
NU
NU
NU
  http
 
 
  varena.ro
 
 
|
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.
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.
Al patrulea URL este incorect. Numele de utilizator conține un caracter nepermis.
Ultimul URL este incorect. Calea conține caractere nepermise.
Ultimul URL este incorect. Calea conține un caracter nepermis.
== include(page="template/taskfooter" task_id="url") ==

Nu există diferențe între securitate.