Viết Một Máy Chủ Web Đơn Giản - nói dối e blog

Viết Một Máy Chủ Web Đơn Giản

Sáng tạo một máy chủ web đơn giản
Dựa trên ý tưởng còn dang dở từ hôm qua, hôm nay tôi đã xây dựng một máy chủ web nhỏ gọn. Mục đích chính của nó là cung cấp giao diện cấu hình cho ứng dụng chạy trên máy cục bộ.

Cảm hứng cho dự án này đến từ thời tôi sử dụng Google Desktop Search - một phần mềm đểu có cách tiếp cận thông minh khi dùng trình duyệt làm giao diện tùy chỉnh. Về bản chất, tôi chỉ cần tạo một máy chủ web siêu nhẹ với vài chức năng cơ bản. Hệ thống chỉ cần hỗ trợ phương thức GET, lắng nghe cổng (port) nội bộ và hoàn toàn không cần kết nối mạng. Chính vì vậy, ngay cả Windows cũng không hiển thị cảnh báo bảo mật nào.

Toàn bộ mã nguồn được viết bằng C, chỉ khoảng hơn 200 dòng. Đặc biệt, tôi đã đóng gói thành một module Lua, cho phép người dùng chỉ cần “require” là sử dụng được ngay. Kết hợp thêm công nghệ AJAX, trải nghiệm tương tác trở nên mượt mà và trực quan hơn hẳn.

Ban đầu tôi từng nghĩ đến việc triển khai Kepler trên máy cục bộ, tập trung hoàn toàn vào API phục vụ AJAX mà không cần hỗ trợ dịch vụ file. Tuy nhiên, kế hoạch này gặp trở ngại khi phát hiện XMLHttpRequest không cho phép yêu cầu跨域 (cross-origin). Dù hơi thất vọng nhưng tôi hiểu đây là biện pháp bảo mật cần thiết của trình duyệt.

Giải pháp đưa ra là bổ sung thêm hơn chục dòng mã để máy chủ web có thể xử lý yêu cầu truy xuất file. Hóa ra việc này lại khá đơn giản, phù hợp với thiết kế tối giản từ đầu.

Trong ngày hôm nay, một đồng nghiệp đã đề xuất dùng web service với chuẩn SOAP để thực hiện. Anh ấy thậm chí đã hoàn thành phiên bản demo khá ổn. Tuy nhiên, cá nhân tôi không mấy mặn mà với SOAP vì lo ngại làm phình to cồng kềnh engine game của chúng tôi. Ngày mai sẽ tiếp tục thảo luận để tìm ra phương án tối ưu nhất.

0%