it-swarm-vi.com

REST (bằng tiếng Anh đơn giản) là gì

Gần đây tôi đã trở nên thích làm quen với REST. Tôi đã thử đọc mục wiki trên REST , nhưng không có ích gì. Tôi thực sự sẽ đánh giá cao nếu ai đó có thể giải thích bằng tiếng Anh đơn giản (nghĩa là không có biệt ngữ công nghệ không cần thiết )

  1. REST là gì
  2. Nó chiếm vị trí nào trong hệ sinh thái kiến ​​trúc web
  3. Làm thế nào chặt chẽ (hoặc lỏng lẻo) nó được kết hợp với giao thức.
  4. Các lựa chọn thay thế cho REST và làm thế nào REST so sánh với chúng.

Tôi hiểu rằng có thể không thể trả lời điều này trong một hoặc hai đoạn, trong trường hợp đó các liên kết có liên quan sẽ được đánh giá cao.

85
Gaurav

REST (bằng tiếng Anh đơn giản) là gì

Tiếng Anh đơn giản:

Phản hồi: hành động nói hoặc hành động thay mặt ai đó.
[.__.] Chuyển trạng thái: trạng thái chuyển.


Kỹ thuật:

  • chúng tôi không chuyển một đối tượng thực tế mà là biểu diễn của nó dưới dạng (ví dụ: xml/json/text để thể hiện bảng cơ sở dữ liệu).
  • Các REST để hiển thị API công khai qua internet để xử lý các hoạt động CRUD trên dữ liệu. REST tập trung vào việc truy cập các tài nguyên được đặt tên thông qua một giao diện nhất quán duy nhất.
  • REST là đại diện thông qua một số loại phương tiện. Một số ví dụ về các loại phương tiện bao gồm XML, JSON và RDF.
  • REST là một kiểu kiến ​​trúc cho kiến trúc hướng tài nguyên (ROA) , không phải là thông số kỹ thuật hoặc tiêu chuẩn.
  • Phong cách kiến ​​trúc có nghĩa là nó là một khái niệm, lý thuyết (và cách nó thực hiện nó, nó phù hợp với bạn)
  • Tất cả mọi thứ được xác định bởi điểm cuối duy nhất. tức là có một điểm cuối cho mỗi tài nguyên (dữ liệu).
  • Điểm cuối bao gồm tên miền với địa chỉ tài nguyên.

REST vs SOAP

10
Premraj

REST là gì?

Chuyển trạng thai biểu hiện. Nó mô tả làm thế nào một hệ thống có thể giao tiếp trạng thái với một hệ thống khác. Một ví dụ sẽ là trạng thái của sản phẩm (tên, mô tả, v.v.) được biểu thị dưới dạng XML, JSON hoặc văn bản thuần túy. Ý tưởng tổng quát của nhà nước được gọi là một tài nguyên.

Nó chiếm vị trí nào trong hệ sinh thái kiến ​​trúc web?

REST thường được liên kết với giao diện dịch vụ web vì HTTP là giao thức mạng phổ biến nhất. Trong mô hình 7 lớp, nó tồn tại ở lớp ứng dụng . Tuy nhiên, xem phần tiếp theo.

Làm thế nào chặt chẽ (hoặc lỏng lẻo) nó được kết hợp với giao thức?

REST không phải là HTTP. Nó sử dụng HTTP bởi vì ở dạng chung nhất REST tồn tại để hỗ trợ một máy trong việc ánh xạ khái niệm động từ đối với một bộ danh từ tùy ý. HTTP chứa một bộ động từ chung hữu ích (GET, PUT , PATCH, v.v.) có thể áp dụng cho các danh từ tùy ý được biểu thị dưới dạng URI bằng HTTP, ví dụ GET http://example.org/Sản phẩm (54 ).

Các lựa chọn thay thế cho REST và làm thế nào REST so sánh với chúng

Điều này giống như hỏi "Làm thế nào RESTful là cách tiếp cận của tôi?" Sử dụng danh sách sau đây (được tóm tắt từ Mô hình trưởng thành của Richardson như được mô tả bởi Martin Fowler ):

Cấp 0 - Đầm lầy của POX

Sử dụng POST cho mọi thứ (đọc, ghi, xóa). Đây là SOAP, POX, RPI, v.v. Bạn chỉ đang sử dụng HTTP làm đường hầm cho giao thức của riêng mình. Bạn nhắm mục tiêu một điểm cuối duy nhất đó làm mọi thứ dựa trên nội dung của cơ thể yêu cầu.

Cấp 1 - Tài nguyên

Sử dụng POST cho mọi thứ. Nhắm mục tiêu nhiều điểm cuối được thiết kế để cung cấp thông tin về một điều cụ thể. Bạn vừa phát hiện ra tài nguyên.

Cấp 2 - Động từ HTTP

Sử dụng động từ HTTP chống lại tài nguyên. Bây giờ bạn đang NHẬN nó. POST là để tạo, PUT là ghi đè, TÙY CHỌN cho các hoạt động có sẵn, XÓA, xóa, xóa tài nguyên. Do việc sử dụng các động từ khác nhau mã trạng thái HTTP bắt đầu trở nên phù hợp hơn (202 CHẤP NHẬN bất cứ ai?).

Cấp 3 - Điều khiển Hypermedia ( GHÉT )

Tại thời điểm này, bạn thực hiện bước nhảy vọt cuối cùng và giới thiệu hypermedia như một cơ chế kiểm soát dòng chảy. A REST máy khách không cần có kiến ​​thức trước về cách tương tác với bất kỳ ứng dụng hoặc máy chủ cụ thể nào ngoài hiểu biết chung về hypermedia. Điều này có thể được truyền đạt trong HTTP thông qua trường tiêu đề Kiểu nội dung. AtomPub và (ngắn gọn hơn) HAL , trong khi HyperAudio hoạt động tốt cho các luồng âm thanh (xem SoundCloud et al)

44
Gary Rowe

Trong khi REST là tên viết tắt của Chuyển giao trạng thái đại diện, có thể dễ dàng hơn để xem xét ý tưởng thực hiện các hành động khác nhau thông qua giao diện hơi trực quan.

Ví dụ: một URL như http://www.mysite.com/Find SẢNt/125 / có thể được hiểu là ai đó muốn thông tin về sản phẩm với id là 125.

Trong khi REST thường được nghĩ về HTTP, khái niệm này có thể được áp dụng cho các giao thức khác như được lưu ý trong tài liệu tham khảo Wikipedia.

Các ví dụ khác về REST có thể hữu ích:

11
JB King