URL-lərin müqayisəsi#2038

URL-lərin müqayisəsi

1 saniyə
64 meqabayt
Çətin

İnternetdə resursları müəyyən etmək üçün URL-lər (Uniform Resource Locator) istifadə olunur. URL bir neçə hissədən ibarətdir: protokol, host, port, yol (path), fayl (file) və bölmə (section). Bu elementlərdən bəziləri göstərilməyə bilər. Sadələşdirilmiş URL formatına baxaq:

[protokol://][:][/[[# bölmə]]]

Dördbucaq mötərizədə olan elementlər seçimlidir, yəni məsələn, protokol və ya bölmə hissələrini göstərmək lazım deyil. Amma əgər fayl göstərilibsə, yol da göstərilməlidir. URL elementlərində hərflərin böyük/kiçikliyi önəm daşımır.

Gəlin, URL elementlərini qısa şəkildə nəzərdən keçirək:

Protokol — Fayla giriş üsuludur. Fərqli protokollu, lakin digər elementləri eyni olan URL-lər müxtəlif resurslara işarə edə bilər.

Host və port — Şəbəkədəki serverin adı və həmin serverə giriş üsuludur (port təbii ədəddir və -dən böyük olmamalıdır).

Yol (path) — Serverdə müəyyən bir kataloqdan (root adlanır) tələb olunan resursu ehtiva edən fayla olan yoldur. Kataloq adlarını ayırmaq üçün "/" simvolu istifadə olunur. Əgər yol boş deyilsə, həmişə "/" simvolu ilə başlayır. Xüsusi "." notası elə bu kataloqu, ".." isə yuxarı (ana) kataloqu göstərir.

Fayl — Tələb olunan resursun yerləşdiyi fayldır.

Fayl əlavə olaraq müəyyən şəkildə bölmələrə bölünə bilər və istənilən bölməni də göstərmək mümkündür.

URL-dəki bəzi simvolları onların onaltılı (hexadecimal) ASCII kodları ilə işarəsindən istifadə etməklə əvəzləmək olar, məsələn a = \%41, Z = \%5A. Kod həmişə dəqiq iki onaltı rəqəmdən ibarət olur.

Bəzi simvollar URL elementlərində yalnız onaltılı kod kimi yarana bilər — latın hərfləri, rəqəmlər, həmçinin "." və "-" istisna olmaqla bütün simvollar və bəziləri heç vaxt görünə bilməz: "", "#", "*", "@", "%", "?", ":", ",", eləcə də ASCII kodu -dən kiçik olan simvollar. "/" simvolu URL elementlərində yalnız yol hissəsində kataloqları ayırmaq üçün istifadə oluna bilər. Fayl adında sadəcə nöqtələrdən ibarət ad ola bilməz.

URL nümunələri:

Bu məsələdə məqsədiniz veb server proqramçılarına kömək etməkdir. Veb server üçün URL-in göstərilməmiş hissələrinin aşağıdakı standart dəyərləri var:

Fərqli URL sətirləri eyni resursa işarə edə bilər, məsələn, aşağıdakı üç URL:

Resurslara daxilolmanı fərqləndirmək üçün müəyyən etmək lazımdır ki, iki fərqli URL eyni resursa işarə edirmi. Proqramçılara uyğun yoxlama alqoritmini yazmağa kömək edin.

Giriş

Giriş faylında hər sətirdə bir URL olmaqla iki sətir verilib. Hər iki URL məsələdə göstərilən formata uyğundur. Hər bir URL-in uzunluğu simvoldan artıq deyil. Zəmanət verilir ki, resursa olan yolda heç bir aralıq kataloq root-un yuxarısına çıxmır (məsələn, http://somewhere.com/../dir/index.html kimi URL ola bilməz) və bütün kataloq adları azı bir simvoldan ibarətdir (heç yerdə iki "/" simvolu ard-arda gəlməz, yalnız protokol adından sonra olan iki nöqtədən dərhal sonra istisna olmaqla).

Çıxış

Əgər girişdə verilən iki URL eyni resursa işarə edirsə, YES, əks halda NO çap edin.

Nümunələr

Nümunə 1

Loading
Loading