keke007
29-04-2012, 12:17 PM
Trong lập trình web. Để xử lý việc nhận gửi thông tin từ 1 form của người dùng nhập vào là rất thường xuyên. Chúng ta thường sử dụng 2 phương thức POST và GET. Tuy nhiên lúc nào sử dụng POST, lúc nào sử dụng GET ? Câu hỏi đó tưởng như dễ trả lời có những cái chúng ta thường xuyên sử dụng theo 1 thói quen, chỉ biết dùng sao cũng chạy cả nên rất ít người hiểu rõ và trả lời được câu hỏi này.
Sau đây là mình xin chỉ ra sự giống nhau và khác biệt giữa chúng, có thể chưa hẳn đúng hoàn toàn mong các bác chém nhẹ tay.
- Giống nhau: Đều gửi dữ liệu tới server để xử lý, sau khi người dùng nhập thông tin vào Form
- Khác nhau:
POST: Bảo mật hơn GET vì dữ liệu được gửi ngầm, không xuất hiện trên URL
GET: Dữ liệu được gửi tường minh, chúng ta có thể nhìn thấy trên URL, đây là lý do khiến nó không bảo mật so với POST. Nó còn bị giới hạn số ký tự bởi URL của web browsers.
GET thực thi nhanh hơn POST vì nhứng dữ liệu gủi đi luôn được Webbrowser cached lại
Khi dùng phương thức POST thì server luôn thực thi và trả về kết quả cho client, còn phương thức GET ứng với cùng 1 yêu cầu đó webbrowser sẽ xem trong cached có kết quả tương ứng với yêu cầu đó ko và trả về ngay không cần phải thực thi các yêu cầu đó ở phía server
Đối với những dữ liệu luôn được thay đổi thì chúng ta nên sử dụng phương thức POST, còn dữ liệu ít thay đổi chúng ta dùng phương thức GET để truy xuất và xử lý nhanh hơn.
Sau đây là mình xin chỉ ra sự giống nhau và khác biệt giữa chúng, có thể chưa hẳn đúng hoàn toàn mong các bác chém nhẹ tay.
- Giống nhau: Đều gửi dữ liệu tới server để xử lý, sau khi người dùng nhập thông tin vào Form
- Khác nhau:
POST: Bảo mật hơn GET vì dữ liệu được gửi ngầm, không xuất hiện trên URL
GET: Dữ liệu được gửi tường minh, chúng ta có thể nhìn thấy trên URL, đây là lý do khiến nó không bảo mật so với POST. Nó còn bị giới hạn số ký tự bởi URL của web browsers.
GET thực thi nhanh hơn POST vì nhứng dữ liệu gủi đi luôn được Webbrowser cached lại
Khi dùng phương thức POST thì server luôn thực thi và trả về kết quả cho client, còn phương thức GET ứng với cùng 1 yêu cầu đó webbrowser sẽ xem trong cached có kết quả tương ứng với yêu cầu đó ko và trả về ngay không cần phải thực thi các yêu cầu đó ở phía server
Đối với những dữ liệu luôn được thay đổi thì chúng ta nên sử dụng phương thức POST, còn dữ liệu ít thay đổi chúng ta dùng phương thức GET để truy xuất và xử lý nhanh hơn.