Atpakaļ uz pirmo lapu

laacz » 2004 » 8. septembris

One URI to rule them all

15:21 @ 2004-09-08 = 6 blabla  

Man ir nācies piekabināt parastām lapām to WML analogus, lai mobilo ierīču lietotāji varētu dikti jau nu jauki skatīties. Un, lai cik tas nebūtu dīvaini, mani vienmēr ir kretinējis tas, ka jāveido ir vai nu wap.saits.lv vai saits.lv/wap. Nenoliegšu, ka vienmēr tā arī esmu darījis :) Bet tagad no more.

Teju vai 100 procentos gadījumu var iztikt ar saits.lv. Viss, kas mums ir jāizdara, ir izvēle — ko klientam piedāvāt — WML vai XHTML saturu. Vai varbūt Atom, vai HDML?

<– cut :: „Velns nav tik melns, kā viņu…” ->

Jebkurš browseris, sūtot serverim kādu pieprasījumu, norāda satura veidus, kurus viņš saprot, izmantojot Accept HTTP hederus. Mūs interesē tieši Accept. Daži piemēri:

Firefox/0.8
application/x–shockwave–flash, text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, video/x–mng, image/png, image/jpeg, image/gif;q=0.2, */*;q=0.1
Opera 7.51
application/x–shockwave–flash, text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, video/x–mng, image/png, image/jpeg, image/gif;q=0.2, text/css, */*;q=0.1
Nokia 6600
application/prs.s2.putty–config, audio/wav, audio/x–wav, audio/basic, audio/x–au, audio/au, audio/x–basic, video/mp4, video/mpeg4, video/3gpp, application/vnd.rn–realmedia, audio/AMR–WB, audio/AMR, application/sdp, audio/sp–midi, audio/x–beatnik–rmf, audio/midi, application/java–archive, text/vnd.sun.j2me.app–descriptor, application/vnd.wap.wmlc, text/vnd.wap.wml, application/vnd.wap.wbxml, application/vnd.wap.wmlscriptc, text/html, application/vnd.wap.xhtml+xml, application/xhtml+xml, Psiloc/irRemote.ccf, Psiloc/irRemote.lirc, , audio/x–mp3, application/mp3skin, music/mod, music/xm, music/it, music/s3m, application/x–wallet–appl.user–data–provision, application/vnd.met.ticket, application/vnd.symbian.install, audio/x–pn–realaudio–plugin, audio/x–pn–realaudio, audio/mpegurl, audio/x–mpegurl, text/x–co–desc, application/vnd.oma.dd+xml, application/vnd.nokia.ringing–tone, text/vnd.symbian.wml.dtd, application/java, video/3gp, audio/rmf, audio/x–rmf, audio/x–midi, application/x–java–archive, application/vnd.oma.drm.message, application/x–x509–ca–cert, text/plain, text/X–vCard, text/calendar, text/x–vCalendar, text/css, image/*
IE 6
*/*

Tad nu tā. Ņemsim par piemēru Nokia 6600. No visas šīs MIME tipu gūzmas mums ir nepieciešami tikai tie, kuri ir tekstuāli. T.i. — text/…. Mums paliek:

text/vnd.sun.j2me.app–descriptor
text/vnd.wap.wml
text/html
text/x–co–desc
text/vnd.symbian.wml.dtd
text/plain
text/X–vCard
text/calendar
text/x–vCalendar
text/css

Secību jaukt nedrīkst. Tie tipi, kuri ir sākumā, ir tie, kurus tālrunis pieņemtu vislabprātāk.

Starp citu. Par secību. Tipam var tikt norādīts arī t.s. quality factor, kurš, rupji runājot, norāda uz svarīgumu un ir robežās no nulles, līdz viens. Ja tas nav norādīts, tā vērtība ir viens. Tas tiek norādīts sekojoši: text/vnd.wap.wml;q=0.5. Attiecīgi, jo mazāks šis quality factor, jo mazāk tālrunis vēlas norādīto satura veidu. Piemērs:

text/vnd.wap.wml;q=0.5, text/html;q=0.8, text/html+xml

Tad pēc svarīguma šis saraksts tiek izkārtots sekojošā secībā:

text/html+xml
text/html
text/vnd.wap.wml

Vēl viens moments. Tips var tikt norādīts kā text/*, kas nozīmē, ka tālrunis pieņem jebkuru tekstu. Neskatoties uz neko, šāds tips tiek novietots saraksta beigās. T.i., ja mums ir rinda text/*, */*, text/xml, tad rezultātā mums būs text/xml, text/*, */*.

