- Dịch vụ web là một ứng dụng quan trọng của công nghệ lập trình phân tán và được coi là công nghệ làm thay đổi hoàn toàn cách thức hoạt động của dịch vụ. b2b (doanh nghiệp với doanh nghiệp), b2c (doanh nghiệp với khách hàng) và nhiều loại dịch vụ web khác.
- Ngày nay, các dịch vụ web ngày càng trở nên phổ biến. Vậy cùng tìm hiểu xem, có thể chúng ta cần sử dụng nhiều
- dịch vụ web (xem wikipedia để biết định nghĩa) “là dịch vụ kết hợp máy tính cá nhân với các thiết bị, cơ sở dữ liệu và mạng máy tính khác để tạo thành một mạng ảo người dùng máy tính Một công cụ có sẵn thông qua trình duyệt web, bản thân dịch vụ này chạy trên máy chủ dựa trên internet. Máy chủ của nhà cung cấp dịch vụ web cũng phải là nguồn bảo mật, quyền riêng tư và khả năng truy cập cho người dùng.”
- Dịch vụ web thường trả lại dữ liệu ở dạng xml hoặc json mà máy tính có thể đọc được và trả lại dữ liệu đó cho trình duyệt của khách hàng.
- Công nghệ thường được sử dụng để xây dựng các dịch vụ web:
- soap (Giao thức truy cập đối tượng đơn giản)
- wsdl (Ngôn ngữ mô tả dịch vụ web)
- Nghỉ (sẽ được tìm hiểu trong bài viết này)
- Dịch vụ web yên tĩnh là dịch vụ web được xây dựng dựa trên cấu trúc phần còn lại (chuyển trạng thái đại diện). Nghĩa là, nó giống như một kiến trúc, các nguyên tắc mà các dịch vụ web được thiết kế và xây dựng.
- Trong kiến trúc rest, mọi thứ đều được coi là tài nguyên, chúng có thể là: tệp văn bản, hình ảnh, trang html, video hoặc dữ liệu động… Máy chủ nghỉ cung cấp quyền truy cập vào tài nguyên, máy khách còn lại truy cập và thay đổi các tài nguyên này. Ở đây tài nguyên được xác định theo URI và REST sử dụng một số biểu diễn để biểu diễn tài nguyên, chẳng hạn như văn bản, json, xml.
- Nội dung của kiến trúc nghỉ ngơi bao gồm 4 nguyên tắc cơ bản sau:
- Như chúng ta đã biết, http cung cấp các phương thức để lấy dữ liệu, chèn dữ liệu, cập nhật dữ liệu hoặc xóa dữ liệu. Khi sử dụng các phương thức này, chúng ta cần xác định rõ mục đích của mỗi lần gọi phương thức. Các gợi ý cụ thể cho phương thức như sau:
- get: dùng để truy cập tài nguyên (phương thức này gần như được sử dụng phổ biến nhất)
- bài đăng: được sử dụng để tạo tài nguyên trên máy chủ (chẳng hạn như đăng ký tài khoản, điền vào biểu mẫu và sử dụng phương thức đăng để gửi dữ liệu đến máy chủ) li>
- put: Được sử dụng để thay đổi trạng thái của tài nguyên hoặc cập nhật tài nguyên đó.
- xóa: Được sử dụng để xóa hoặc xóa tài nguyên.
- Không trạng thái có nghĩa là máy chủ không lưu giữ thông tin về các máy khách mà nó giao tiếp, thông tin này vẫn tồn tại trên máy khách hoặc chuyển sang trạng thái của tài nguyên. Mỗi khi một yêu cầu được gửi đến máy chủ, máy khách phải đóng gói thông tin đầy đủ để máy chủ hiểu được.
- Điều này có hai lợi ích:
- Giúp tách biệt các thay đổi phía máy khách với các thay đổi phía máy chủ.
- Làm cho hệ thống của bạn dễ dàng phát triển, bảo trì và thay đổi quy mô vì hệ thống không cần hủy trạng thái máy khách.
- Ví dụ:
- rest cung cấp cấu trúc để người dùng có thể truy cập tài nguyên của nó thông qua url
- Địa chỉ dịch vụ nghỉ ngơi cần đủ trực quan, đơn giản, dễ đoán và dễ hiểu. Ví dụ, chỉ cần nhìn vào thanh địa chỉ url, bạn có thể đoán nó trỏ đến cái gì và nó phục vụ cho tài nguyên nào.
- Để đáp ứng các yêu cầu trên, chúng ta nên định nghĩa một uri tương tự như cấu trúc thư mục. Các URI như vậy có thứ bậc, với một đường dẫn gốc và các nhánh từ gốc là các đường dẫn phụ đến khu vực dịch vụ chính.
- Có một số quy tắc bổ sung liên quan đến cấu trúc địa chỉ của dịch vụ web an toàn:
- Ẩn phần mở rộng tài liệu của tiện ích mở rộng trong máy chủ (.jsp , . php, .asp) nếu có để bạn có thể ẩn một số nội dung mà không cần thay đổi url.
- Tất cả chữ thường.
- Thay thế khoảng trắng bằng dấu gạch dưới hoặc dấu gạch nối (một trong hai loại).
- Không sử dụng mã (Không tìm thấy 404) khi yêu cầu địa chỉ cho một phần đường dẫn, thay vào đó, hãy luôn cung cấp trang hoặc tài nguyên mặc định để phản hồi.
- Khi máy khách gửi yêu cầu đến dịch vụ web, yêu cầu đó thường được truyền ở định dạng mà máy tính có thể hiểu được (xml hoặc json) và thường được nhận từ máy chủ ở định dạng tương tự.
- Tuy nhiên, client cũng có thể chỉ định loại dữ liệu mà nó muốn nhận (json, hay xml,..), những thông số kỹ thuật này được gọi là loại mime, và được đưa vào tiêu đề của yêu cầu.
- Một số kiểu kịch câm phổ biến:
Định dạng dữ liệu (html, json, text, xml…)
Ở đây, tôi chia sẻ một số khám phá của mình về kiến trúc dịch vụ web an toàn. Hi vọng nó sẽ giúp ích cho các bạn trong công việc và học tập.
Hẹn gặp lại các bạn trong bài viết tiếp theo!
https://vi.wikipedia.org/wiki/web_service
https://www.ibm.com/developerworks/webservices/library/ws-restful/
https://viblo.asia/p/tim-hieu-ve-restful-web-service-oeqgj5jnm9bl
https://o7planning.org/vi/10773/restful-web-service-la-gi
Bạn vừa gửi yêu cầu xem trang thứ hai của tài liệu.
Bây giờ bạn muốn xem trang tiếp theo (sẽ là trang 3).
rest không lưu trữ thông tin trang 2 mà nó đã cung cấp cho bạn trước đó. Điều này có nghĩa là phần còn lại không quản lý các phiên -> máy chủ giảm tải hầu hết vai trò duy trì trạng thái cho ứng dụng khách, giúp nó hoạt động tốt hơn.
Hiển thị cấu trúc thư mục như uri
->Cấu trúc này cho phép các nhà phát triển dễ dàng thiết lập dịch vụ của họ để nhắm mục tiêu các loại tài nguyên cụ thể.
Không có trạng thái
Cách sử dụng http
.method