考慮HTYP常用的abs_單片機 嵌入式系統 Internet Web服務器形式的統一資源標識符URI,在資源緊缺的系統中實現完整的文件結構如"images.gif''的查詢與定位,如果采用一般計算機程序中常用的方法則代價很高。一種簡便有效的方法是計算URI各字符的ASCII碼之和。網頁存放于SX52的外部EEPROM中。假設利用前512字節存放最大256個網頁的地址,絕對路徑".btm"的不帶進位ASCII碼之和為#$be,可以到2x#$be+#$17c的地方找到要發送回客戶瀏覽器的數據存放地址;下載網頁到服務器時也用一個程序按上述方法將各網頁排好即可,當然網頁前都加了一段HTYP 1.0的標準響應頭信息。這正是Ubicom公司提供的E2File程序所做的,也可以自己編寫一個這樣的程序以實現HTFP 1.1的除GET、POST方法外的其它方法或擴展功能。
除了用java Applet實現動態網頁外,利用post方法也可與服務器交互。例如通過IE瀏覽器用復選框按鈕控制并顯示一組燈的開與關的基本Web控制,其HTML網頁的提交表單FORM內應該包含有的類似語句,其中0~n為欲控制燈的編號,name的取值為一位數字或字符,有利于節省SX52的查詢匹配程序空間,E2File程序將網頁中如下顯示燈的狀態的HTML超鏈接語句中的"?"編號為非ASCII字符#$f0~#$fn等下載存儲到服務器的EEPROM中。當n用POST方法發送數據給服務器時,SX52服務器計算兩個空格間的abs_單片機 嵌入式系統 Internet Web服務器形式的URI的ASCII字符之和后到相應EEPROM中,用上述下載網頁的計算方法找到該網頁的地址后,跳過HTTP的請求頭匹配l=0&…l=n表示復選框被選中的數據并對相應編號的燈開關后,返回該網頁給IE時會根據實際燈的狀態將EEPROM中存儲網頁的非ASCII字符#$f0~#$fn退換為ASCII字符"n"或"f"。這樣IE就能正確地通過超鏈接再次與服務器交互(GET方法),下載顯示ledon.gif或ledof.gif顯示實際燈的狀態了。而要在IE上正確顯示現場某個控制變量的值時,同樣可以將n位顯示數值編號為非ASCII字符#$f0#$fl…#$fn的形式存儲到服務器中,SX52服務器端先將實際的數值轉換為BCD碼后再用對應的ASCII字符將#Sf0#$f1…#$fn替換返回,從而能在瀏覽器端顯示服務器端控制變量的變化。國內用戶使用的北京革新提供的開發演示板程序較充分地提供了常用的Intemet網絡協議軟件虛擬模塊,也提供了一個基本可實際應用的Web演示控制,只要做較少改動就可以用于實際控制中。不過它只能一次控制一個燈的開關,且任何人都可以輕易地更改。現要求一次能控制所有的燈,但需要在IE瀏覽器上輸入密碼123abc方可生效。程序修改如下: