Đôi khi tôi buộc phải thiết kế theo hướng tạo một Dịch vụ web trung gian [A] giữa Máy khách và một Dịch vụ web khác [gọi là B]
Lý do tôi phải sử dụng hướng thiết kế này thì có nhiều, tuy nhiên thường gặp nhất là những vấn đề sau
- Web Service B của các bên khác thường xuyên thay đổi API, trong khi công việc cập nhật phần mềm ở máy khách [ví dụ: thiết bị IoT đã ra thị trường] mất nhiều thời gian
- Dịch vụ web B xử lý dữ liệu nghiêm trọng nên cần một Dịch vụ web để lưu trữ dữ liệu vào bộ đệm để tăng tốc độ truy xuất
- Dịch vụ web B của bên khác không hỗ trợ CORS [Chia sẻ tài nguyên nguồn gốc chéo], trình duyệt sẽ chặn nếu sử dụng JavaScript gọi trực tiếp Dịch vụ web này
- Dịch vụ web B chặn khách hàng theo địa phương, Dịch vụ web A được cài đặt trên máy chủ bên ngoài địa phương đó để chuyển tiếp dữ liệu
- Dịch vụ web B được sử dụng nội bộ, tuy nhiên một phần dữ liệu lại cần xuất bản bên ngoài nhưng không cho phép truy cập trực tiếp B
Cách thiết kế này được gọi là “proxy”, ưu điểm là mềm dẻo và giải quyết triệt để các vấn đề trên. Tuy nhiên cũng có nhược điểm
- khoảng trống làm phải thực hiện 2 lần yêu cầu. Máy khách ⇌ Dịch vụ web A ⇌ Dịch vụ web B. Xử lý dữ liệu trên Dịch vụ web A nếu có thì phải thật đơn giản
- Nếu Dịch vụ web B có giới hạn tốc độ theo địa chỉ IP thì sẽ làm giới hạn quy định sử dụng của Dịch vụ web A
Sau đây là một ví dụ đơn giản. Dịch vụ web A chuyển tiếp tiêu đề & dữ liệu từ Máy khách đến Dịch vụ web B, sau đó trả về các tiêu đề và dữ liệu phản hồi của Máy khách từ Dịch vụ web B
người giao nhận. php
Configure .htaccess
to have a nice URL
htaccess
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^wsb/[[a-zA-Z0-9-\._\/]+]/?$ forwarder.php?wsb_uri=//web-service-b/$1 [NC,L,QSA]
Và ta có thể sử dụng API REST của Dịch vụ B từ JavaScript trung gian qua Dịch vụ web A qua URL, ví dụ
PHP là ngôn ngữ kịch bản máy chủ và là công cụ mạnh mẽ để tạo các trang Web động và tương tác
PHP là một giải pháp thay thế được sử dụng rộng rãi, miễn phí và hiệu quả cho các đối thủ cạnh tranh như ASP của Microsoft
Bắt đầu học PHP ngay bây giờ »Học dễ dàng với "PHP Tryit"
Với trình chỉnh sửa "PHP Tryit" trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã PHP và nhấp vào nút để xem kết quả
Ví dụ
echo "Tập lệnh PHP đầu tiên của tôi. ";
?>
Nhấp vào nút "Tự dùng thử" để xem nó hoạt động như thế nào
Bài tập PHP
Kiểm tra bản thân với các bài tập
Tập thể dục
Chèn phần còn thiếu của mã bên dưới để xuất "Xin chào thế giới"
Cung cấp câu trả lời "
Ví dụ PHP
Tìm hiểu bằng các ví dụ. Hướng dẫn này bổ sung tất cả các giải thích với các ví dụ rõ ràng
Xem tất cả các ví dụ về PHP
Bài kiểm tra PHP
Học bằng cách làm bài kiểm tra. Bài kiểm tra này sẽ cung cấp cho bạn tín hiệu về mức độ bạn biết hoặc không biết về PHP
Bắt đầu bài kiểm tra PHP
Việc học của tôi
Theo dõi tiến trình của bạn với chương trình "Học tập của tôi" miễn phí tại W3Schools
Đăng nhập vào tài khoản của bạn và bắt đầu kiếm điểm
Đây là một tính năng tùy chọn. Bạn có thể học W3Schools mà không cần sử dụng My Learning
Tài liệu tham khảo PHP
Tài liệu tham khảo PHP của W3Schools chứa các danh mục khác nhau của tất cả các hàm, từ khóa và hằng số PHP, cùng với các ví dụ