在通常處理程序中 ashx 中使用Request ,Response等 前面須要加 context.Requresthtml
web窗體aspx中直接使用 Request前端
Request其餘成員web
Request.UrlReferrer 上一次請求URL地址 通常用來防盜鏈瀏覽器
全局防盜鏈用用Globals.asax緩存
Request.Url 當前請求URL地址信息安全
Response.WriteFile() 輸出一個文件cookie
Request.MapPath('/Image/aa/jpg') 將虛擬路徑轉換爲磁盤上的物理路徑優化
Response.WriteFile(Request.MapPath('/Image/aa/jpg') );網站
在HTML中關聯通常處理程序,便可顯示處理程序中返回的照片編碼
<img src="show.ashx">
Request.UserHostAddress 得到訪問者ip地址
Request.Cookies["key"] 獲取瀏覽器發過來的cookie 接受cookie
Response成員:
Response.WriteFile() 輸出一個文件
Response.Write() 向瀏覽器輸出內容
Response.Buffer () 是否採用響應緩存 默認true
Response.BufferOutput 同上一個屬性同樣 Buffer內部調用的是BufferOutput
Response.Flush() 將緩衝區中的數據發送給瀏覽器 這在須要將Write出來的內容當即輸出到瀏覽器很是適用
Response.Clear() 清空緩存區中的數據
Resource.ContentEncoding 輸出流的編碼
Response.ContentType 輸出流的內容類型
普通文本:
Response.ContentType = "text/plain";
HTML:
Response.ContentType = "text/html";
JPEG圖片:
Response.ContentType = "image/JPEG";
Response.Cookies 返回給瀏覽器的cookie的集合,能夠經過它設置cookie 寫cookie
Response.OutputStream輸出流,在輸出圖片,Excel文件等非文本內容時使用
Response.End() 終止響應,將以前緩存中的數據發給瀏覽器,end以後的代碼不會繼續執行。
Response.Redirect(url) 從新定向瀏覽器的新網址,
Response.SetCookie(HttpCookie cookie)向輸出流中更新寫到瀏覽器中的Cookie,若是cookie存在就更新,不存在就添加
Server成員:
public HttpServerUtility Server{get;} 源碼中代碼
Server.MapPath() 獲取物理路徑
Request.MapPath()獲取物理路徑 與Server.MapPath()等價
Server.Excute(url) 加載另外一個頁面內容到本頁 嵌入一個網頁 相似iframe標籤 iframe不利於百度爬蟲優化(SEO) iframe標籤經常使用來作網站後臺管理系統,前端儘可能不用。
Server.Transfer(url) 執行地址欄中的HTML代碼 內部重定向 不會顯示跳轉後的地址,只有原地址 在服務端直接跳轉
Response.Redirect(url) 重定向 這個在瀏覽器中看到的是跳轉後的地址 會向瀏覽器發送302再跳轉
Server.HtmlEncode() 編碼
<%=Server.HtmlEncode("<span style='font-size:14px'>aaa</span>")%>
輸出結果爲<span style='font-size:14px'>aaa</span> 由於將<>都編碼爲了大於號和小於號
微軟設置的安全檢測機制 在前端輸入框輸入js等代碼時,會自動檢測終止發送。
此時,如果須要輸入js等代碼,而後顯示在前端,並不執行,此時須要使用Server.HtmlEncode()
Server.HtmlDecode() 解碼
Server.UrlEncode() 對地址欄傳入的參數進行編碼
http://www.dkh?page=中國&a=/
對於中文等特殊字符,須要先編碼,再發送
Server.UrlDecode() 對地址欄傳入的參數進行解碼