REST - HTTP POST so với HTTP PUTDường như luôn có một số nhầm lẫn về thời điểm sử dụng HTTP POST so với phương thức HTTP PUT cho các dịch vụ REST. Hầu hết các nhà phát triển sẽ cố gắng liên kết các hoạt động CRUD trực tiếp với các phương thức HTTP. Tôi sẽ tranh luận rằng điều này là không chính xác và người ta không thể chỉ đơn giản kết hợp các khái niệm CRUD với các phương thức HTTP. Đó là: Show
Đúng là R (etrieve) và D (elete) của các hoạt động CRUD có thể được ánh xạ trực tiếp đến các phương thức HTTP GET và DELETE tương ứng. Tuy nhiên, sự nhầm lẫn nằm trong các phép toán C (reate) và U (pdate). Trong một số trường hợp, người ta có thể sử dụng PUT để tạo trong khi trong các trường hợp khác, POST sẽ được yêu cầu. Sự mơ hồ nằm trong định nghĩa của phương thức HTTP PUT so với phương thức HTTP POST. Thông số kỹ thuật cho POST so với PUTTheo các thông số kỹ thuật HTTP 1.1, các phương thức GET, HEAD, DELETE và PUT phải là giá trị trung tâm và phương thức ĐĂNG không phải là phương thức đơn vị tính. Điều đó có nghĩa là một hoạt động là không quan trọng nếu nó có thể được thực hiện trên một tài nguyên một lần hoặc nhiều lần và luôn trả về cùng một trạng thái của tài nguyên đó. Trong khi đó, một hoạt động không phải là một phép toán có thể trả về một trạng thái đã sửa đổi của tài nguyên từ một yêu cầu này sang một yêu cầu khác. Do đó, trong một hoạt động không phải là đơn vị, không có gì đảm bảo rằng một người sẽ nhận được cùng một trạng thái của một tài nguyên. Dựa trên định nghĩa idempotent ở trên, việc tôi sử dụng phương thức HTTP PUT so với sử dụng phương thức HTTP POST cho các dịch vụ REST là: Sử dụng phương thức HTTP PUT khi:
Các hoạt động này có thể được thực hiện nhiều lần với cùng một kết quả. Đó là tài nguyên sẽ không bị thay đổi bằng cách yêu cầu thao tác nhiều lần. Do đó, một hoạt động idempotent thực sự. Sử dụng phương thức HTTP POST khi:
Kết luận: HTTP POST so với PUTKhông trực tiếp tương quan và ánh xạ các hoạt động CRUD với các phương thức HTTP cho các dịch vụ REST. Việc sử dụng phương thức HTTP PUT so với phương thức HTTP POST phải dựa trên Xem cách FileCatalyst phù hợp với tổ chức của bạnFileCatalyst là một giải pháp tăng tốc tệp giúp sắp xếp hợp lý và bảo mật việc truyền dữ liệu của bạn, bất kể kích thước hay khoảng cách. Bắt đầu dùng thử để xem FileCatalyst có thể giúp ích gì cho tổ chức của bạn ngay hôm nay. Bắt đầu dùng thử miễn phí Đọc liên quanThông tin thêm về HTTP & Tăng tốc tệpREST - Tại sao Mã trạng thái HTTP lại quan trọngHơn cả tốc độ: Các lợi ích khác của việc tăng tốcTăng tốc truyền từ môi trường .net |