IIS Là Gì? Những điều Cơ Bản Bạn Cần Biết Khi Tìm Hiểu Về ISS

  • Techblog
  • Kiến thức cơ bản
IIS là gì? Những điều cơ bản bạn cần biết khi tìm hiểu về ISSBizfly Cloud113508-09-2020
IIS là gì? Những điều cơ bản bạn cần biết khi tìm hiểu về ISS

Theo báo cáo của W3techs năm 2022, IIS là nền tảng máy chủ web phổ biến thứ ba trên thế giới, chỉ đứng sau Apache và Nginx. IIS có sẵn trên hầu hết các phiên bản của hệ điều hành Microsoft Windows. Vậy IIS là gì và nó hoạt động như thế nào? Hãy cùng Bizfly Cloud đi tìm câu trả lời trong bài viết dưới đây!

IIS là gì? Những điều cơ bản bạn cần biết khi tìm hiểu về ISS - Ảnh 1.

Tỉ lệ web server sử dụng bởi các website

ApacheNginx là hai web server phổ biến nhất hiện nay. Tuy nhiên, còn một chương trình web server khác được Microsoft phát triển là Internet Information Services (IIS, tên trước đây là Internet Information Server) với bản phát hành đầu tiên năm 1995. Trước đây, Apache và IIS là hai web server thông dụng nhất trên Internet, nhưng giờ đây theo báo cáo của W3techs, Microsoft-IIS đã tụt xuống vị trí thứ 4, sau Apache, Nginx và Cloudflare Server.

IIS là gì?

IIS (Internet Information Services) là một máy chủ web của Microsoft chạy trên hệ điều hành Windows. IIS được sử dụng để cung cấp nội dung trang web qua internet tới người dùng cuối. IIS có thể phục vụ cả các trang web HTML tiêu chuẩn và các trang web động, chẳng hạn như các ứng dụng ASP.NET và các trang PHP.

IIS được sử dụng phổ biến nhất bởi các doanh nghiệp IT vì nó có thể được quản lý tập trung và mở rộng quy mô để tạo ra các web server lớn, đáp ứng nhu cầu cho các trang web có lưu lượng truy cập cao. IIS lưu trữ ứng dụng, trang web và các dịch vụ tiêu chuẩn khác mà người dùng cần và cho phép các nhà phát triển tạo trang web, ứng dụng và thư mục ảo để chia sẻ với người dùng của họ.

Dưới đây là các phiên bản của IIS. Nhìn chung, phiên bản mới nhất của IIS phù hợp với môi trường doanh nghiệp là IIS 6 hoặc Microsoft Windows Server 2003.

IIS là gì? Những điều cơ bản bạn cần biết khi tìm hiểu về ISS - Ảnh 2.

Cách thức hoạt động của IIS?

Là một máy chủ web, IIS có Process Engine riêng để xử lý tất cả các request từ máy khách đến máy chủ. Về cơ bản, một máy khách gửi một request đến máy chủ và sau đó IIS xử lý request đó và gửi phản hồi đến máy khách. Kiến trúc xử lý của IIS có thể được tách thành hai lớp riêng biệt: Kernel Mode và User Mode.

- Kernel Mode: Khi Kernel Mode được sử dụng, code có thể thực thi bất kỳ lệnh nào và có toàn quyền truy cập vào thiết bị được kết nối. Chế độ này chủ yếu được sử dụng khi đây là một quá trình đáng tin cậy và chủ yếu là bất khả xâm phạm. Bất kỳ lỗi nào trong Kernel Mode đều có thể gây ra nhiều thiệt hại cho chính hệ thống. Kernel Mode cũng là nơi bạn sẽ tìm thấy HTTP.SYS.

- User Mode: User Mode bị hạn chế hơn. Trong trường hợp này, code được thực thi không thể truy cập phần cứng hoặc bộ nhớ tham chiếu, do đó sẽ an toàn hơn. Nếu xảy ra lỗi, hậu quả sẽ không nghiêm trọng như Kernel Mode. Code được thực thi ở chế độ này hướng dẫn các API giao tiếp với thiết bị và bộ nhớ tham chiếu, an toàn hơn nhiều so với Kernel Mode. Bạn sẽ tìm thấy các dịch vụ quản lý IIS, nhóm ứng dụng và thư mục ảo trong chế độ này.

