Microsoft Corp.'s Internet Information Server hay còn gọi là IIS đang có khuynh hướng phát triển giống như một loại rượu lâu năm: càng để lâu thì càng ngon. IIS 4 là một thảm hoạ, IIS 5 về cơ bản là một cánh cửa mở nếu sử dụng dịch vụ web public-facing. Nhưng IIS 6 thực sự gây đột phá, thoả mãn yêu cầu thực thi và bảo mật.
Tuy nhiên nhóm xây dựng chương trình IIS của Microsoft vẫn chưa thấy thoả mãn. Họ coi mỗi lần viết lại hệ điều hành Windows trên server là một cơ hội xem lại các giả định cơ sở về cấu trúc của IIS.
IIS 7 là kết quả của những nỗ lực hết mình đó. Các điểm cải tiến ở IIS 7 tập trung quanh vấn đề sử dụng mô hình thiết kế modul, chức năng quản lý dễ dàng, và nâng cao tính bảo mật. Chúng ta hãy cùng so sánh IIS 7 với các phiên bản trước và xem bạn cần biết điều gì khi cân nhắc sử dụng IIS 7.
Mô hình thiết kế modul
IIS 7 đưa ra kiểu mô hình modul, một khái niệm dường như không phổ biến lắm so với phần mềm Apache Web server. Cấu trúc modul cung cấp khả năng hoạt động riêng rẽ đối với từng bộ phận trong IIS. Nghĩa là các bộ phần này gần như có thể được load trong bất cứ mối liên kết không phụ thuộc nào. Bạn có thể chỉ cho phép các modul cần thiết nhất trên server hoạt động, các modul còn lại có thể đặt ở trạng thái nghỉ: unload, untouch.
Đây là một cải tiến tuyệt vời trong công tác bảo mật bởi vì ít modul hơn thì tương ứng sẽ có ít cuộc tấn công hơn,do có ít lỗ hổng phát sinh hơn. Ngoài ra bạn có thể thấy IIS 7 hoạt động gọn hơn trước đây rất nhiều.
Cấu trúc modul cũng có nhiều tính năng mở rộng. Bạn có thể viết các đoạn mã tuỳ chọn và tự tích hợp vào (workflow) bên trong IIS, tính năng mở rộng này dễ dàng thực hiện khi bạn cần. Các modul có thể đặt ở chế độ enable (được sử dụng) và disable (không sử dụng). Bạn không bị giới hạn khi cấu hình server trong thời gian cài đặt, bạn có thể thay đổi một số thành phần IIS 7 trong hầu hết các khu vực hoạt động của nó tại giao diện người dùng. Chúng ta sẽ xem xét vấn đề này kỹ hơn ở phần sau.
Nâng cao chức năng quản lý
Bạn có thể đã khá quen thuộc với giao diện Management Console của IIS 6, giao diện này không khác biệt mấy so với IIS 5 và chẳng có gì nhiều từ IIS 4. IIS7 về cơ bản loại bỏ giao diện người dùng và xây dựng cấu trúc quản lý mới một cách tổng thể ngay phần đầu chương trình. Có rất nhiều hook (móc nối) cho các nhà phát triển tạo mã tổng hợp, mở rộng giao diện với các hàm thành phần do chính họ viết.
Giao diện này được thiết kế cân bằng với việc thể hiện thành phần ẩn trước đây. Nó vẫn cung cấp quyền truy cập có hiệu quả cho các chức năng chung. Các chức năng này được sử dụng chủ yếu trong các hoạt động Web hosting, phục vụ hàng nghìn website theo từng đơn vị thời gian.
Hình 1 – IIS Manager Console
Một khung màn hình trên desktop |
Tasks pane hiện ra ngay khi bạn mở một cửa sổ nào đó và khung chứa các truy cập nhanh về các hàm chung trong một khu vực nào đó của IIS Manager.
Bạn có thể sử dụng giao diện cây quen thuộc ở khung bên trái, nhưng với IIS 7, khung trung tâm đã được thiết kế lại hoàn chỉnh, với nhiều tuỳ chọn được thể hiện logic hơn so với các phiên bản trước. Với các phiên bản trước, bạn phải kích quanh rất nhiều tab rồi mới tìm ra được thành phần điều khiển bạn muốn thay đổi hoặc vô hiệu hoá. Trong khi đó, IIS 7 cho phép bạn tiết kiệm thời gian và công sức bằng cách kích nhẹ nhàng trong một lần tìm kiếm trực tiếp trên khung trung tâm.
Một thành phần quan trọng khác đáng chú ý trong IIS 7 là khả năng quản lý tổng hợp website dựa trên file “web.config” nền text-file , tương ứng với cách thức trong Apache. Mọi thiết lập cho một website có thể được chỉnh sửa trực tiếp bên trong một file text mà không cần mở giao diện đồ hoạ người dùng. Điều này giúp nhân bản cấu hình một website giữa nhiều server khác nhau trở nên hết sức dễ dàng.
Thêm vào đó, bạn có thể giao quyền truy cập thông tin cấu hình của một website nào đó cho một file web.config cụ thể. Các điều hành viên có thể sử dụng quyền truy cập web.config để quản lý các hoạt động trên website riêng mà không cần đến người quản trị gốc.
Nâng cấp bảo mật
IIS 6 được biết đến với sự cải tiến cao về bảo mật thông qua thành phần Swiss đã có từ IIS 5 và Microsoft hi vọng rằng IIS 7 sẽ tiếp tục theo khuynh hướng đó. Hầu hết mọi công ty đều sử dụng IIS với các ứng dụng web trên nền .Net. IIS 7 thậm chí còn được gói trong khung làm việc nhỏ gọn hơn, nó sử dụng các ứng dụng .Net một cách trực tiếp bên trong lõi tiến trình IIS, không định tuyến các ứng dụng này với phần mở rộng của Internet Server Application Programming Interface.
IIS 7 thể hiện sự thống nhất của Active Server Pages .Net với IIS. Các dạng thẩm định ngày càng phong phú hơn về nội dung. Hiện giờ chức năng thẩm định không chỉ gói gọn trong một kiểu ứng dụng .Net nữa, mà còn mở rộng với cả dữ liệu lưu trữ trong cơ sở dữ liệu bạn cung cấp.
Thêm nữa, các chức năng kiểu URLScan được tích hợp trong IIS một cách tự nhiên. Nó sẽ lọc các yêu cầu web và xử lý yêu cầu nào có mục đích bất chính hay muốn khai thác lỗ hổng bảo mật. IIS 7 cũng có nhiều cải tiến trong dịch vụ Longhom Server, cung cấp nhiều bảng, làm cho hệ thống cũng như dịch vụ an toàn hơn.