Khám phá chi tiết những thông tin liên quan đến web server là gì?

Mục lục

1. Bạn hiểu web server là gì?

Web server là phần mềm máy chủ chạy các trang web, có thể đáp ứng các yêu cầu của máy khách trên World Wide Web. Đây là một chương trình máy tính phân phối các trang web khi chúng được trưng dụng. Nói chung, một web server có thể chứa một hoặc nhiều trang web. Chức năng chính của web server là lưu trữ, xử lý và cung cấp các trang web cho người dùng. 

Việc liên lạc này được thực hiện bằng Giao thức truyền siêu văn bản (HTTP). Các tài liệu của HTTP thường bao gồm hình ảnh, biểu định kiểu và tập lệnh bên cạnh nội dung văn bản,... Ngoài HTTP, một web server cũng có chức năng hỗ trợ giao thức SMTP (Giao thức chuyển thư đơn giản) và giao thức FTP (Giao thức truyền tệp) để lưu trữ, chia sẻ qua email hoặc truyền tệp.

Nhiều web server có thể được sử dụng cho một trang web có lượng truy cập cao. Tại đây, các máy chủ Dell được cài đặt cùng nhau đang được sử dụng cho Wikimedia Foundation.

Một tác nhân người dùng, thường là trình duyệt web hoặc trình thu thập dữ liệu web, bắt đầu giao tiếp bằng cách yêu cầu một tài liệu cụ thể bằng HTTP và web server phản hồi với nội dung của tài liệu đó hoặc thông báo lỗi nếu không thể thực hiện được. Tài liệu này thường là một tệp thực trên bộ lưu trữ thứ cấp của web server, nhưng điều này không nhất thiết phải làm như vậy và chủ yếu phụ thuộc vào cách web server được triển khai.

Mặc dù chức năng chính là phục vụ nội dung, nhưng việc triển khai đầy đủ HTTP cũng bao gồm các phương thức tiếp nhận nội dung từ khách hàng. Tính năng này được sử dụng để gửi biểu mẫu web, bao gồm tải lên các tệp.

Nhiều web server chung cũng hỗ trợ tập lệnh phía máy chủ bằng Active Server Pages (ASP), PHP (Bộ xử lý siêu văn bản) hoặc các ngôn ngữ tập lệnh khác. Điều này có nghĩa là hành vi của web server có thể được viết thành kịch bản trong các tệp riêng biệt, trong khi phần mềm web server thực tế vẫn không thay đổi. Thông thường, chức năng này được sử dụng để tạo tài liệu HTTP một cách linh hoạt ("đang hoạt động") thay vì trả lại tài liệu tĩnh. Cái trước chủ yếu được sử dụng để lấy hoặc sửa đổi thông tin từ cơ sở dữ liệu. Cái sau thường nhanh hơn nhiều và dễ dàng lưu vào bộ nhớ cache hơn nhưng không thể cung cấp nội dung động.

Web server có thể thường xuyên được tìm thấy ở trạng thái nhúng trong các thiết bị như máy in, bộ định tuyến, webcam và chỉ phục vụ một mạng cục bộ. Sau đó, web server có thể được sử dụng như một phần của hệ thống để theo dõi hoặc quản lý thiết bị được đề cập. Điều này thường có nghĩa là không có phần mềm bổ sung nào phải được cài đặt trên máy khách vì chỉ cần một trình duyệt web (hiện đã có trong hầu hết các hệ điều hành).

Công việc chính của một web server là hiển thị nội dung trang web. Nếu một web server không được tiếp xúc với công chúng và được sử dụng nội bộ, thì nó được gọi là web server Intranet. Khi bất cứ ai yêu cầu một trang web bằng cách thêm URL hoặc địa chỉ web trên thanh địa chỉ của trình duyệt web (như Chrome), trình duyệt sẽ gửi yêu cầu tới Internet để xem trang web tương ứng cho địa chỉ đó. Ngay lập tức, web server tên miền (DNS) chuyển đổi URL này thành Địa chỉ IP (Ví dụ 192.118.345.902).

2. Web server hoạt động như thế nào?

