Http Request Resource
Http Response
Web Client Web Server
(Browser)
Quá trình Request - Response của HTTP
I.1. Đối tượng Response
Đối tượng Response được sử dụng để giao tiếp với Client, nó quản lý và điều phối thông tin từ Web Server đến các trình duyệt của người dùng.
I.1.1. Phương thức Write
Phương thức Write của đối tượng Response được dùng để in ra một chuỗi trên trang Web. Phương thức này là một trong những phương thức chủ lực trong các ứng dụng web sử dụng ASP 3.0 khi cần gởi kết quả từ Server về cho Client.
Response.Write("Chào bạn. Bạn đang tìm hiểu về đối tượng Response.") Trong ASP.Net, chúng ta có thể thực hiện như sau:
lblChao.Text = "Chào bạn. Bạn đang tìm hiểu về đối tượng Response."
Bài 6. XÂY DỰNG VÀ QUẢN LÝ ỨNG DỤNG
Response.Write, chúng ta không thể qui định vị trí hiển thị của chuỗi trên trong trang Web. Thay vào đó, với ASP.Net, thơng qua các Server control, chúng ta có thể thực hiện chức năng tương tự nhưng linh hoạt hơn bằng cách đặt điều khiển tại vị trí cần hiển thị.
I.1.2. Phương thức Redirect
Phương thức Redirect gởi thông điệp yêu cầu Web Browser truy cập đến một địa chỉ khác.
Ví dụ
'Nếu đăng nhập thành công If <Kiểm tra đăng nhập> Then
Response.Redirect("Chao.aspx") Else
Response.Redirect("Dang_nhap.aspx") End If
I.1.3. Ví dụ xử lý cho phép người dùng download file
Ví dụ: Xử dụng đối tượng Response để thực hiện việc download tập tin.
Lin kButton Thiết kế Thi hành Viết lệnh xử lý:
Private Sub lnkDownload_Click(sender …, e …) _
Handles lnkDownload.Click Dim sTap_tin As String = "MinhHoa.zip"
Dim sDuong_dan As String
sDuong_dan = Server.MapPath("../Download/") & sTap_tin Response.AddHeader("Content-Disposition", _
Response.WriteFile(sDuong_dan) Response.End()
End Sub
Hiển thị hộp thoại download tập tin
I.2. Đối tượng Request
Đối tượng Request được dùng để nhận thơng tin từ trình duyệt của người dùng gởi về cho Web Server.
I.2.1. Thuộc tính QueryString
Như chúng tơi đã trình bày ở phần đầu của cuốn sách này, HTTP được xác định qua URLs (Uniform Resource Locators), với cấu trúc chuỗi có định dạng như sau:
http: // <host> [: <port>] [ <path> [? <QueryString>]]
Phần cuối của chuỗi URL là QueryString - cịn được gọi là chuỗi tham số, có cấu trúc như sau:
[?Tham_so_1=gia_tri_1[&Tham_so_2=gia_tri_2[&……]]]
Trong trường hợp có nhiều tham số, các cặp [<Tham_so> = <Gia_tri>] phân cách nhau bằng dấu &.
Ví dụ:
http://www.tuoitre.com.vn/Tianyon/Index.aspx?PID=16
http://www.tuoitre.com.vn/Tianyon/Index.aspx?ArticleID=89211&PID=16
Bài 6. XÂY DỰNG VÀ QUẢN LÝ ỨNG DỤNG
truyền qua chuỗi tham số này.
Request.QueryString("Tên_tham_số")
Ví dụ: Giả sử một người dùng gởi thông điệp đến Web Server
yêu cầu trang: "Request.aspx?Chuc_nang=Hieu_chinh&ID=123". Để lấy giá trị 2 tham số trong chuỗi QueryString, chúng ta thực hiện như sau:
Dim sChuc_nang As String
sChuc_nang = Request.QueryString("Chuc_nang") lblChuc_nang.Text = sChuc_nang Dim Id As Integer Id = Request.QueryString("ID") lblId.Text = Id
Trong trường hợp tên tham số không tồn tại trong chuỗi QueryString, thuộc tính Request.QueryString() sẽ trả về giá trị nothing.
Nếu bạn để ý trong đoạn lệnh xử lý trên, chúng ta có thực hiện khai báo các biến với kiểu dữ liệu tương ứng các tham số, nhận kết quả trả về từ thuộc tính Request.QueryString(). Trong trường hợp tham số không được truyền trong chuỗi URL hoặc có truyền mà sai kiểu dữ liệu,các biến được tạo sẽ có giá trị mặc định tương ứng với kiểu dữ liệu của nó, tránh được các lỗi về kiểu dữ liệu khơng đáng có.
I.2.2. Các ví dụ minh họa
Ví dụ: Lấy thơng tin các trình duyệt của người dùng.
Dim sThong_tin As String With Request.Browser
sThong_tin &= "Browser: " & .Browser & "<br>" sThong_tin &= "Version: " & .Version & "<br>" sThong_tin &= "Platform: " & .Platform & "<br>" sThong_tin &= "JavaScript: " & .JavaScript & "<br>" lblThong_tin.Text = sThong_tin
End With
Ví dụ: Liệt kê danh sách các biến Server
Dim sServer As String, i As Integer With Request.ServerVariables
For i = 0 To .Count - 1
sServer &= .Keys(i) & ": " & .Item(i) & "<br>" Next i
lblServer.Text = sServer End With
Danh sách các biến Server