URL-lərin müqayisəsi
İnternet şəbəkəsində resursların identifikasiyası üçün URL (Uniform Resource Locator) istifadə olunur. URL bir neçə elementdən ibarətdir: protokol, host, port, yol, fayl və seksiyа. Bəzi URL elementləri buraxıla bilər. Sadələşdirilmiş URL formatını nəzərdən keçirək:
[protokol://]host[:port][yol/[fayl[#seksiyа]]]
Kvadrat mötərizədə olan elementlər buraxıla bilər, yəni, məsələn, protokol və ya seksiyа göstərilməyə bilər. Amma, məsələn, fayl göstərilibsə, yol mütləq göstərilməlidir. URL elementlərində hərf registri önəmli deyil.
URL-in bütün elementlərini qısaca nəzərdən keçirək:
Protokol – fayla giriş üsuludur, fərqli protokollarla və eyni digər elementlərlə olan URL-lər müxtəlif resurslara işarə edə bilər.
Host və port – şəbəkədəki bəzi serverin adı və ona giriş üsuludur (port – 65535-dən çox olmayan natural ədəddir).
Yol – resursu saxlayan fayla kök kataloq adlanan serverdəki bəzi kataloqdan olan yoldur. Bu zaman kataloq adlarını ayırmaq üçün "/" simvolu istifadə olunur. Yol, əgər boş deyilsə, həmişə "/" simvolu ilə başlayır. Xüsusi işarə '.' öz kataloquna, '..' isə valideyn kataloquna uyğundur.
Fayl – tələb olunan resursu saxlayan fayldır.
Nəhayət, fayl müəyyən bir şəkildə seksiyalara bölünə bilər və siz hansı seksiyaya müraciət etmək istədiyinizi göstərə bilərsiniz.
URL-dəki müxtəlif simvollar % simvolu ilə öz onaltılıq ASCII kodları ilə əvəz edilə bilər, məsələn, a = %41, Z = %5A. Kodda həmişə dəqiq iki onaltılıq rəqəm istifadə olunur.
Bəzi simvollar URL elementlərində yalnız onaltılıq kodlar kimi görünə bilər – latın əlifbası hərfləri, rəqəmlər və "." və "-" simvolları istisna olmaqla, və bəziləri ümumiyyətlə görünə bilməz: "", "#", "*", "@", "%", "?", ":", ",", həmçinin ASCII kodu %20-dən kiçik olan simvollar. "/" simvolu URL elementlərində yalnız daxil olan kataloqların bölünməsi üçün yolda görünə bilər. Fayl adı yalnız nöqtələrdən ibarət ola bilməz.
URL nümunələrini nəzərdən keçirək:
http://neerc.ifmo.ru/school
ftp://somewhere.net:1234/pub/files/coolgame.zip
nobody.nowhere.net/some%20dir/some%20file#some%20info
Bu məsələdə sizin vəzifəniz web-serverin inkişaf etdiricilərinə kömək etməkdir. Web-server üçün URL-in olmayan hissələri aşağıdakı standart dəyərlərə malikdir:
Fərqli URL sətirləri eyni resursa işarə edə bilər, məsələn, aşağıdakı üç URL:
neerc.ifmo.ru
http://neerc.ifmo.ru:80/index.html#
Http://NEERC.IFMO.Ru/Dir/../././
Resurslara girişin fərqləndirilməsi üçün iki fərqli URL-in eyni resursa işarə edib-etmədiyini müəyyən etmək lazımdır. İnkişaf etdiricilərə uyğun yoxlama yazmağa kömək edin.
Giriş verilənləri
Giriş faylı iki sətirdən ibarətdir, hər biri URL-i ehtiva edir. Hər iki URL bu məsələnin şərtində verilmiş formata uyğundur. Hər bir URL-in uzunluğu 200 simvoldan çox deyil. Zəmanət verilir ki, resursa gedən yolda heç bir aralıq kataloq kök kataloqdan yuxarıda yerləşmir (məsələn, URL http://somewhere.com/../dir/index.html kimi bir şey ola bilməz) və həmçinin, bütün kataloq adları ən azı bir simvoldan ibarətdir (iki "/" simvolu ardıcıl olaraq istənilən yerdə, yalnız protokol adından sonra iki nöqtədən dərhal sonra ola bilər).
Çıxış verilənləri
Əgər giriş faylında verilmiş hər iki URL eyni resursa işarə edirsə, çıxış faylında YES yazın, əks halda NO yazın.