2010-06-20 19 views

Trả lời

3

Nếu bạn phát triển ứng dụng web của mình chỉ dành cho trình duyệt, bạn nên đi với bài đăng và nhận.

Nhưng ví dụ: REST-APIs nên/có thể sử dụng các phương thức put và delete. Vì vậy, bạn có thể xác định rõ hơn hành động nào bạn muốn thực thi trên các tài nguyên đặc biệt. http://en.wikipedia.org/wiki/Representational_State_Transfer

+0

Làm thế nào về các ứng dụng web sử dụng các kịch bản phía máy khách để giao tiếp với máy chủ thông qua các dịch vụ web? –

+0

Vâng, bạn đã đúng. Tôi đặt ví dụ trước REST-API vì đó là ví dụ đầu tiên tôi nghĩ đến. Có nhiều lý do cho các phương thức put/delete. Các dịch vụ web là một từ tốt cho nó. :) – TooAngel

3

Có một bài viết khá thú vị về chủ đề này rất ở đây: http://www.artima.com/lejava/articles/why_put_and_delete.html

Một chiết xuất nhẹ:

PUT và DELETE đang ở giữa giữa GET và POST. Sự khác biệt giữa PUT hoặc DELETE và POST là PUT và DELETE là idempotent, trong khi POST thì không. PUT và DELETE có thể được lặp lại nếu cần thiết. Giả sử bạn đang cố gắng tải một trang mới lên một trang web. Giả sử bạn muốn tạo một trang mới tại http://www.example.com/foo.html, vì vậy bạn nhập nội dung của mình và bạn đặt nó vào URL đó. Máy chủ tạo trang đó tại URL mà bạn cung cấp. Bây giờ, giả sử một số lý do kết nối mạng của bạn bị hỏng. Bạn không chắc chắn, yêu cầu có được thông qua hay không? Có thể mạng chậm. Có thể đã xảy ra sự cố máy chủ proxy. Vì vậy, nó hoàn toàn OK để thử lại, hoặc một lần nữa - bao nhiêu lần tùy thích. Vì việc đặt cùng một tài liệu vào cùng một URL mười lần sẽ không khác gì so với việc đặt nó một lần. Điều này cũng đúng cho DELETE. Bạn có thể XÓA một cái gì đó mười lần, và đó là giống như xóa nó một lần.

+0

Vì bài viết đó cho biết, mặc dù, các trình duyệt không thực sự hỗ trợ đặt và xóa. Có lý do gì để đi và thi đua thông qua bài viết như trái ngược với chỉ sử dụng bài viết? –

+0

Các trình duyệt có thể không hỗ trợ đặt và xóa - điều đó không có nghĩa là các trình duyệt không được xử lý bởi các máy chủ (nơi các vấn đề không cần thiết). Bây giờ, nhiều nhà phát triển đang tận dụng các công nghệ như AJAX, nó trở nên ít vấn đề hơn mà bạn không thể sử dụng chúng dưới dạng HTML. –

+1

Hoặc để đặt nó theo một cách khác: trình duyệt * làm * hỗ trợ chúng, chỉ các biểu mẫu HTML thì không. Tuy nhiên, có nhiều cách khác mà trình duyệt có thể gửi dữ liệu hơn là chỉ qua biểu mẫu HTML. ECMAScript là một, Flash là một, Java, Silverlight, bạn đặt tên cho nó. –

Các vấn đề liên quan