Request 和 Response 對象起到了服務器與客戶機之間的信息傳遞作用。Request 對象用於接收客戶端瀏覽器提交的數據,而 Response 對象的功能則是將服務器端的數據發送到客戶端瀏覽器。
一、Request對象的五個集合:
QueryString:用以獲取客戶端附在url地址后的查詢字符串中的信息。
Form:用以獲取客戶端在FORM表單中所輸入的信息。(表單的method屬性值需要為POST)
Cookies:用以獲取客戶端的Cookie信息。
ServerVariables:用以獲取客戶端發出的HTTP請求信息中的頭信息及服務器端環境變量信息。
ClientCertificate:用以獲取客戶端的身份驗證信息
二、Response對象
語法格式:Response.Cookies(CookieName)[(key)|.attribute]=value。這里的CookiesName 是指定的Cookie的名稱,如果指定了Key,則該Cookie就是一個字典,Attribute屬性包括 Domain,Expires,HasKeys,Path,Secure。
response的方法:
Write:向客戶端發送瀏覽器能夠處理的各種數據,包括:html代碼,腳本程序等。
Redirect:response.redirect("url")的作用是在服務器端重定向於另一個網頁。
End:用來終止腳本程序。
Clear:要說到Clear方法,就必須提到response的Buffer屬性,Buffer屬性用來設置服務器端是否將頁面先輸出到緩沖區。語法為:Response.Buffer=True/False
Flush:當Buffer的值為True時,Flush方法用於將緩沖區中的當前頁面內容立刻輸出到客戶端。
三、 Session對象
用戶訪問網站過程中的會話,Web上這種會話方式是無狀態的,一般用於保存用戶名等單個用戶的信息,比QueryString安全,在瀏覽器關閉或者Session到期(默認20分鍾)時關閉,Session也可以存儲數組信息。
IE:同時兩個會話窗口的 SessionID是不一樣的,Session不會共享。所以在IE瀏覽器中,已經打開了一個IE瀏覽器輸入網址認證后的信息保存在Session中后, 再重新打開一個IE瀏覽器會話(第一次打開的沒有關閉)然后輸入上面已認證的網址,會發現SessionID已改變,保存的Session值已丟失。
Firefox: 同時兩個會話窗口的SessionID是一樣的,Session會共享。所以在Firefox瀏覽器中,已經打開了一個firefox瀏覽器輸入網址認證 后的信息保存在Session中后,再重新打開一個Firefox瀏覽器會話(第一次打開的沒有關閉)然后輸入上面已認證的網址,會發現 SessionID不變, Session中的值沒有丟失。
(說明:如果是點擊窗口的頁面內容中的網址而打開了新的窗口,在新的窗口中SessionID是不會變的,Session中的值也不會丟失,兩種瀏覽器都一樣!跟上面的情況不要混淆了哦!)
2.同一瀏覽器,關閉打開會話窗口,再打開新的會話窗口Session的情況。
打開一個瀏覽器輸入網址認證完后保存值到Session中,然后關閉瀏覽器,再重新打開一個瀏覽器會話,再輸入認證完后的完址,發現SessionID已改變,值已丟失。上述情況適合IE與Firefox瀏覽器。
3.不同瀏覽器之間不會共享Session
原因:Session依懶於SessionID,SessionID保存在cookies,但IE與Firefox瀏覽器沒有共享cookies,它們保存cookies的位置都沒一樣。