Atgriezīsimies pie Nokia. Pēc kārtas ejot cauru mūsu sakārtotajam sarakstam, mēs skatāmies, ko varam piedāvāt šim tālrunim. Pirmais, ko ieraugām, ir text/vnd.sun.j2me.app–descriptor. Nedz mēs zinām, kas tas ir, nedz kā to pasniegt. Ignorējam. Nākamais ir text/vnd.wap.wml. Ahā! Tas takš ir WML! To mēs mākam, to mēs tūliņ, tūliņ. Un basta. Izsniedzam ierīcei WML kodu.

Ja nu mums neizdodas ierīcei piedāvāt to, ko jamā saprot, tad obligātā kārtā atgriežam HTTP kļūdu ar numuru 406, kas nozīmē not acceptable.

Kaut kā tā. Ja esmu nepareizi izskaidrojis quality factor nozīmi, lūdzu labojiet mani. Ja vēl kaut ko ne tā, dariet to pašu.

Un sīkāk par HTTP Accept.

1 Delfins @ 16:47 (2004. gada 08. septembris)

ū. pamācošs stāsts… :)

2 Pete @ 10:32 (2004. gada 09. septembris)

Ļoti laba viela pārdomām. Ļoti gribētos vairāk tamlīdzīgas infas.

3 taku @ 17:46 (2004. gada 20. oktobris)

Pirms gada http://laacz.lv/blog/2003/05/07/paspriek…
Tu rakstīji ka ar http accept padod savam xhtml application/xhtml+xml formātu (domāju arī pamēģināt to pašu). Vai ir kāds bargs iemesls, kāpēc Tu tomēr paliec pie vecā un xhtml padod text/html?

4 laacz @ 08:38 (2004. gada 21. oktobris)

Tāpēc, ka ar esošo SPP versiju nevaru 100% garantēt, ka saturs būs XHTML :) Tāpēc arī pagaidām padodu kā text/html. Bet viss mainās, kā zināms :)

5 vasja @ 12:35 (2004. gada 10. decembris)

da pasol ti duraks

6 UL @ 22:47 (2005. gada 18. janvāris)

text/vnd.sun.j2me.app–descriptor — to mēs, Lācz, mākam un zinām ;) (tas ir JAD), bet tas neattiecas uz šī tava posta ģenerālo tēmu.

Kā tu saucies:
Tava e-pasta adresīte:
(nevienam netiks rādīta, vai dota; pat pie komentāra ne)
Ko teiksi?
FYI
* Formatēšana: iekļaujot tekstu no abām pusēm iekā '//', tas iznāks kursīvā: //teksts// (teksts), bet treknu tekstu var dabūt ar '**' katrā pusē: **teksts** (teksts), savukārt pasvītrotu ar '__': __teksts__ (teksts).
* Enteri tiek automātiski pārtaisīti par enteriem. Jebkurš HTML (izņemot <BR.*>) tiek parādīts, kā ievadīts (ne HTML'iski)
* E-pastu var vadīt droši iekšā, ja ir bailes no spambotiem. Tas tiek aizsargāts no jamajiem.
* Jebkurš url'is (www.kaka.com, http://kaka.com/, …) tiek automātiski pārtaisīts par spiežamu prieku (www.kaka.com, http://kaka.com/, …)
* Ko nozīmē 'detransliterēšana'? Manuprāt sen jau ir laiks sākt rakstīt nevis translitā (aaboljiishi), bet gan normāliem letiņu burtiem (āboļīši). Tad nu tieši to arī dara attiecīgā poga - pārveido tekstu no translita uz parastu. Gadās kļūmītes, bet labāk šitā nekā nekā.
 

Valid CSS! Valid XHTML 1.0 Transitional! Valid RSS! Valid Atom!
Tātad tā. Kopīraita notice. Viss materiāls, kas atrodams šajā saitā nedrīkst tikt izplatīts, kopēts, jebkādi citādi reproducēts vai izmantots bez manas (laacz) rakstiskas atļaujas. šīs tiesības man laipni piedāvā Autortiesību Likums.
Jebkura informācija, kuru kāds labprātīgi publicē šajā saitā (piemēram, komentāri), pieder tās autoram. Taču, ievietojot infromāciju šajā saitā, tās autors sniedz saita īpašniekam tiesības to daļēji vai pilnā apjomā lietot, izplatīt, reproducēt, modificēt, adaptēt, publicēt, tulkot, publiski demonstrēt. Saita īpašnieks ir tiesīgs jebkuru komentāru jebkurā brīdī dzēst, vai modificēt.
© 1996 — 2025 laacz. Visas tiesības… nu jūs jau zināt, kur.
Spēcināts ar SPP (S Pivom Potjaņet) v2.0b (code name Marasmus)
Hostingu laipni piedāvā DEAC.

laacz blog activity

Top.LV

 

Lapa izlīdusi no servera dzīlēm 0.03216 sekundē(s)