Phương Thức Get Và Post Trong Lập Trình Website

Bạn là một lập trình viên website thì chắc rằng không lạ lẫm gì với hai phương thức get và post, đây là hai phương thức được sữ dụng chủ yếu trong lập trình web. Nếu bạn là một lập trình viên kinh nghiệm thì sẽ dễ dàng hiểu được hai phương thức này, nhưng đối với những bạn mới bắt đầu lập trình web thì sẽ gặp nhiều khó khăn để hiểu và vận dụng được hai phương thức này. Vậy phương thức get và post là gì get và post là hai phương thức của giao thức http, là cách mà client gửi thông tin lên server. Trước khi gửi thông tin, nó sẽ được mã hóa bằng cách sữ dụng một gian đồ gọi là url encoding. Gian đồ này các cặp name/value được kết hợp với các kí hiệu = và các kí hiệu khác nhau được ngăn cách bởi dấu &. Ví dụ: name=value1&name1=value2&name2=value3 . Tiếp theo chúng ta sẽ tìm hiểu sự giong và khác nhau giua hai phương thức get và post.

  • Giong nhau: Đều là gửi dữ liệu về server xử lí, sau khi người dùng nhập thông tin vào form và thực hiện submit.
  • Khác nhau:
    • Phương thức get: Phương thức GET gửi thông tin người dùng đã được mã hóa được phụ thêm vào yêu cầu trang, ví dụ: http://www.test.com/index.htm?name=value1&name1=value1. Vì vây get gioi hạn số kí tự được gửi đi, và băng thông của nó chỉ khoảng 1024 kí tự. Chúng ta thấy rằng get lộ thông tin trên đường dẫn url, get không thể gửi dữ liệu nhị phân , hình ảnh ... Nên nó không được sữ dụng để gửi password hoặc các thông tin nhạy cảm. Tuy nhiên get nhanh hơn rất nhiều so với post về qúa trình thực thi vì dữ liệu gửi đi luôn dc webrowser cached lại khi dùng phương thức POST thì server lun thực thi và trả kết quả cho client, còn dùng GET thì webrowser cached sẽ kiểm tra có kết quả tương ứng đó trong cached chưa, nếu có thì trả về ngay mà ko cần đưa tới server.
    • Phương thức post: Phương thức POST truyền thông tin thông qua HTTP header. Thông tin này được mã hóa như mô tả trong trường hợp của phương thức GET, phương thức POST không có bất kì hạn chế nào về kích thước dữ liệu sẽ gửi, có thể sử dụng để gửi ASCII cũng như dữ liệu nhị phân ... Dữ liêu đươc gửi bởi phương thức post rất bảo mật vì dữ liệu được gửi ngầm, ko đưa lên URL, bằng việc sử dụng Secure HTTP, bạn có thể chắc chắn rằng thông tin của mình là an toàn.