Tôi đang lập kế hoạch bao gồm Markdown trong một dự án sắp tới. Trong quá khứ, tôi vừa mới sử dụng trình phân tích cú pháp Markdown phía máy chủ được đóng gói sẵn, đã khử trùng lại đầu ra HTML (một bước không cần thiết?) Và gửi nó cho khách hàng.Những nhược điểm của phân tích Markdown ủy nhiệm cho phía khách hàng là gì?
Tôi quan tâm đến việc giảm tải ít nhất phần này của chế độ xem hiển thị cho khách hàng. Tôi đã sử dụng các trình phân tích cú pháp Javascript Markdown phía máy khách với thành công lớn trong các ứng dụng Rails trước đây. Tôi sẽ ủy quyền đối tượng cơ thể để xem DOM chèn lớp markdown-parseme
hoặc tương tự và sau đó phân tích cú pháp và thay thế văn bản gốc bằng kết quả.
Nhưng đây là lần đầu tiên tôi xem xét nó cho một trang web sản xuất trong tự nhiên. Mối quan tâm về an ninh và bảo mật là gì khi cho phép khách hàng xử lý hiển thị Markdown? Có bất kỳ thư viện cụ thể nào đưa các vấn đề này vào tài khoản không?
CHỈNH SỬA: mối quan tâm rõ ràng mà lưu ý đến là "điều gì về những người không có Javascript". Nó hoàn toàn nằm trong khả năng của chúng tôi để phát hiện các trình duyệt không bật Javascript và triển khai một cơ chế cho phép khách hàng (có thể là thủ công) gắn cờ rằng họ không có JS và di chuyển phân tích đến phía máy chủ. Tôi rất muốn điều tra nếu có vấn đề nghiêm trọng với việc giảm phân tích cú pháp Markdown cho khách hàng ngoài câu hỏi tương thích thông thường này. Hiển thị một trang có kích thước không có bộ nhớ đệm đầu ra là thêm một số lượng không đáng kể vào thời gian phản hồi và thông qua đó, tải máy chủ và sẽ rất tuyệt nếu chúng tôi có thể tự tin chuyển nhiệm vụ đó ra khỏi máy chủ cho 95% người dùng .
Tại sao di chuyển cho khách hàng? Chỉ để tiết kiệm cho mình cuộc gọi AJAX? – sdleihssirhc
Một vấn đề hiển nhiên là bắt buộc phải bật JavaScript. –
Đối với rất nhiều ứng dụng web, thiếu JavaScript có nghĩa là bạn không sử dụng ứng dụng ngay từ đầu, nếu không bạn đang sử dụng số tiền đó cho một ứng dụng hoàn toàn khác. – Pointy