Mục đích của Kernel Mode là sử dụng HTTP.SYS để chấp nhận các request máy khách gửi đến rồi gửi chúng đến nhóm ứng dụng. Quá trình này bắt đầu khi máy khách hoặc người dùng cuối nhập URL của trang web và request quyền truy cập vào trang. HTTP.SYS nắm bắt các request này và thêm một hàng đợi cho mỗi nhóm ứng dụng.

Khi một request đã được chuyển tiếp đến nhóm ứng dụng, Worker Process hoặc w3wp.exe sẽ tải bộ lọc ISAPI và HttpRuntime.ProcessRequest hoặc kết hợp với “aspnet_isapi.dll” nếu nó là một trang ASPX.

Việc khởi chạy Http.Runtime.ProcessRequest cho thấy rằng quá trình xử lý đã bắt đầu. Quá trình HttpRuntime xây dựng một nhóm các đối tượng HttpApplication, các đối tượng này sau đó được chuyển qua HTTP. Các HTTP Module tiếp tục được kích hoạt cho đến khi request đến HTTP handler của trang ASP.NET. Khi request đã được chuyển qua HTTP route, trang sẽ bắt đầu được hiển thị.

Các tính năng của IIS

Một trong những tính năng được sử dụng nhiều nhất của IIS là tạo một ứng dụng web bằng ASP.NET. Bên cạnh đó, IIS hoàn toàn có thể chạy được với các trang web viết bằng các ngôn ngữ khác như PHP, Perl,…

IIS hỗ trợ một số loại xác thực như Basic access authentication, Digest access authentication, Windows Authentication, Certificate authentication,…; các tính năng bảo mật khác bao gồm hỗ trợ SSL/TLS, Server Name Indication (SNI), thiết lập bảo mật cho máy chủ FTP,…

Với thiết kế dạng module, việc mở, tắt và cài đặt một số tính năng để đáp ứng nhu cầu của người sử dụng cũng như tối ưu hiệu năng và bảo mật cho web server được đáp ứng.

Có thể bạn quan tâm: 77 mẹo "nhỏ nhưng có võ" giúp tối đa hóa bảo mật cho Web Server

IIS là gì? Những điều cơ bản bạn cần biết khi tìm hiểu về ISS - Ảnh 4.

Giao diện quản lý module của IIS 7.0

So sánh IIS với các web server khác

Một trong những ưu điểm của IIS so với các web server khác là IIS được phát triển bởi Microsoft, nên một số tính năng của Windows sẽ đi kèm luôn trong IIS (như Windows Authentication kể ở trên,…). Vì vậy, IIS là web server hỗ trợ rất tốt trong các ngôn ngữ hay framework được phát triển bởi Microsoft như ASP.NET hay framework .NET. Nhưng nhược điểm của IIS là chỉ chạy được trên Window.

IIS là chương trình đi kèm với các bản Window NT, do đó nếu như muốn sử dụng IIS, chúng ta phải trả tiền bản quyền cho bản Window NT đi cùng với bản IIS tương ứng. Ví dụ bản IIS 10.0.17763 đi cùng với Windows Server 2019 và Windows 10 bản 1809. Trong khi đó, Apache hoàn toàn miễn phí và nginx có cả phiên bản miễn phí và trả phí.

Cuối cùng, lượng website sử dụng IIS đang ngày càng giảm từ tháng 2 năm 2013, số người sử dụng giảm đồng nghĩa với sự hỗ trợ từ cộng đồng sẽ không thể so sánh được với các web server khác. Tuy vậy, hiện tại IIS vẫn được hỗ trợ bởi Microsoft trên chính trang chủ của IIS là https://www.iis.net/.

Theo Bizfly Cloud tìm hiểu

>> Có thể bạn quan tâm: Lỗ hổng bảo mật và một số kỹ thuật tin tặc đang dùng để tấn công hệ thống của bạn

TAGS: IISweb serverserverSHAREFacebookTwitter

Từ khóa » Tìm Hiểu Về Iis