30/09/2018, 20:03
Trong lập trình web thì web server (vd Apache) và web framework (PHP) sẽ làm nhiệm vụ gì?
Em muốn hỏi là trong lập trình web thì web server (vd Apache) và web framework (PHP) sẽ làm nhiệm vụ gì và 2 cái này nó tương tác với nhau như thế nào ạ?
Bài liên quan
Web framework là gì ạ? Sao PHP lại là web framework ạ?
Ý mình là một framework nào đó của PHP như Zend, Laravel …
à, hiểu rồi.
Cái server với PHP nó làm gì thì mình không biết, chắc chờ cao nhân vào chỉ giáo thôi
Web server app (Apache HTTP, Nginx, Lighttpd …) là phần mềm chạy trên server, phục vụ các tài liệu HTML cho người duyệt Web.
Web framework (Zend, Laravel, …) giúp quá trình viết ứng dụng web (chạy trên webserver app) được nhanh hơn, có cấu trúc hơn, tránh được các lỗi cơ bản, dễ maintain, …
Tương tác: ví dụ mình viết app quản lý nhân viên (HRM) sử dụng Zend FW. Nếu viết thuần thì mình sẽ phải tự viết một số hàm cơ bản như router, kiểm tra chuỗi, parser chuỗi, chống SQL Injection … còn nếu dùng FW thì nó viết hết cho mình rồi, chủ yếu mình sẽ viết business logic cho app mà thôi. Ứng dụng này được viết trên PHP nên cần một thằng parser để hiểu (khái niệm Web động), sẽ cài vào trở thành một module của Apache HTTP. Khí có 1 request từ browser, Apache HTTP khi đó sẽ đọc 1 document PHP, parser nó và generate thành HTML trả về cho người dùng cuối (browser).
Tại sao lại có Web Framework ?
Thời kỳ đầu chưa có framework thì trang web được làm từ đầu đến cuối. Có những chức năng lặp đi lặp lại từ dự án web này sang dự án web khác. Nên mới gom nhưng chức năng giống nhau.
Một lý do nữa là lúc trước thời gian phát triển 1 website mất rất nhiều thời gian, nhờ có framework mà thời gian này đã rút ngắn lại.
Web Server: cung cấp dịch vụ web cho người dùng. Nói nôm nà là khi bạn làm xong một website thì đây là nơi để code của bạn vào đây để chạy.