Face web server như thế nào
Tưởng tượng mỗi ngày chúng ta sử dụng internet và truy cập vào những website phim ảnh, giải trí, học tập hay mua sắm.. và tất cả những website trên bắt buộc phải có web server. Vậy Web Server là gì?
Show
1. Web server là gì?Web server dịch ra tiếng Việt có nghĩa là máy chủ. Web server là máy tính lớn được kết nối với tập hợp mạng máy tính mở rộng. đây chính là một dạng máy chủ trên internet mỗi máy chủ là một IP không giống nhau và có thể đọc các ngôn ngữ như tệp *.htm và *.html… tóm lại máy chủ là kho để chứa toàn bộ dữ liệu hoạt động trên internet mà nó được giao quyền quản lý. Website server phải là một máy tính có dung lượng lớn, tốc độ rất cao để có thể lưu trữ vận hành tốt một kho dữ liệu trên mạng. Nó sẽ điều hành trơn tru cho một bộ máy máy tính hoạt động trên mạng, thông qua các cổng giao tiếp riêng biệt của mỗi máy chủ. Các Website server này phải đảm bảo hoạt động liên tục luôn luôn nghỉ để duy trì mang lại dữ liệu cho mạng lưới máy tính của mình. Dễ hiểu hơn Website server chính là máy chủ, được thiết kế với các siêu tính năng dùng để chứa các dữ liệu cho một phần mạng lưới máy tính trên mạng. Toàn bộ những hoạt động dịch vụ trên internet nào đều phải có máy chủ này mới hoạt động được. 2. Đôi nét về Web server
Ngắn gọn hơn..“Web server” có thể là phần cứng hoặc phần mềm, hoặc cả hai.
Ở mức căn bản nhất, bất cứ khi nào một trình duyệt web cần một tệp được lưu trữ trên một Website server, trình duyệt request (yêu cầu) tệp đó thông qua HTTP. Khi một request tới đúng Web server (phần cứng), HTTP server (phần mềm) gửi tài liệu được yêu cầu trở lại, cũng thông qua HTTP. Để xuất bản một Website, bạn phải cần một static hoặc dynamic Website server. Một static Website server, hoặc stack, bao gồm một máy tính (hardware) với một HTTP server (phần mềm). Chúng ta gọi nó là “static” bởi vì server (máy chủ) gửi các file nó lưu trữ “nguyên vẹn” (as-is) tới trình duyệt web của bạn. Một dynamic Website server bao gồm một static Website server cộng với các phần mềm mở rộng, phổ biến nhất là một application server (máy chủ ứng dụng) và một database. Chúng ta gọi nó là “dynamic” bởi vì application server cập nhật các tệp được lưu giữ trước khi gửi chúng tới tình duyệt của bạn thông qua HTTP server. VD, để làm ra các trang Web mà bạn nhìn thấy trong trình duyệt, application server có thể điền một HTML template với những thông tin lấy từ một database. Các site giống như MDN hay Wikipedia có hàng ngàn trang Web, tuy nhiên chúng chẳng phải là các tài liệu HTML thực sự, mà chỉ là vài HTML template và một database khổng lồ. cài đặt này làm cho nó đơn giản và nhanh hơn để bảo dưỡng và phân phối nội dụng. 3. Tìm hiểu chuyên sâuĐể lấy một trang Website, trình duyệt web của bạn gửi một request tới Web server, nó sẽ tìm kiếm tệp được yêu cầu, lưu trữ trên ổ đĩa của nó. Khi tìm thấy tệp, server đọc nó, giải quyết nếu cần, và gửi nó tới trình duyệt. Hãy xem xét các bước này chi tiết hơn. 3.1 Lưu giữ các file (Hosting files)Đầu tiên, một Website server phải lưu giữ các file của Web, đó là các tài liệu HTML và các tài nguyên ảnh hưởng đến nó, gồm có các ảnh, tệp CSS, file JavaScript, fonts và videos. Về mặt kỹ thuật, bạn có thể lưu trữ toàn bộ các file trên máy tính của mình, tuy nhiên có nhiều lợi ích hơn khi lưu trữ chúng trên một máy chủ riêng biệt như:
Vì toàn bộ những lý do này, tìm một nhà cung cấp máy chủ (hosting provider) tốt thuộc một phần cần thiết trong việc xây dựng Web của bạn. Khi bạn đã chọn được một nhà phân phối Web hosting, bạn cần upload các file của bạn tới Web server của mình. 3.2 Giao tiếp thông qua HTTPThứ 2, một Web server hỗ trợ HTTP (Giao thức truyền phát siêu văn bản – Hypertext Transfer Protocol). Như tên gọi, HTTP là cách truyền các siêu văn bản – hypertext (ví dụ: các tài liệu web) giữa hai máy tính. Một giao thức là một tập hợp các quy tắc để kết nối giữa hai máy tính. HTTP là một giao thức textual, stateless. 3.2.1 Textual tất cả các lệnh là văn bản thuần túy (plain-text) và con người có thể đọc được. 3.2.2 Stateless Cả server và client không nhớ kết nối trước đó. VD, nếu như chỉ có HTTP, một server không thể nhớ mật khẩu bạn đã nhập hoặc bước nào bạn đã làm trong một giao dịch. bạn phải cần một application server cho những nhiệm vụ như vậy. (Chúng tôi sẽ nhắc đến công nghệ này trong một bài content khác). HTTP cung cấp các quy tắc bài bản, về cách client và server giao tiếp với nhau.
Trên một Website server, HTTP server gánh chịu hậu quả xử lý và trả lời các request đến.
3.3 Nội dung static vs dynamicNói chung, một server có thể phục vụ cả nội dung static hoặc dynamic. “Static” có nghĩa là “được phục vụ nguyên vẹn” (served as-is). Các static Web là dễ dàng nhất để cài đặt, vì thế chúng tôi gợi ý bạn tạo một static site đầu tiên. “Dynamic” nghĩa là server giải quyết nội dung hoặc thậm chí tạo ra chúng với dữ liệu từ database. giải pháp này linh động hơn, nhưng stack kỹ thuật trở lên khó khăn hơn để xử lý, làm cho việc xây dựng Website trở lên phức tạp hơn. Lấy ví dụ trang Web bạn đang đọc hiện nay. Một Website server lưu giữ (hosting) nó, có một application server lấy nội dung bài content từ một database, định dạng nó, đẩy nó vào trong HTTP template, và gửi kết quả cho bạn. Trong trường hợp này, application server còn được gọi là Kuma và được tạo ra với Python (sử dụng framework Django). Mozilla team xây dựng Kuma cho nhu cầu riêng của MDN, nhưng nhiều ứng dụng tương tự được tạo ra trên nhiều công nghệ khác. Có rất nhiều application server và thật khó để gợi ý cụ thể. một số application server phục vụ những loại Website cụ thể như: blogs, wikis, hay e-shop, … còn được nhắc đên là CMSs (các hệ quản trị thông tin – content management systems). Nếu như bạn đang xây dựng một dynamic Web, dành ra thời gian chọn một công cụ phù hợp với nhu cầu của bạn. 4. Chức năng của Web server là gì?Chức năng cơ bản của Web server không thể thiếu là lưu giữ, xử lý và phân phối thông tin Web đến với người mua hàng.
Vì vậy khi thiết kế Web xong, cần thực hiện đăng tải Web lên Website server để giúp người mua hàng có thể truy cập Website ở nhiều nơi trên toàn cầu và hiểu được thông tin bên trong. 5. Web server hoạt động như thế nào?Bất cứ khi nào bạn xem một trang Web trên mạng, nghĩa là bạn đang yêu cầu trang đó từ một Web server. Khi bạn điền URL trên trình duyệt web của mình (ví dụ: https://atpsoftware.vn) nó sẽ tiến hành các bước sau để gửi lại góp ý cho bạn. 5.1 Trình duyệt web phân giải tên miền thành địa chỉ IPTrình duyệt của bạn trước tiên cần phải xác định địa chỉ IP nào mà tên miền atpsoftware.vn trỏ về. Trình duyệt web sẽ yêu cầu nội dung từ một hoặc nhiều máy chủ DNS (thông qua internet). Máy chủ DNS sẽ cho trình duyệt web biết địa chỉ IP nào tên miền sẽ trỏ đến cũng là nơi đặt trang Web. Lúc này trình duyệt đã biết địa chỉ IP của trang Website, nó có thể yêu cầu URL rất đầy đủ từ webserver. 5.2 Webserver gửi lại client Trang được yêu cầuWebsite server góp ý bằng việc gửi lại những thông tin client yêu cầu… nếu như trang không hiện hữu hoặc có lỗi khác xảy ra, nó sẽ gửi lại thông báo lỗi phù hợp. 5.3 Trình duyệt hiển thị trang WebTrình duyệt của bạn nhận lại được các tập tin html css (nhiều file khác)… và render hiển thị trang theo yêu cầu. 6. Những điều cần lưu ý khi sử dụng Web serverGiống như là các phần mềm được sử dụng trên máy tính của bạn, Website server software cũng chỉ là 1 ứng dụng phần mềm. Chúng được thiết lập trên một máy mà bạn lựa chọn để giúp người sử dụng có thể tìm kiếm các thông tin mà Web của bạn mang lại. Vì vậy mà cần nên có một máy tính cấu hình tốt, đáp ứng được khối lượng lớn người sử dụng truy xuất cũng giống như lưu giữ được dung lượng dữ liệu cao. Server ảo cần phải được hoạt động liên tục 24/24, không ngắt quãng để phục vụ cho việc cung cấp thông tin trực tuyến. Chính vì vậy mà việc chọn lựa server đóng vai trò cực kỳ cần thiết trong chất lượng, tốc độ lưu chuyển thông tin từ Web server sang máy tính truy xuất. Để đáp ứng được các yêu cầu của thay đổi không ngừng của các doanh nghiệp, dịch vụ cho thuê server ngày càng phát triển rộng mở và mạnh mẽ, cho phép làm ra nhiều gói dịch vụ đa dạng để các doanh nghiệp có thể tìm ra lựa chọn tối ưu cho mình. Website server càng mạnh sẽ càng tạo điều kiện cho quá trình lưu trữ dữ liệu, tốc độ lưu chuyển thông tin trên Web được thuận tiện hơn, phục vụ cho công đoạn truy xuất của người sử dụng. 7. Giới thiệu top các Web Server phổ biến7.1 Apache HTTP serverApache là Website server được dùng rộng rãi nhất thế giới. Apache được phát triển và duy trì bởi một cộng đồng mã nguồn mở dưới sự bảo trợ của Apache Software Foundation. Apache được phát hành với giấy phép Apache License là được sử dụng tự do, miễn phí. Tính đến tháng 8 năm 2018, apache ước tính phục vụ cho 54.2% các trang Website đang hoạt động và 53.3% số máy chủ hàng đầu. Apache chạy trên các hệ điều hành như windows, linux, unix, MacOS …. 7.2 NginxNginx là một Website server nhẹ (Đọc thêm Nginx là gì), không chiếm nhiều tài nguyên của hệ thống. Nginx còn là một reserse proxy mã nguồn mở. Nginx khá là ổn định, cấu hình đơn giản và hiệu năng cao. Nginx được phát triển bởi Igor Sesoev vào năm 2002 trọng điểm là để phục vụ cho Website rambler.ru (trang Website được truy xuất nhiều thứ 2 của nước Nga). Theo tổng hợp và thống kê của Netcaft, trong một triệu Website lớn nhất toàn cầu có 6.52% sử dụng Nginx. Nginx là phần mềm mã nguồn mở và không mất phí, được phát hành rộng rãi theo giấy phép BSD. Nginx được phát triển bằng ngôn ngữ và chạy được trên các hệ điều hành như Linux, FreeBSD, Windows, MacOS… Nginx có các tính năng như chứng thực người sử dụng, virtual hosting, hỗ trợ CGI, FCGI, SCGI, WCGI, SSI, ISAPI, HTTPS, Ipv6, … 7.3 Internet Information Services (IIS)IIS do Microsoft phát triển, sản phẩm này được tích hợp cùng với hệ điều hành Windows Server. Trong IIS gồm có nhiều dịch vụ như: dịch vụ Web Server, dịch vụ FTP Server. Tính đến thời điểm tháng 5 năm 2015 thì thì số lượng trang Website dùng máy chủ IIS gần 248 triệu trang Website. Toàn bộ các tính năng của Website server được quản lí độc lập vì lẽ đó chúng ta có thể đơn giản thêm, loại bỏ hoặc thay thế các tính năng của Web server. Nhờ được tích hợp ASP.NET IIS có thể dùng toàn bộ sức mạnh của ASP.NET. Module ASP.NET khiến cho máy chủ phát triển nhanh chóng nhờ vào bố cục và giao diện quen thuộc và các dịch vụ ứng dụng của ASP.NET. 7.4 Apache TomcatApache Tomcat là một Java Servlet được phát triển bởi Apache Software Foundation. Tomcat thực thi các ứng dụng Java Servlet và JavaServer Pages (JSP). Tomcat cung cấp một máy chủ HTTP cho ngôn ngữ Java thuần túy. Apache Tomcat rất ổn định và có toàn bộ các tính năng của một ứng dụng Web thương mại nhưng đi kèm theo giấy phép mã nguồn mở của Apache. Tomcat cũng cung cấp một số công dụng bổ sung như tomcat manager application, speciallized realm imlementation và tomcat valves. Các phiên bản của apache tomcat trùng với phiên bản và đặc điểm kỹ thuật của servlet java hoặc java servlet API. Tomcat 5.5X hỗ trợ Servlet API 2.3, tomcat 6.0X hỗ trợ servlet API 2.4 và tomcat 7.0 hỗ trợ servlet API 3.0. Ngoài Servlet versions API, phiên bản tomcat hỗ trợ phiên bản JSP API tương ứng. |