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



Yüklə 0,5 Mb.
Pdf görüntüsü
səhifə1/2
tarix04.12.2023
ölçüsü0,5 Mb.
#138194
  1   2
4-AMALIY ISHI — копия



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 

Yüklə 0,5 Mb.

Dostları ilə paylaş:
  1   2




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin