• Nazariy qism
  • 4-laboratoriya ishi mavzu: Internet manzillar va json ma’lumotlar almashish formati bilan ishlash




    Download 0,5 Mb.
    Pdf ko'rish
    bet1/2
    Sana19.11.2023
    Hajmi0,5 Mb.
    #101223
      1   2


    4-LABORATORIYA ISHI 
    Mavzu: Internet manzillar va JSON ma’lumotlar almashish formati bilan 
    ishlash 
     
    Ishning maqsadi: 
     
    Talabalarda Java dasturlash tili java.net.* paketining URL klassi va uning 
    metodlari hamda JSON ma’lumotlar almashish formati bilan ishlash bo‘yicha 
    amaliy ko‘nikmalar hosil qilish. 
    Nazariy qism: 
    URI – Uniform Resource Identifier (yagonalashtirilgan resurs identifikatori). 
    URL – Uniform Resource Locator (resurs joyining yagonalashtirilgan 
    belgilovchisi). 
    URN – Uniform Resource Name (resursning yagonalashtirilgan nomi). 
    Ularning tahlili. URI: tarmoqdagi resurs nomi va manzilini bildiradi. Qoida 
    bo‘yicha URL va URNga bo‘linadi va shuning uchun URI URL va URNlardan 
    tashkil topgan. 
    URL: qandaydir resursning webdagi manzili. URL resurs joylashgani joyi va 
    unga murojat qilish usulini bildiradi. 
    URN: qandaydir resursning webdagi nomi. URNning ma’nosi shundaki, 
    ko‘pgina aniq bo‘lgan joylarda joylashgan aniq bir predmetning faqat nomini 
    bildiradi. 
    URI bu identifikatorning abstrakt konsepsiyasi bo‘lib, URL va URN esa 
    manzil va nomning real qo‘llanilishidir. 
    So‘rov/javob xabarlari formati. Klient so‘rov shakli. Dastur-klient ulanish 
    o‘rnatilganidan keyin serverga so‘rov yuboradi. Ushbu so‘rov ikki shaklda bo‘lishi 
    mumkin: to‘liq va oddiy so‘rov shakllarida. Oddiy so‘rov kirish usuli va resurs 
    so‘rovini o‘z ichiga oladi. Masalan: 
    GET http://polyn.net.kiae.su/ 
    Bu yerda GET so‘zi kirish usulini anglatadi, http://polyn.net.kiae.su/ esa 
    resurs so‘rovidir. 0.9 dan yuqori versiyalagi protokolni qo‘lllab-quvvatlay oladigan 



    klientlar to‘liq so‘rov shaklidan foydalanishlari shart. To‘liq shakldan 
    foydalanilganda so‘rovda so‘rov satri, bir necha sarlavhalar (so‘rvo sarlavhasi yoki 
    umumiy sarlavha) va, ehtimol, resursni bildiruvchi tana ko‘rsatiladi. Bekus-Naur 
    shaklida to‘liq so‘rovning umumiy ko‘rinishi quyidagicha: 
    :=  (|
    >|)
    >[] 
    Bu yerda kvadrat qavslar sarlavhaning nozaruriy elementlarini bildiradi. 
    So‘rov satri – resursning so‘rovidir. Farq shundaki, so‘rov satrida turli kirish 
    usullarini ko‘rsatish mumkin va resurs so‘rovidan keyin protokol versiyasini 
    ko‘rsatish kerak. Masalan, tashqi dasturni chaqirish uchun quyidagi so‘rov satridan 
    foydalanish mumkin: 
    POST http://polyn.net.kiae.su/cgi-bin/test HTTP/1.0 
    Bu holatda POST usuli va 1.0 protokol versiyasidan foydalaniladi. 
    Server javobi. Server javobi so‘rov kabi soddalashtirilgan yoki to‘liq bo‘lishi 
    mumkin. Soddalashtirilgan javobda server faqat server tanasini qaytaradi (masalan, 
    HTML-hujjat matni). To‘liq javobda klientga holat satri (Status-Line), umumiy 
    sarlavha, javob sarlavhasi, resurs sarlavhasi va resurs tanasi qaytariladi. Bekus-
    Naur shaklida to‘liq javob quyidagicha keltiriladi: 
    := (|
    javobi >|
    simvoli>[] 
    Holat satri protokol versiyasi, qaytarish kodi va ushbu kodning qisqacha 
    tavsifidan iborat bo‘ladi. Masalan, u quyidagicha ko‘rinishga ega bo‘lishi mumkin: 
    "HTTP/1.0 200 Success" 
    Server javobi sarlavhasi so‘ralayotgan resursning URI adresidan va/yoki 
    server dasturi nomidan, va/yoki himoyalangan rejimda ishlash identifikatsiya 
    kodidan iborat bo‘lishi mumkin. Resurs sarlavhasi satrlari tarkibi klient so‘rovi va 
    server javobi uchun umumiy bo‘lib, kirish usuliga ruxsat, resurs tanasini kodlash 



    turi (resurs tarkibi), resurs tanasi tarkibi, resurs turi, resursning berilgan 
    nusxasining kuchga ega bo‘lish muddati, resursni oxirgi marta o‘zgartirish va 
    sarlavhani kengaytirish vaqtidan iborat bo‘ladi. 
    URL klasi java.net.* paketida joylashgan. 
    URL klassining metodlari: getFile(), getHost(), getPort(), getDefaultPort(), 
    getProtocol(), getRef(), getQuery(), getPath(), getUserInfo(), getAuthority(). 
    JSON yoki JavaScript Object Notation - bu inson tomonidan o‘qiladigan 
    ma’lumotlarni almashish uchun mo‘ljallangan yengil matnli ochiq standart.
    JavaScript Object Notation - fayl formatining ochiq standarti va 
    ma’lumotlar almashish formati bo‘lib, u atribut-qiymat juftliklari va massiv 
    ma’lumot turlaridan iborat ma’lumotlar obyektlarini saqlash va uzatish uchun 
    inson o‘qiy oladigan matndan foydalanadi. 
    JSON imkoniyatlaridan C, C++, Java, Python, Perl va boshqa tillar 
    dasturchilari foydalanishadi: 
    - Formatni Douglas Crockford yaratgan; 
    - U inson o‘qiydigan ma’lumotlar almashish uchun mo‘ljallangan; 
    - JavaScript skript tilidan kengaytirilgan; 
    - Fayl nomining kengaytmasi .json. 
    JSON ma’lumotlar almashish formatidan foydalanish: 
    - Bu brauzer kengaytmalari va veb-saytlarni o‘z ichiga olgan JavaScriptga 
    asoslangan dasturlarni yozishda ishlatiladi; 
    - JSON formati tizimlashtirilgan ma’lumotlarni seriyalashtirish va tarmoq 
    orqali uzatish uchun ishlatiladi; 
    - U asosan server va veb-ilovalar o‘rtasida ma’lumotlarni uzatish uchun 
    ishlatiladi; 
    - Umumiy ma’lumotlar bilan ta’minlash uchun veb-xizmatlar va APIlar JSON 
    formatidan foydalanadilar; 
    - U zamonaviy dasturlash tillarida ishlatilishi mumkin. 
    JSON ma’lumotlar almashish formati tavsifi: 
    - JSONni o‘qish va yozish oson; 



    - JSON yengil matnga asoslangan almashish formatidir; 
    - JSON dasturlash tiliga bog‘liq emas (mustaqil). 
    JSON sintaksisi asosan JavaScript sintaksisining qismi hisoblanadi va 
    quyidagilarni o‘z ichiga oladi: 
    - Ma’lumotlar nom/qiymat juftliklarida berilgan; 
    - Figurali qavslar obyektlarni o‘z ichiga oladi va ':' ikki nuqta bilan ajratilgan 
    nom/qiymat juftliklari vergul bilan ajratiladi; 
    - Kvadrat qavslar massivlarni o‘z ichiga oladi va qiymatlar vergul bilan 
    ajratiladi. 
    JSON ma’lumotlar almashish formatida ma’lumot turlari: 
    - Son (Number)
    Integer: 1-9 raqamlar, 0 va musbat yoki manfiy 
    Fraction: .3, -.9 kasrlar 
    Exponent: e, e+, e-, E, E+, E- 
    Sintaksisi: 
    var json-object-name = { string : number_value, .......} 
    Misol: var obj = {marks: 97} 
    - Qator (String) 
    - var obj = {name: 'Amit'}
    - Mantiqiy (Boolean) - true yoki false 
    - var obj = {distinction: true} 
    - Massiv (Array) – qiymatlarning tartiblangan qatori 
    { "books": [ 
    { "language":"Java" , "edition":"second" }, 
    { "language":"C++" , "lastName":"fifth" }, 
    { "language":"C" , "lastName":"third" } 
    ] } 
    - Object - kalit:qiymat juftligining tartibsiz to‘plami 
    - Null – bo‘sh 

    Download 0,5 Mb.
      1   2




    Download 0,5 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    4-laboratoriya ishi mavzu: Internet manzillar va json ma’lumotlar almashish formati bilan ishlash

    Download 0,5 Mb.
    Pdf ko'rish