Web Server là gì? Tầm quan trọng, mô hình, nguyên tắc hoạt động
Web Server là một hệ thống máy chủ đặc biệt dành riêng cho việc phát triển ứng dụng web. Với đầy đủ các phần mềm hỗ trợ quản lý, các plugin và phần mềm chuyên dụng được cài đặt giúp cho việc sử dụng website dễ dàng hơn bao giờ hết.
Giới thiệu web server
Web Server là gì?
Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác. (các mã Script, các chương trình, và các file Multimedia)
Web Server tương tác với người dùng như nào?
Web Server có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet (hoặc Intranet) qua giao thức HTTPS – giao thức được thiết kế để gửi các file đến trình duyệt Web (Web Browser), và các giao thức khác.
Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name. Giả sử khi bạn đánh vào thanh Address trên trình duyệt của bạn một dòng http://www.abc.com sau đó gõ phím Enter bạn sẽ gửi một yêu cầu đến một Server có Domain Name là www.abc.com. Server này sẽ tìm trang Web có tên là index.htm rồi gửi nó đến trình duyệt của bạn.
Có thể Biến một máy tính thành Web Server không
Bất kỳ một máy tính nào cũng có thể trở thành một Web Server bởi việc cài đặt lên nó một chương trình phần mềm Server Software và sau đó kết nối vào Internet.
Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu truy cập các thông tin từ một trang Web nào đó, Web Server Software sẽ nhận yêu cầu và gửi lại cho bạn những thông tin mà bạn mong muốn.
Giống như những phần mềm khác mà bạn đã từng cài đặt trên máy tính của mình, Web Server Software cũng chỉ là một ứng dụng phần mềm. Nó được cài đặt, và chạy trên máy tính dùng làm Web Server, nhờ có chương trình này mà người sử dụng có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở trên mạng (Internet, Intranet).
Web Server Software còn có thể được tích hợp với CSDL (Database), hay điều khiển việc kết nối vào CSDL để có thể truy cập và kết xuất thông tin từ CSDL lên các trang Web và truyền tải chúng đến người dùng.
Server phải hoạt động liên tục 24/24 giờ, 7 ngày một tuần và 365 ngày một năm, để phục vụ cho việc cung cấp thông tin trực tuyến. Vị trí đặt server đóng vai trò quan trọng trong chất lượng và tốc độ lưu chuyển thông tin từ server và máy tính truy cập.
Phần lớn các server sử dụng một bộ ánh xạ cổng chuẩn, và một vài cổng thông dụng được mô tả ở bảng 1. Phần lớn các Web server sử dụng cổng 80, nhưng ta có thể thay đổi để Web server có thể cài đặt trên cổng không tiêu chuẩn. Nếu muốn “dấu” Web server như là một Web server đa host trên một máy tính bằng việc ánh xạ mỗi server cho một cổng khác nhau. Chú ý, nếu sử dụng một ánh xạ cổng phi chuẩn, người sử dụng sẽ cần biết số cổng mới của bạn để có thể kết nối tới server của bạn.
20 | FTP, File Transfer Protocol |
21 | FTP, File Transfer Protocol |
23 | Telnet |
25 | SMTP, Simple Mail Transfer Protocol |
53 | DNS, Domain Name Service |
70 | Gopher |
80 | HTTP, Hyper Text Transfer Protocol (the protocol used by the World Wide Web) |
107 | Remote Telnet service |
109 | POP2, Post Office Protocol version 2 |
110 | POP3, Post Office Protocol version 3 |
119 | NNTP, Network News Transfer Protocol |
143 | IMAP4, Interactive Mail Access Protocol version 4 (used to be used by IMAP2) |
194 | IRC, Internet Relay Chat |
220 | IMAP3, Interactive Mail Access Protocol version 3 |
389 | LDAP, Lightweight Directory Access Protocol |
443 | HTTPS, HTTP running over secure sockets |
540 | UUCP, UNIX to UNIX Copy |
Xem thêm một số dạng Cloud Server khác có thể phù hợp cho doanh nghiệp của bạn: IDC Cloud Server và Virtual Private Cloud
Vai trò của Web server
Trước kia, truy cập từ xa các đoạn mã nhị phân đòi hỏi những giao thức thuộc sàn diễn đặc trưng. Ví dụ như DCOM, DCOM client truy cập các kiểu dữ liệu COM từ xa sử dụng thủ tục gọi từ xa RPC (Remote Procedure Call) được gán kết chặt chẽ.
Một trong các hạn chế của DCOM là không thể vượt qua tường lửa (firewall). Do vậy, Web server là cách khắc phục nhược điểm này. Bằng cách sử dụng Web server ta có thể truy cập Assembly sử dụng HTTP mà thôi. Trong tất cả các nghi thức hiện có, truy xuất thông tin và điều khiển quá trình công nghệ trên nền tảng Web HTTP là một nghi thức liên lạc đặc thù mà tất cả mọi trình duyệt đều chấp nhận hỗ trợ.
Như vậy, sử dụng Web server, người triển khai Web server có thể sử dụng bất cứ ngôn ngữ nào mình muốn. Người dùng Web server có thể dùng HTTP chuẩn để gọi các hàm thực thi trên những kiểu dữ liệu được định nghĩa trên Web server.
Người sử dụng Web server không nhất thiết là client sử dụng Browser, có thể là ứng dụng console hoặc Windows Form. Trong mỗi trường hợp, client tương tác gián tiếp với Web server thông qua một proxy trung gian, proxy được xem là một kiểu dữ liệu nằm ở xa. Tuy nhiên, đoạn mã của proxy có nhiệm vụ chuyển những yêu cầu cho web server sử dụng HTTP chuẩn hoặc tùy chọn các thông điệp SOAP.
Tầm quan trọng của web server
Việc lựa chọn giải pháp tốt nhất cho web server là cần thiết và có ảnh hưởng tới việc phát triển các ứng dụng nghiệp vụ sau này. Web server có tầm quan trọng đặc biệt trong toàn bộ môi trường hoạt động của xí nghiệp.
Web server cho phép chuyển giao dữ liệu bao gồm văn bản, đồ họa và thậm chí cả âm thanh, video tới người sử dụng. Người sử dụng chỉ cần chạy trình duyệt web (Web Browser) để liên kết các máy chủ qua mạng IP nội bộ. yêu cầu của người sử dụng được đáp ứng bằng cách click chuột vào các chủ đề minh họa mẫu theo yêu cầu sẽ được gọi xuống từ máy chủ nào đó theo giao thức HTTP rồi hiển thị trên máy cá nhân.
Các thành phần chủ chốt của web server là phần mềm. Mỗi Web server chạy trên một nền tảng phần cứng và một hệ điều hành cụ thể như Linux Server hoặc Windows Server chẳng hạn. Nhưng việc tạo các web server phục vụ cho hoạt động nghiệp vụ là vấn đề không dễ dàng. Ngoài việc lựa chọn ra một web server thích hợp và mạnh, người quản lý còn phải chú ý đến thiết kế mạng vì một web server thiết kế không tốt có thể dẫn đến giảm hiệu năng mạng.
Xem thêm: Server Host là gì? TOP 10 nhà cung cấp Server Host tốt nhất
Các tiêu chuẩn đánh giá Web Server
Nói về chức năng và hiệu năng, các web server phân bố thành bốn nhóm chính: các máy chủ truyền thông thường, máy chủ thương mại, máy chủ nhóm làm việc và máy chủ dùng cho mục đích đặc biệt. Các tiêu chuẩn đánh giá web server như sau:
Hiệu năng
Đây là thước đo sơ bộ nhằm trả lời câu hỏi web server làm việc như thế nào, các yếu tố ảnh hưởng đến hiệu năng bao gồm hệ điều hành và khả năng xử lý.
Bảo mật
Hầu hết các sản phẩm đều có cơ cấu điều khiển nhằm hạn chế truy cập của khách hàng tới kho thông tin chung chứa dữ liệu mật bằng các phương pháp như địa chỉ IP, tên máy chủ, mạng con và thư mục.
Đặc biệt, web hosting của MDIGI cung cấp phương án bảo mật theo tên người dùng và khóa mã được mã hóa hoàn toàn trong quá trình truyền trên mạng, tránh các truy cập bất hợp pháp. Một vài sản phẩm đưa ra các máy chủ ủy quyền (proxy server) để tạo bức tường lửa ngăn chặn việc xâm phạm không được phép truy cập từ bên ngoài.
Truy cập và tích hợp với cơ sở dữ liệu
Hầu hết các web server đều sử dụng giao diện CGI (Common Gateway Interface). Một số khác thì dùng giao diện lập trình ứng dụng (API), liên kết với cơ sở dữ liệu mở hoặc ngôn ngữ hỏi đáp có cấu trúc SQL.
Quản lý và quản trị web server
Đặc tính quan trọng của tiêu chuẩn này là khả năng quản trị từ xa, giao diện đồ họa và điều khiển cấu hình máy chủ. Các máy chủ truyền thông thường được xây dựng để truyền thông tin trên mạng công cộng và thường mang cả bốn tiêu chuẩn nhưng thiếu khả năng hỗ trợ bảo mật.
Các máy chủ thương mại có đặc tính này sẽ thuận lợi cho sữ lý ứng dụng nghiệp vụ có liên quan đến các vấn đề như giao dịch thẻ ứng dụng. Máy chủ nhóm làm việc, mạng IP nội bộ hay intranet, các máy chủ này sử dụng firewall nhằm bảo mật và ngăn chặn truy cập bất hợp pháp.
Windows Server phát triển nền tảng Server Manager được tích hợp sẵn vào hệ điều hành windows giúp cho người dùng dễ dàng quản lý Server cũng như tiết kiệm thời gian và nâng cao hiệu suất, tính an toàn và bảo mật.
Xem thêm: Rack Server là gì? Làm sao để chọn Rack Server phù hợp
Nền tảng cơ bản của web server
Một vấn đề quan trọng cần phải cân nhắc trước tiên là vợi hệ điều hành nào sẽ chạy web server. Web server xuất phát từ Unix, môi trường đã được hoàn thiện qua thử thách. Bởi vậy, một công ty thông thường sẽ chọn Unix nếu muốn đảm bảo chắc chắn. Ngoài ra, quan trọng hơn, khả năng hỗ trợ nhiều bộ xử lý và liên kết lại là lĩnh vực ưu thế của Unix trước Windows NT.
Hiện tại, có thể nói là tính năng của các web server không hơn kém bao nhiêu và các nhà quản lý thường muốn sử dụng những công cụ điều hành mà các nhà sản xuất cung cấp cho các hệ điều hành đó. Bởi vậy, theo nhận xét thì môi trường Unix có những công cụ quản lý tinh vi hơn.
Tuy nhiên, Windows NT được đánh giá là hệ điều hành nhiều triển vọng, dễ cài đặt, sử dụng và hơn nữa chi phí cho một hệ Intel chạy Windows NT sẽ rẽ hơn một phần ba so với Unix, và đây có thể là ưu thế lớn nhất của Windows NT. Microsoft và Novell đều đang cố gắng đẩy mạnh hệ điều hành mạng của họ, mở rộng chức năng cho web server, bổ sung công cụ quản lý mà lâu nay khách hàng than phiền vì sự thiếu vắng của nó. Ngoài ra, cả hai cũng đang thực hiện việc kết nối hệ thống sever với các hệ thống email của người quản lý.
Xử lý truy nhập cạnh tranh
Web server thường phải xử lý một số lượng lớn yêu cầu giao dịch mỗi ngày. Để giải quyết vấn đề này, hầu hết các máy chủ thương mại đều chạy các hệ điều hành đa nhiệm như Unix Solaris, SCO, NFS, Windows NT và OS/2.
Mặt khác, hiệu năng còn phụ thuộc vào chính các web server trong việc xử lý đa luồng. Với web server đa luồng, một tiến trình được tách thành nhiều tiến trình con (hay các luồng). Các luồng có thể được thực hiện đồng thời trên các tài nguyên khác nhau rồi sau đó có thể ghép lại để hoàn thiện quá trình. Các web server không hỗ trợ đa luồng thường là các sản phẩm miễn phí, cần phải khởi động tiến trình mới mỗi khi người sử dụng gởi yêu cầu tới. Một số ít sản phẩm như Oracle web server cung cấp khả năng đa luồng. Điểm khác biệt chính là, với đa luồng, hệ điều hành kiểm soát các luồng khác nhau, còn với giả đa luồng tiến trình nó tự kiểm soát các luồng và cấp phát tài nguyên cần thiết cho chúng. Kỹ thuật giả đa luồng mang lại hiệu năng tốt hơn nhiều so với đa luồng.
Bảo mật
Web server thương mại điều có cùng một dạng điều khiển truy nhập chống xâm phạm. Một số web server cung cấp hàng loạt các lựa chọn điều khiển truy nhập cho người quản trị như địa chỉ IP, tên máy khách, tập tin, thư mục, tên người dùng và nhóm người dùng. Cơ cấu bảo mật có thể nằm trong web server hoặc trong hệ điều hành hay các thành phần liên kết.
Các web server xử lý thông tin mật giống như trong các ứng dụng thương mại điện tử cần thiết bảo mật giao tác. Với tính năng này, truyền thông trên mạng giữa khách hàng và máy chủ được mã hóa.
Giao thức được sử dụng cho bảo mật gồm Secure Sockets Layer (SSL) và Secure HTTP (HTTPS). Giao thức được sử dụng nhiều nhất là SSL, mã hóa toàn bộ phiên giao tác khách hàng/chủ. HTTPS là loại hướng tập tin. Thay vì mã hóa toàn bộ giao tác, giao thức này mã hóa các văn bản Web, sử dụng cho cả máy khách và máy chủ. Tuy nhiên, việc mã hóa dữ liệu phải dựa trên sự nhất quán về thuật toán giữa máy chủ và máy khách.
Lưu trữ và truy nhập cơ sở dữ liệu
Một lĩnh vực mà các nhà cung cấp web server đang bắt đầu khai phá là các giao thức dữ liệu, văn bản web lưu trữ và truy nhập như thế nào. Phương pháp thông thường nhất là dữ liệu được lưu dưới dạng các tập tin riêng rẽ trên các máy chủ khác nhau. Tuy vậy, một vấn đề sẽ xuất hiện đối với các web server lớn bởi vì một số lớn tập tin tăng lên không ngừng làm cho máy chủ ngày càng khó khăn trong việc kết xuất dữ liệu.
Lựa chọn cuối cùng
Việc lập kế hoạch web server không kết thúc ở lựa chọn sản phẩm. Người quản trị mạng cần phải lưu tâm đến vấn đề trước khi cài đặt và cấu hình web server. Các vấn đề đó liên quan đến thiết kế mạng, độ tin cậy của máy và giá cả.
Trước khi đưa vào sử dụng web server, người quản trị mạng cần đảm bảo kiến trúc hạ tầng cho việc xử lý giao dịch về web, chẳng hạn như dự tính lưu lượng yêu cầu tới, kích thước đường truyền, vị trí các bộ router và cấu hình của mạng nội bộ.
Một vấn đề khó nhận ra nữa là các web server cần thiết phải có khả năng xử lý hoặc chịu các lỗi và tính dư thừa hay phân đoạn sản phẩm.
Một cách để đảm bảo độ tin cậy máy chủ là sử dụng kỹ thuật gọi là DNS (Domain Name Server) trong đó có một máy chủ là ánh xạ dữ liệu của một máy chủ có địa chỉ IP khác. Nhưng cái khó là làm thế nào để đảm bảo tại mọi lúc hai máy chủ đều giống nhau.
Hầu hết các sản phẩm web server đều có giá vài nghìn đôla. Nhưng thực tế việc này còn liên quan đến giá phát triển, bảo trì và điều hành hệ thống, nghĩa là, khả năng phát triển của nhà cung cấp web server, đội ngũ bảo trợ tại địa phương cũng như việc huấn luyện đào tạo có chất lượng.
Mô hình hệ thống Web
Hình: Mô hình Web nói chung
Mạng dịch vụ Web là mạng các máy tính liên quan đến dịch vụ Web bao gồm các máy chủ dịch vụ, các máy tính và thiết bị phục vụ cho việc cung cấp dịch vụ Web. Hệ thống đó bao gồm:
- Đường kết nối với mạng cung cấp dịch vụ Internet.
- Các máy chủ cung cấp dịch vụ Web: cung cấp các dịch vụ web hosting, chứa các phần mềm Application Server đảm bảo việc phát triển các dịch vụ trên web, kết nối đến các cơ sở dữ liệu trên các máy tính khác, mạng khác.
- Các máy chủ cơ sở dữ liệu, máy chủ chứng thực, máy chủ tìm kiếm …
- Hệ thống tường lửa (cả phần cứng và phần mềm) đảm bảo an toàn cho hệ thống máy chủ với môi trường Internet.
- Hệ thống máy trạm điều hành, cập nhật thông tin cho máy chủ Web…
Nguyên tắc hoạt động của Web Server
Khi máy client kết nối vào Internet (thông qua hệ thống mạng LAN hay các đường dial up..), người sử dụng dùng trình duyệt web (web browser) gõ địa chỉ tên miền cần truy nhập (ví dụ: http://home.vnn.vn) gửi yêu cầu đến máy chủ Web.
Web Server xem xét và thực hiện hết những yêu cầu từ phía Web browser gửi đến. Kết quả là một trang “thuần HTML” được đưa ra Browser. Người sử dụng sẽ hoàn toàn trong suốt với những gì đằng sau của một Web server như CGI Script, các ứng dụng cơ sở dữ liệu.
Trường hợp là web tĩnh thì web server sẽ lấy thông tin lưu sẵn trên máy chủ dạng thư mục, file gửi lại theo yêu cầu của client. Trường hợp web động (dùng các ngôn ngữ lập trình web như ASP, PHP, JSP, CGI … kết nối và khai thác cơ sở dữ liệu.
Một ví dụ: Khi có kế hoạch thuê dịch vụ Web Server, A biết có thể tìm được các thông tin liên quan tới web Server địa chỉ Web “https://mdigi.vn” – địa chỉ này chính là một URI (Uniform Resource Identifier – world wide web address) .
Khi A nhập URL trên vào trình duyệt thì:
- Trình duyệt sẽ thực hiện gửi yêu cầu lấy thông tin tới địa chỉ xác định trong URL thông qua giao thức truyền dữ liệu có tên là http.
- Máy chủ nới chứa thông tin sẽ xác định những thông tin cần thiết theo yêu cầu dựa trên URI của người sử dụng gửi tới. Truyền thông tin liên quan tới yêu cầu tới người sử dụng thông qua giao thức truyền thông http.
- Trình duyệt sau khi nhận được kết quả trả lời của máy chủ sẽ tiến hành trình bày dữ liệu kết quả nhận được theo khuôn dạng nhất định. Bản thân trong kết quả nhận được cũng bao gồm các liên kết tới thông tin ở vị trí khác trên Web và các vị trí này cũng được xác định bởi các URI.
Trong ví dụ trên đã giới thiệu cho chúng ta ba cấu trúc của Web gồm: Xác định vị trí thông tin, Trao đổi và cách thể hiện thông tin:
+ Xác định vị trí thông tin: Mỗi resource trong Web sẽ được xác định bởi Uniform Resource Identifier (URI). Trong ví dụ trên, resource dùng để lấy tông tin về Dịch vụ web Server được xác định bời URI: “https://mdigi.vn”.
+ Trao đổi thông tin: Các tác nhân của Web (trình duyệt – browser, web server, …) thực hiện trao đổi thông tin thông qua các message, các message này được hình thành khi có yêu cầu của người sử dụng hoặc khi thực hiện các tiến trình xử lý dữ liệu. Các giao thức (Protocols) sẽ định nghĩa cách thức trao đổi dữ liệu giữa các tác nhân trong Web, trong ví dụ này là giao thức HTTP.
Thể hiện thông tin: Các message được hình thành khi trao đối thông tin giữa các tác nhân trong web đã chứa các định dạng dữ liệu. Tùy thuộc vào từng yêu cầu cụ thể mà các đinh dạng thể hiện dữ liệu sẽ khác nhau. Trong trường hợp khi nhận kết quả trả lời từ các web server, các định dạng đó có thể là: HTML, XML, … dữ liệu ảnh, … Dựa trên các định dạng được định nghĩa này, trình duyệt sẽ trình bày lại sao cho dữ liệu có thể giúp người sử dụng khai thác thông tin một cách dễ dàng.
Kết luận
Như vậy phần trên Mạnh Đức đã chia sẻ chi tiết về web Server, mô hình, cách thức hoạt động của nó như nào. Trong quá trình viết bài chắc chắn còn nhiều thiếu sót về mặt nội dung. Nếu như quý vị vẫn còn thắc mắc xin vui lòng để lại bình luận bên dưới. Chúng tôi sẽ trả lời nhanh nhất có thể.
Xin cám ơn quý vị đã đọc bài viết này. Đừng quên để lại đánh giá 5 sao nếu như nó hữu ích nhé.
Lưu ý:
*Thông tin trong bài viết đều là những kiến thức chuyên môn và kinh nghiệm thực tế của đội ngũ sáng tạo tại MDIGI . Mọi hành vi sao chép vui lòng ghi trích dẫn nguồn MDIGI.vn! Xem Điều khoản & điều kiện của Chúng tôi.
*Cập nhật mới nhất ngày: 27/05/2023