Một trang trên Internet có thể được xem khi trình duyệt yêu cầu nó từ web server và web server phản hồi với trang đó. Hoạt động này sẽ diễn ra theo một quy trình.

Quy trình đơn giản bao gồm 4 bước, đó là:

- Lấy Địa chỉ IP từ tên miền: Trước tiên, trình duyệt web của chúng ta có được địa chỉ IP mà tên miền giải quyết. Nó có thể lấy địa chỉ IP theo 1 trong 2 cách:

+ Tìm kiếm trong bộ nhớ cache của nó.

+ Yêu cầu một hoặc nhiều Máy chủ DNS (Hệ thống tên miền).

Lưu ý: Bất kỳ trang web nào cũng được gán một địa chỉ IP khi lần đầu tiên được tạo trên web server.

- Trình duyệt yêu cầu URL đầy đủ: Sau khi biết Địa chỉ IP, trình duyệt hiện yêu cầu URL đầy đủ từ web server.

- Web server đáp ứng yêu cầu: web server phản hồi trình duyệt bằng cách gửi các website mong muốn và trong trường hợp, các trang không tồn tại hoặc một số lỗi khác xảy ra, nó sẽ gửi thông báo lỗi thích hợp.

Ví dụ: Bạn có thể đã thấy Lỗi 404, trong khi cố gắng mở một trang web, đó là thông báo được gửi bởi web server khi trang không tồn tại. Một lỗi phổ biến khác là Lỗi 401 khi quyền truy cập bị từ chối đối với chúng ta do thông tin đăng nhập không chính xác, như tên người dùng hoặc mật khẩu.

- Trình duyệt hiển thị trang web: Trình duyệt cuối cùng cũng nhận được các trang web và hiển thị nó hoặc hiển thị thông báo lỗi.

3. Một số web server phổ biến

Có khá nhiều web server đang hiện hành như: Apache, Microsoft IIS, Nginx Web Server, LightSpeed ​​Web Server. Web server được yêu cầu trình bày nội dung trang web cho trình duyệt của người dùng. Tất cả các trang web trên Internet có một định danh duy nhất về địa chỉ IP. Địa chỉ Giao thức Internet này được sử dụng để liên lạc giữa các web server khác nhau trên Internet. 

Ngày nay, máy chủ Apache là web server phổ biến nhất hiện có trên thị trường. Apache là một phần mềm mở, xử lý gần 70% tất cả các trang web hiện có. Hầu hết các ứng dụng dựa trên web sử dụng Apache làm môi trường web server mặc định của chúng. Một web server khác thường có sẵn là Dịch vụ thông tin Internet (IIS).

- Máy chủ HTTP Apache: Đây là web server phổ biến nhất hiện có và được sử dụng rộng rãi. HTTP Apache được phát triển và duy trì bởi Apache Software Foundation. Phần mềm được sản xuất theo Giấy phép Apache, cung cấp dịch vụ miễn phí và là nguồn mở.

Nó có sẵn cho nhiều hệ điều hành, bao gồm Windows, Mac OS X, Unix, Linux, Solaris, Novell Netware và FreeBSD.

- Dịch vụ thông tin Internet của Microsoft: Microsoft IIS (Dịch vụ thông tin Internet) là web server được sử dụng phổ biến thứ hai và thị phần của nó đang tăng khá nhanh mỗi ngày và có khả năng soán ngôi của Apache trong những năm tới. Máy chủ IIS có tất cả các tính năng giống như Apache, nhưng nó không phải là nguồn mở. IIS thuộc sở hữu của Microsoft, được Microsoft phát triển và duy trì. Do đó, IIS hoạt động trên tất cả các nền tảng của hệ điều hành Windows.

Tóm lại, các web server có thể được sử dụng bởi một cá nhân hoặc bởi các công ty cung cấp dịch vụ lưu trữ web. Trong trường hợp một cá nhân làm như vậy, anh ta sẽ chỉ lưu trữ cục bộ trang web trên hệ thống của mình (nghĩa là nội dung của trang web chỉ có thể được truy cập trên hệ thống cục bộ chứ không phải trên bất kỳ hệ thống nào khác). 

