Server. Transfer so với Response. Redirect
Máy chủ và Phản hồi đều là các đối tượng trong ASP. NET. Đối tượng máy chủ cung cấp các phương thức và thuộc tính cho các tác vụ khác nhau liên quan đến máy chủ. Truyền là một phương thức của đối tượng Máy chủ và nó gửi thông tin về trạng thái hiện tại đến một tệp.asp khác để xử lý. Đối tượng phản hồi mô tả các phương pháp và thuộc tính liên quan đến phản hồi của máy chủ. Chuyển hướng là một phương thức của đối tượng Phản hồi và nó sẽ gửi một thông báo đến trình duyệt để làm cho nó kết nối với một URL khác. Mặc dù cả Server. Transfer và Response. Redirect đều có thể được sử dụng để chuyển người dùng từ trang này sang trang khác, nhưng chúng khác nhau về cách thực hiện tác vụ này.
Response. Redirect là gì?
Redirect là một phương thức trong đối tượng Response. Khi phương thức Phản hồi được gọi, nó sẽ gửi mã HTTP 302 và URL của trang web được yêu cầu tới trình duyệt của người dùng. Mã HTTP 302 thông báo cho trình duyệt của người dùng rằng tài nguyên được yêu cầu nằm dưới một URL khác. Khi trình duyệt nhận được mã, nó sẽ mở tài nguyên ở vị trí mới. Trang web được yêu cầu có thể nằm trên cùng một máy chủ với trang chứa yêu cầu hoặc nó có thể nằm trong một số máy chủ khác. Khi yêu cầu một trang web nằm trên cùng một máy chủ với trang hiện tại, phương pháp Phản hồi có thể được sử dụng như sau:
Response. Redirect (“nextPage.html”);
Khi yêu cầu một trang web nằm trên một máy chủ khác, phương pháp Phản hồi có thể được sử dụng như sau:
Response. Redirect (“https://www.newServer.com/newPage.aspx”);
Server. Transfer là gì?
Như đã đề cập trước đó, Truyền là một phương thức của Đối tượng Máy chủ. Khi phương thức Truyền được gọi, yêu cầu ban đầu được sửa đổi để chuyển đến một số trang khác trong cùng một máy chủ. Khi một trang mới được yêu cầu bằng Server. Transfer, URL hiển thị trong trình duyệt web của người dùng không thay đổi. Điều này là do quá trình chuyển diễn ra ở phía máy chủ và trình duyệt không có bất kỳ kiến thức nào về quá trình chuyển. Bằng cách sử dụng quá tải thứ hai cho Server. Transfer (đường dẫn chuỗi, bool secureForm) và đặt tham số thứ hai là true, các biến biểu mẫu đã đăng và chuỗi truy vấn có thể được cung cấp cho trang thứ hai.
Sự khác biệt giữa Server. Transfer và Response. Redirect là gì?
Mặc dù cả Server. Transfer và Response. Redirect đều có thể được sử dụng để chuyển người dùng từ trang này sang trang khác, nhưng vẫn có một số khác biệt giữa hai phương pháp. Bên cạnh sự khác biệt rõ ràng về cú pháp, Response. Redirect thực hiện một vòng lặp đến máy chủ, trong khi Server. Transfer thay đổi tiêu điểm của máy chủ web thành một trang web khác. Do đó, bằng cách sử dụng Server. Transfer, tài nguyên máy chủ có thể được bảo toàn. Mặt khác, Response. Redirect có thể được sử dụng để chuyển hướng người dùng đến một trang web trong một máy chủ khác trong khi Server. Transfer chỉ có thể được sử dụng để chuyển hướng người dùng đến các trang web trên cùng một máy chủ. Cũng bằng cách sử dụng Server. Transfer, các thuộc tính của trang trước có thể được truy cập bởi trang mới nhưng điều này không thể thực hiện được với Response. Redirect. Ngoài ra, Response. Redirect thay đổi URL trong thanh địa chỉ của trình duyệt khi trang mới được truy cập nhưng khi sử dụng Máy chủ. Chuyển URL gốc được giữ lại và nội dung của trang chỉ được thay thế. Vì vậy, người dùng không thể sử dụng nó để đánh dấu trang mới.