深入剖析IIS 6.0(6)_Windows教程
⑴ EnableNonUTF8:如果加入EnableNonUTF8子鍵,并將它的值設置成0,http.sys只接受UTF-8編碼的URL。UTF-8的全稱是Universal Character Set(UCS)Transformation Format 8,這是一種字符集標準,標準全文在http://www.ietf.org/rfc/rfc2279.txt,它允許使用多國語言的字符集。默認情況下,EnableNonUTF8的值是1,表示IIS接受UTF-8、ANSI、雙字節字符集(DBCS)編碼的URL。
⑵ PercentUAllowed:當這個子鍵設置成1時(默認值),http.sys認可那些部分字符用%uNNNN表示的URL,其中NNNN是一組表示實際字符的數字。當PercentUAllowed設置成0時,IIS 6.0將拒絕那些部分字符用這種方式表示的URL。
%uNNNN是一種不太常用的Unicode符號,不要將它與常見的UTF-8表示形式混淆。在UTF-8表示形式中,%20表示一個空格,例如http://www.iisanswers.com/new article.htm相當于http://www.iisanswers.com/new%20article.htm,兩者之間的轉換由IE瀏覽器自動完成,不管EnableNonUTF8和PercentUAllowed設置成了什么值,IIS 6.0都會接受。
這兩項設置,再加上其他可以在IIS 6.0文檔中找到的設置項目,從一個側面反映了IIS 6.0在URL解析方面的改進。在IIS 5.0中,一些重大的安全問題與Web服務器解析URL的方式有密切的關系,現在微軟終于解決了原先存在的缺陷,同時作出了一些改進,允許管理員更加明確地定義IIS 6.0解析URL的規則。在天生具有國際化特點的Internet上,多國語言并存,這些改進之處尤其具有重要意義。
關于Unicode的更多信息,請參見http://www.unicode.org;關于IIS 5.0缺陷的更多信息,請參見 http://www.wiretrip.net/rfp/p/doc.asp/i5/d57.htm。在Windows Server 2003 Resource Kit中可以找到一個幫助配置http.sys的工具。
■ W3Core
默認情況下,IIS 6.0在工作進程隔離模式下運行,如圖五所示。在這種模式中,對于每一個Web應用,IIS 6.0都用一個獨立的w3wp.exe的實例來運行它。w3wp.exe也稱為工作進程(Worker Process),或W3Core。
圖五
- 相關鏈接:
- 教程說明:
Windows教程-深入剖析IIS 6.0(6)。