Bosh sahifa Wiki Flags

Flags

Flags — IMAP protokolida xabarning holati yoki foydalanuvchi bergan belgisini ifodalovchi atributlardir. Ular xabar tanasini o‘zgartirmasdan, xat o‘qilganmi, javob berilganmi yoki o‘chirish uchun belgilanganmi kabi ma’lumotni serverda saqlaydi. Bir mailboxga ulangan turli mijozlar shu holatni umumiy ko‘radi.

Tizim bayroqlari

Standart IMAP system flag nomlari teskari qiya chiziq bilan boshlanadi. Asosiy bayroqlar quyidagilardir:

Bayroq Ma’nosi
Seen Xabar o‘qilgan yoki ko‘rilgan
Answered Xabarga javob yuborilgan
Flagged Xabar alohida e’tibor uchun belgilangan
Deleted Xabar keyingi o‘chirish uchun belgilangan
Draft Xabar qoralama hisoblanadi
Recent Xabar joriy yoki oldingi sessiyada yaqinda kelganini bildiradi

Recent boshqa bayroqlardan farqli ravishda odatda mijoz tomonidan erkin o‘rnatilmaydi. Uning aniq sessiya xatti-harakati serverga va IMAP versiyasiga bog‘liq. Zamonaviy sinxronlash tizimlari yangi xabarlarni aniqlashda ko‘proq UID va o‘zgarish hisoblagichlariga tayanadi.

Kalit so‘zlar

Server foydalanuvchi belgilaydigan keywordlarni ham qo‘llashi mumkin. Masalan, mijoz dasturi muhim loyiha yoki rangli yorliq uchun maxsus nom saqlaydi. Mailbox SELECT javobidagi FLAGS ro‘yxati mavjud bayroqlarni, PERMANENTFLAGS esa qaysi bayroq va kalit so‘zlarni doimiy o‘zgartirish mumkinligini ko‘rsatadi.

Har bir server ixtiyoriy keywordni qabul qilavermaydi. Mijoz ruxsat etilgan qiymatlarni tekshirmasdan yangi belgi yuborsa, buyruq rad etilishi mumkin. Turli pochta dasturlari bir xil vizual yorliqni turli ichki nom bilan ifodalashi ham o‘zaro moslikka ta’sir qiladi.

STORE orqali o‘zgartirish

Bayroqlar STORE yoki UID STORE buyrug‘i bilan boshqariladi. FLAGS amali mavjud to‘plamni berilgan qiymat bilan almashtiradi. +FLAGS bayroqlarni qo‘shadi, -FLAGS esa olib tashlaydi. SILENT varianti serverning har bir o‘zgarish uchun odatiy FETCH javobini qaytarishini kamaytiradi, biroq boshqa sessiyadagi o‘zgarishlar baribir bildirilishi mumkin.

Xabarni ochish ham Seen bayrog‘ini o‘rnatishi mumkin. Mijoz mazmunni ko‘rish bilan birga holatni o‘zgartirmoqchi bo‘lmasa, PEEK shaklidagi FETCH elementidan foydalanadi. Bu, masalan, server tomonidagi indeksator foydalanuvchining o‘qilgan belgilarini o‘zgartirib yubormasligi uchun muhim.

O‘chirish jarayonidagi roli

Deleted bayrog‘i xabarni darhol fizik yo‘q qilmaydi. U xabarni o‘chirishga nomzod qilib belgilaydi. EXPUNGE buyrug‘i shunday xabarlarni mailboxdan olib tashlaydi va natijada sequence numberlar siljishi mumkin. UID EXPUNGE kengaytmasi ma’lum UIDlarga tegishli xabarlarni aniqroq o‘chirishga xizmat qiladi.

Bu ikki bosqichli model foydalanuvchiga o‘chirishni bekor qilish imkonini beradi, lekin parallel mijozlar uchun ehtiyotkorlikni talab qiladi. Bir mijoz Deleted qo‘ygan xabarni boshqasi ko‘rishi yoki belgisini olib tashlashi mumkin. EXPUNGE yuborishdan avval joriy holatni to‘g‘ri sinxronlash zarur.

Parallel o‘zgarishlar

Oddiy STORE amali mijoz oxirgi ko‘rgan holatdan keyin boshqa qurilma bayroqni o‘zgartirganini bilmasdan uning ustidan yozishi mumkin. CONDSTORE kengaytmasi modifikatsiya ketma-ketligi qiymatlari yordamida shartli yangilashga imkon beradi. QRESYNC esa uzilgan sessiyadan keyin bayroq va o‘chirish o‘zgarishlarini samaraliroq tiklaydi.

Bayroqlar qidiruvda ham ishlatiladi. SEARCH SEEN, UNSEEN, ANSWERED yoki KEYWORD mezonlari bilan xabarlarni tanlaydi. Shu tariqa ular interfeys belgisi bo‘lish bilan birga server tomonidagi filtrlash va sinxronlash modelining tarkibiy qismidir.

Server backup va ko‘chirish jarayonida bayroqlarni xabar bilan birga saqlashi kerak. Faqat MIME mazmunini nusxalash o‘qilganlik, qoralama va foydalanuvchi yorliqlarini yo‘qotadi. Migratsiyadan keyin son va flag holati alohida solishtiriladi.

Bog‘liq tushunchalar

IMAP, STORE, FETCH, SEARCH, UID, EXPUNGE, CONDSTORE