当前位置 - 股票行情交易網 - 裝修設計 - .wml文件怎麽打開啊

.wml文件怎麽打開啊

好像用記事本可以,不是很清楚,看看別人的回答吧

WML的基本情況

用於WAP的標記語言就是WML(Wireless Markup Language)。

WML的語法跟XML壹樣,WML是XML的子集。

HTML、XML和WML的文件有很多相似之處,這樣網頁開發者在過去10年中所學的東西今天依然適用。

WML頁面文件的後綴是 *.WML,就象HTML的 *.HTML後綴。

XML規定定義了壹個規範的XML文件的規格。任何違反這個規定的WML文件會出錯。WML文件通常使用XML解釋器起來解釋。

建立網頁制作環境

WML文件本身就是文本文件,所以編輯不成問題,順手的編輯器都可以用。

當然,由於目前的瀏覽器還都不能顯示WML頁面,而我們又不能總在手機上進行測試(速度太慢),所以需要模擬器。現在象NOKIA、ERICSSON、MOTOROLA等手機制造商都生產了相應的產品,妳只要下載就行了。當然除了模擬器以外,還需要圖形制作轉換器(用來制作WAP格式的圖形文件)、字符轉碼器(漢字<=>UNICODE)等等,本站工具及論壇頁面均有說明。

WML文件結構

WML的頁面通常叫做桌面(DECK),由壹組互相鏈接的卡片(CARD)組成。當移動電話訪問壹個WML頁面的時候,頁面的所有CARD都會從WAP服務器下載到設備裏。CARD之間的切換由電話內置的計算機處理,不需要再到服務器上取信息了。CARD裏可以包含文本、標記、鏈接、輸入控制、任務(TASK)、圖像等等。CARD之間可以互相鏈接。

文檔的實體包含在...標記中,文檔裏每個CARD又包含在...標記中,然後實際的文字段落則包含在

...

標記中。

簡單例子:

"/wap/index.wml HTTP/1.1

accept-charset: UTF-8

accept-language: ch

accept: text/vnd.wap.wml, */*, image/bmp, text/html

user-agent: UP.Browser/3.1-UPG1 UP.Link/3.2

host: www.itsalon.net

……

其中粗體的部分是HTTP消息頭,這裏我們忽略了壹些與我們關系不大的消息頭。

accept-charset: 用戶終端支持的字符集

accept-language: 用戶終端目前使用的語言

accept: 用戶終端可以接受的MIME文件類型

user-agent: 用戶終端供應商提供的終端描述信息

host: 請求信息發送到的域名

2、響應

響應的消息定義部分壹般是這樣的:HTTP/1.1 狀態碼狀態描述在[RFC2616]中定義了近40種不同的狀態碼(分成5組)。其中最常見的是3個:

200 OK

401 Unauthorized

404 Not Found

繼續上面那個例子,如果該URL合法的話,服務器的響應會是這樣的:

HTTP/1.1 200 OK

Server: www/5.0

Date: Fri, 26 Oct 2000 12:15:23 GMT

Connection: Keep-Alive

Content-Length: 1211

Content_Type: text/vnd.wap.wml

Last-Modified: Mon, 22 Oct 2000 18:19:24 GMT

“瀏覽器中的定義是大約30天。不過,也許妳會想把壹個URL的緩存時間盡量延長,比如妳公司的LOGO,這樣每次打開頁面的時間就會減少。用下面兩種方法能夠很簡單地實現:

* 指定壹個離現在很遠的過期日,比如:Expires: Tue, 01 Jan 2002 00:00:00 GMT;

* 指定壹個很大的緩存時間,如:Cache-Control: max-age=3153600。這個例子可以讓URL緩存壹年。用戶終端允許的最大整數是2,147,483,647,所以妳可以讓壹個URL保存超過68年之久。當然,到那個時候,妳的手機早就那報廢了。

2、指定對URL的緩存時間

通常的情況是對壹個URL妳只需要緩存壹段時間。比如股票報價系統,網頁可能需要5分鐘更新壹次,那麽妳只要在DECK的HEAD部分指定Cache-Control: max-age=300就行了。 如果用戶在5分鐘以內再次檢索該頁面,看到的還是緩存裏的網頁。如果在5分鐘以後,就會到服務器上獲取最新的數據。

另外壹種控制緩存時間的方法是使用前面提到過的Expires,不過這種方法只能告訴用戶終端:只要過了指定時間,無論什麽時候訪問頁面都要刷新。如果妳下次要控制時間,只能改變Expires裏的時間值。

3、禁止對URL的緩存

對於快速變化的內容,壹般都會希望每次都得到最新的數據。所以這個時候要完全禁止對相關網頁的緩存。方法有三種:

* 設定Cache-Control: no-cache;

* 設定最大緩存時間為0,Cache-Control: max-age=0;

* 設定緩存到期日為壹個早就過去的日期,Expires: Mon, 1 Jan 1990 00:00:00 GMT。

實際上,後兩種不是最好的選擇。首先這樣會多占用終端的處理時間,因為當碰到這個DECK時,終端需要計算壹下過期時間。其次,這樣會多占用壹些字節,而且在表達上也不夠清楚。

三、驗證(validation)和歷史堆棧(History Stack)

在HTTP1.1中對緩存進壹步提出了驗證的概念。驗證的目的就是檢驗緩存項目是否在有效期內。由於歷史堆棧的存在,WAP終端上的驗證過程變得有點復雜。

WAP標準規定所有的WAP設備都至少要有可以容納10-個項目的歷史堆棧。當用戶按下由或其他轉向指令的定義的前行(forward)鏈接時,URL被推(push)入堆棧。如果按下由定義的後退(backward)鏈接,URL被彈(pop)出。

壹般情況下,所有的前行鏈接都會被驗證,而後退鏈接則不會,因為它已經在cache裏了。可是我們有時候還是希望當用戶按下後退鍵時依然能夠得到最新的數據。如果終端總是不予驗證的話,那用戶只好找到主菜單再重新進入那個頁面。

幸運的是,我們用Cache-Control:must-revalidate就可以強迫用戶終端在用戶按back時對URL進行驗證。當然,進行驗證並不是說該頁面會立刻重新讀取,而是根據他是否過期來決定。如果沒有過期,驗證的結果仍然是顯示緩存中的頁面。

如果妳需要每次back都重新讀取頁面,用Cache-Control:must-revalidate, no-cache可以實現。另外,把 no-cache換成max-age=300就可以在back時對已緩存了300秒的頁面進行刷新。

四、HTTP頭與meta元素

到這裏,大家已經知道HTTP消息頭的在WAP頁面的作用了。不過要在WML文檔裏設置這些消息頭,就要用到meta元素,它只能出現在WML文檔段裏。下面是幾個消息頭和它們的表示形式:

Expires: Mon, 10 Jan 2000 00:00:00 GMT

Cache-Control: max-age=300

Cache-Control: no-cache

當網關在WML文檔中掃描到元素時,就會把它們轉換成WSP等效的HTTP消息頭,然後用戶終端就可以據此對緩存進行控制了。