網頁制作poluoluo文章簡介:delegate實際上是一個功能強大的代理服務器,它有個類似於Linux的mount功能,能夠將Internet上的URL映射到本地。利用這個功能,即可將遠程的服務器端和本地的客戶端集成到同一個域名下,實現客戶端代碼的本地調試。
最近一直在開發Ajax應用程序。眾所周知Ajax的特點是客戶端和服務器分離,客戶端通常由純Javascript組成,通過XMLHttpRequest對象與服務器通信。在調試客戶端代碼時,如果服務器開在本地,尚可通過samba等方式直接編輯服務器上的客戶端js代碼,倘若服務器在異地,那麼每次修改js代碼後通過FTP等方式上傳之後再調試就十分費事。說到這裡自然會想到將js代碼放到本地,然而XMLHttpRequest卻只能訪問同一域名下的URL,本地的js代碼無法直接使用遠程服務器上的服務。
迷茫之際,同事介紹了delegate這款軟件,利用它即可實現本地調試客戶端代碼。
delegate實際上是一個功能強大的代理服務器,它有個類似於Linux的mount功能,能夠將Internet上的URL映射到本地。利用這個功能,即可將遠程的服務器端和本地的客戶端集成到同一個域名下,實現客戶端代碼的本地調試。
方法如下:
將Apache配置到本機的8080端口,然後將客戶端代碼放在htdocs下,使之能夠通過 http://localhost:8080/client/ 訪問。
下載delegate並解壓縮。 編輯以下的配置文件 delegate.cfg。
-P80
ADMIN="yourname@yourmail.com"
MOUNT="/client/* http://localhost:8080/client/*"
MOUNT="/cgi-bin/* http://server-address/cgi-bin/*"
第一行的 -P80 指定delegate使用80端口;第二行的ADMIN指定管理員郵件地址,可以隨意設置;第三行將客戶端映射到 delegate 的 /client/ 路徑下;第四行將遠程服務器目錄映射到 delegate 的 /cgi-bin/ 路徑下。
另外,如果你需要通過代理服務器訪問遠程服務器,可以這樣設置:
MOUNT="/cgi-bin/* http://server-address/cgi-bin/*" PROXY="代理服務器地址:端口"
在命令行輸入以下命令安裝delegate。注意不同版本的delegate的可執行文件名不同。
dg9.4.1.exe +=delegate.cfg
打開浏覽器,訪問 http://localhost/client/。這樣即可隨時看到對js代碼的修改。
實際上,用好這個方法還可以“盜用”許多網站的服務,即自己開發客戶端,再通過 delegate 將請求轉發給服務器。其方法不再詳述。