Trong khi đó, các công ty cung cấp dịch vụ lưu trữ lưu trữ trang web có thể được xem bởi bất cứ ai trên toàn cầu. Một cá nhân cũng có thể lưu trữ trang web của mình một cách công khai với web server của mình, nhưng đối với người đó phải có kết nối internet thuê kênh (để có địa chỉ IP chuyên dụng) và máy chủ DNS để kết nối với tên miền của trang web (thường không được ưa thích do lý do bảo mật).

4. Web server chế độ hạt nhân và chế độ người dùng

Một web server có thể được tích hợp vào nhân hệ điều hành hoặc trong không gian người dùng (như các ứng dụng thông thường khác). Các web server chạy ở chế độ người dùng phải yêu cầu hệ thống cho phép sử dụng nhiều bộ nhớ hơn hoặc nhiều tài nguyên CPU hơn. Những yêu cầu này đối với kernel không mất thời gian, nhưng chúng không phải lúc nào cũng được thỏa mãn vì hệ thống dự trữ tài nguyên cho việc sử dụng riêng và có trách nhiệm chia sẻ tài nguyên phần cứng với tất cả các ứng dụng đang chạy khác. Thực thi trong chế độ người dùng cũng có thể có nghĩa là các bản sao bộ đệm vô dụng là một hạn chế khác đối với các web server ở chế độ người dùng.

5. Giới hạn tải

Một web server luôn được xác định giới hạn tải, bởi vì nó chỉ có thể xử lý một số lượng hạn chế các kết nối máy khách đồng thời (thường là từ 2 đến 80.000, theo mặc định từ 500 đến 1.000) cho mỗi địa chỉ IP (và cổng TCP). Web server chỉ có thể phục vụ số lượng yêu cầu tối đa nhất định mỗi giây (RPS, còn được gọi là truy vấn mỗi giây hoặc QPS) tùy thuộc vào:

- Thiết lập riêng của web server.

- Loại HTTP được yêu cầu.

- Nội dung là tĩnh hay động.

- Nội dung có được lưu trữ hay không.

- Các giới hạn phần cứng và phần mềm của Hệ điều hành trên máy tính mà web server chạy.

Khi một web server gần đến giới hạn hoặc vượt quá giới hạn của nó, nó sẽ không phản hồi.

6. Nguyên nhân của web server quá tải

Bất cứ lúc nào, web server cũng có thể bị quá tải. Đó là vì:

- Quá lưu lượng truy cập web hợp pháp:

Hàng ngàn hoặc thậm chí hàng triệu khách hàng kết nối với trang web trong một khoảng thời gian ngắn.

- Tấn công từ chối dịch vụ phân tán:

Tấn công từ chối dịch vụ (tấn công DoS) hoặc tấn công từ chối dịch vụ phân tán (tấn công DDoS) là một nỗ lực để làm cho máy tính hoặc tài nguyên mạng không khả dụng cho người dùng dự định của nó.

- Giun máy tính đôi khi gây ra lưu lượng truy cập bất thường do hàng triệu máy tính bị nhiễm (không được phối hợp giữa chúng).

- Sâu XSS có thể gây ra lưu lượng truy cập cao do hàng triệu trình duyệt hoặc web server bị nhiễm.

- Internet bot Lưu lượng truy cập không được lọc/giới hạn trên các trang web lớn với rất ít tài nguyên (băng thông,...).

- Internet (mạng) chạy chậm, do đó, các yêu cầu của khách hàng được phục vụ chậm hơn và số lượng kết nối tăng lên đến mức giới hạn web server đạt được.

- Web server (máy tính) không có sẵn một phần. Điều này có thể xảy ra do yêu cầu bảo trì hoặc nâng cấp khẩn cấp, lỗi phần cứng hoặc phần mềm, lỗi back-end (ví dụ: cơ sở dữ liệu),... Trong những trường hợp này, các web server còn lại nhận được quá nhiều lưu lượng truy cập và trở nên quá tải.

Hy vọng với những thông tin vừa được cung cấp ở trên, các bạn đã hiểu được web server là gì. Đừng quên thường xuyên cập nhật các tin tức mới nhất trên timviec24h.vn nhé.

Đăng ngày 20/11/2020, 7 lượt xem