ĐỒ ÁN:
Tìm hiểu về các Web server
thông dụng hiện nay
QUOCKHANH
DHTS CHƯƠNG I
TÌM HIỂU VỀ CÁC WEB SERVER THÔNG DỤNG
I. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH WINDOWS NT
1. Thế nào là một hệ điều hành mạng:
Mạng bao gồm các tài nguyên (máy trạm, máy in…) và các thiết bị truyền
thông (router, bridge). Với việc ghép nối các máy tính thành mạng thì cần thiết phải
có một hệ thống phần mềm có chức năng quản lý tài nguyên, tính toán và xử lý truy
cập một cách thống nhất trên mạng, hệ như vậy được gọi là hệ điều hành mạng. Mỗi
tài nguyên của mạng như file, đĩa, thiết bị ngoại vi được quản lý bởi một tiến trình
nhất định và hệ điều hành mạng điều khiển sự tương tác giữa các tiến trình và truy
cập đến các tiến trình đó.
Quản lý các tài nguyên: tập tin ở xa, nạp và chạy các App dùng chung, I/O
với các thiết bị mạng dùng chung, chỉ cấp phát CPU trong tiến trình NOS.
Căn cứ vào việc truy cập tài nguyên trên mạng mà người ta chia thực thể
trong mạng thành hai loại chủ và khách, trong đó máy khách (Client) truy cập được
vào tài nguyên của mình nhưng không chia xẻ tài nguyên của nó với mạng, còn máy
chủ (Server) là máy tính nằm trên mạng và chia xẻ tài nguyên của nó với người
dùng mạng.
dụng để kết nối những nhóm người sử dụng nhỏ, thường cùng làm việc trong một
văn phòng. Tuy nhiên với Windows NT server ta có một khả năng chống hỏng hóc
cao, những khả năng cung cấp dịch vụ mạng lớn và những lựa chọn kết nối khác
nhau, Windows NT server không hạn chế số người có thể thâm nhập vào mạng.
Với Windows NT server ta cũng có những công cụ quản trị từ xa vào mạng
mà có thể thực hiện việc quản trị những máy tính ở xa. Nó tích hợp với tất cả những
sơ đồ mạng BUS, STAR, RING và hỗn hợp.
Windows NT là hệ điều hành có sức mạnh công nghiệp đầu tiên cho số lượng
khổng lồ các máy tính IBM compatible, Windows NT là một hệ điều hành thực sự
dành cho người dùng, các cơ quan, các công ty xí nghiệp. Windows NT là một hệ
điều hành đa nhiệm, đa xử lý với địa chỉ 32 bit bộ nhớ. Nó yểm trợ các ứng dụng
của DOS, Windows, Win 32 GUI và các ứng dụng dựa trên ký tự. Windows NT
server là hệ điều hành mạng, đáp ứng cho mạng cục bộ (LAN) vừa đáp ứng cho
mạng diện rộng (WAN) như Intranet, Internet.
Windows NT server hơn hẳn các hệ điều hành khác bởi tính mềm dẻo, đa
dạng trong quản lý. Nó vừa cho phép quản lý mạng theo mô hình mạng phân biệt
(Client/Server) vừa quản lý theo mô hình mạng ngang hàng (Peer to Peer).
Windows NT server đáp ứng tốt nhất các dịch vụ viễn thông, một dịch vụ
được sử dụng rộng rãi trong tương lai.
Windows NT server cài đặt đơn giản, nhẹ nhàng và điều quan trọng nhất là nó
tương thích với hầu như tất cả các hệ mạng, nó không đòi hỏi người ta thay đổi
những gì đã có.
Cho phép dùng các dịch vụ truy cập từ xa, có khả năng phục vụ đến 64 cổng
truy nhập từ xa.
Đáp ứng cho các máy trạm Macintosh nối với Windows NT server.
Windows NT server yểm trợ mọi nghi thức mạng chuẩn như NETBUEI,
IPX/SPX, TCP/IP … và các nghi thức khác. Windows NT cũng tương thích với
những mạng thông dụng hiện nay như Novell netware, Banyan VINES và Microsoft
LAN Manager. Đối với mạng lớn và khả năng thâm nhập từ xa, sản phẩm Windows
NT server cũng cung cấp các chức năng bổ sung nhu cầu , khả năng kết nối với máy
nhiều thông tin theo một cách đặc biệt. Nó cho phép ngwời sử dụng thu thập thông
tin một cách dễ dàng và hiển thị chúng theo cách mà người sử dụng dễ lựa chọn
nhất.
Nếu bất ngờ người sử dụng hỏi bằng cách nào để tạo ra một trang Web. Thì
họ sẽ giáp mặt với hàng loạt các vấn đề có liên quan mà họ cần phải tìm hiểu trước
khi bắt đầu viết mã một trang HTML đầu tiên. Vấn đề quan trọng nhất và là lý do
cơ bản nhất là phải lựa chọn phần mềm server nào để sử dụng, với những thông tin
cơ bản nhất mà cuốn báo cáo này cung cấp, sự lựa chọn có lẽ là không khó.
Các vấn đề mà cần phải quan tâm khi lựa chọn một Web server để giao phó
công việc cho nó.
- Phần mềm trả tiền hay đươc miễn phí.
- Dễ cài đặt.
- Dễ cấu hình.
- Dễ mở rộng hoặc tuỳbiến một vài diện mạo của server.
- Các đặc trưng cơ bản.
- Sự phát triển liên tục.
- Hỗ trợ bảo mật.
- Mã nguồn sẵn có.
- Hỗ trợ công nghệ.
- Hỗ trợ nền tảng.
- Hỗ trợ đối với các phần mềm thứ ba.
IV. INTERNET INFORMATION SERVER (IIS):
IIS là một dịch vụ tuỳ chọn của Windows NT server cung cấp các tính năng
về Web site. Giải pháp phổ biến nhất của Microsoft cho một Web site là chạy IIS
trên nền Windows NT server.
IIS là một thành phần cơ bản để xây dựng một Internet hoặc Intranet server
trền nền Windows NT 4.0, Workstation và Win 95. IIS được tích hợp đầy đủ trong
Windows NT 4.0. Với một bộ đầy đủ IIS và Windows NT 4.0 người sử dụng sẽ
nhận được sự thuận tiện khi xây dựng một cơ chế bảo mật trên Windows NT server
và Windows NT File System (NTFS).
quá trình phát triển, phá huỷ và quản lý sự thi hành ở mức cao và các ứng dụng
server mạnh.
- MMC là một ứng dụng xuyên suốt phân chia các công cụ quản lý mà nó có
thể đưa ra các cách để quản trị các chương trình mạng, thêm vào đó MMC được kết
hợp với các sản phẩm của Microsoft như: Windows NT và tất cả các sản
Office.phẩm thuộc MS Back
Trong khi MMC tự nó không đưa cho người sử dụng bất kỳ một chức năng
nào được thêm vào cả mà chỉ cung cấp một môi trường chung cho snap-ins. Snap-
ins cung cấp môi trường quản trị ảo cho mỗi sản phẩm tương thích của nó. Snap-ins
được trình bày trong IIS như là một dịch vụ quản lý Internet (ISN). Khi IIS khởi
động, MMC cũng sẽ được khởi động và nạp vào snap-ins.
Trong tương lai tất cả các sản phẩm của MS Back Office bao gồm cả
Windows, Windows NT, các công cụ quản trị mạnh sẽ được chuyển sang MMC.
Một bộ IIS phải bao gồm đầy đủ các thành phần sau:
Content Index (Index Server).
FTP Publishing Service.
IIS Admin Service (Internet Service Manager snap-in).
Microsoft Network News Transfer Protocol (NNTP) Service.
Microsoft Simple Mail Transfer Protocol (SMTP) Service.
MSDTC (Microsoft Distributed Transaction Coordinator).
World Wide Web Publishing Service.
2. Quản lý IIS Web server:
+ HTTP server: Dịch vụ này tạo một WWW server công cộng. Server này tạo
nhiều trang HTML cho phép người sử dụng có thể chạy các ứng dụng CGI để thi
hành các công việc thêm vào ở server dựa trên các yêu cầu của client. Văn bản, hình
ảnh, âm thanh và các tài nguyên khác có thể được tải xuống WWW client.
+ Gopher Server: Dịch vụ này cung cấp các tài nguyên cho các Gopher client.
Server gửi các file, các danh sách thư mục và các mục chọn trình đơn khác đến
Gopher client.
+ FTP server: Dịch vụ này là một cập nhật đến server được cài đặt sẵn trên
vào từ trang Web.
- Thực hiện các câu lệnh SQL khác.
3. IIS WWW Server:
WWW là một bộ tập hợp các thông tin của client và server. Dữ liệu siêu văn
bản (hyper text) được chia xẻ bởi các server đang chạy phần mềm Web và được
truy cập bởi các client đang chay một phần mềm ứng dụng Web gọi là trình duyệt
Web.
WWW server cung cấp các thông tin phân tán và phần mềm, nhưng theo
hướng site hơn là hướng thư mục. Tài liệu Web là một tài liệu siêu văn bản được
viết bằng ngôn ngữ đánh dấu siêu văn bản (HTML), và với các thẻ đặc biệt để liên
kêt đến nội dung các tài liệu khác, chúng được gọi là siêu liên kết (hypelink). Với
siêu liên kết, xuất phát từ một trang tài liệu người sử dụng có thể đi đến mọi nơi trên
thế giới để xem những trang tài liệu khác chỉ bằng bước kích chuột vào liên kết mà
trình duyệt thể hiện.
WWW đi kèm với mô hình mạng client/server và sử dụng giao thức HTTP
giữa client và server. Tài liệu được chứa trên nhiều các server tự trị trên Internet và
được truy cập bởi HTTP client gọi là trình duyệt Web.
Để truy cập vào tài nguyên WWW, client phải:
+ Chạy một trình duyệt WWW chẳng hạn như Internet Explorer
(TM)
Masaic
(TM)
hoặc Netscape
(TM)
… Có vài WWW client có sẵn và chúng có thể được
tải xuống trực tiếp từ Internet.
+ Kết nối đến một WWW server bằng cách cung cấp một địa chỉ URL và gửi
yêu cầu HTTP. Điển hình như client yêu cầu một file (trang HTML, hình ảnh…)
hoặc thư mục đang hiển thị từ server, client cũng có thể gửi một ứng dụng đến
HTTP là một giao thức client/server nằm ở tầng ứng dụng của mô hình phân
tần Internet. Bằng việc mở rộng những phương thức hay dòng lệnh, người sử dụng
có thể sử dụng HTTP cho nhiều chức năng khác nhau, kể cả chức năng quản lý hệ
thống tên server và các đối tượng phân tán. HTTP không ngừng được cải tiến, dẫn
đến việc W3C được đưa ra vào năm 1994 đã phát triển thành một tiêu chuẩn chung
cho Web.
C) HOẠT ĐỘNG CỦA HTTP:
Các tiến trình xảy ra khi Client mở một tài liệu HTNL trên một WWW
server:
1/ Kết nối TCP: Mặc định HTTP server sẽ lắng nghe ở cổng 80. Trình duyệt
lựa chọn một cổng cục bộ (>1024) và thực hiện một kết nối TCP đến cổng một
server trước khi dữ liệu được gửi. Một HTTP server có thể lắng nghe ở một cổng
khác, tuy nhiên client cần phải cung cấp sô thứ tự cổng chính xác ở URL để có thể
kết nối.
2/ Yêu cầu phía Client:
Dòng yêu cầu: Chứa một câu lệnh yêu cầu gọi là phương thức và địa chỉ URL
của đối tượng được giải quyết yêu cầu bởi phương thức.
+ Phương thức: Được sử dụng để chỉ thị cho server thi hành một công việc
đặc biệt. Hầu hết các server bao gồm cả IIS chỉ hỗ trợ 3 phương thức bởi vì các
phương thức không được thi hành bởi hầu hết các trình duyệt.
GET: Phương thức này chỉ thị cho HTTP server gửi đến một đối tượng (các
Web site, file, hình ảnh…) bằng địa chỉ URL. Phương thức này chỉ dùng trên
HTTP client.
HEAD: Phương thức này cũng giống như GET, tuy nhiên nó chỉ trả về thông
tin header của đối tượng chứ không phải toàn bộ dữ liệu.
POST: Phương thức này được sử dụng bởi HTTP client để gửi một đối tượng
lên server.
Ví dụ: GET www.microsoft.com/HTTP
+ Trường tiêu đề của gói tin: Đây là một tập các trường mô tả client và kiểu
dữ liệu được gửi.
“server is not who it claims to be “ hoặc có thể là một “trojan” server.
Client/server xác nhận khóa chứng thực để sử dụng cho phiên này:
Nếu server trả lời lại thành công, client và server sẽ tạo ra một khóa bí mật ngẫu
nhiên (chỉ ra như một Master Key trong đặc tả SSL) từ việc trao đổi dữ liệu ngẫu
nhiên và phương thức mã hóa điển hình (chẳng hạn như RSA)
Giải mã dữ liệu với một khóa: Tất cả các dữ liệu gửi ngoài kênh SSL thì được
mã hóa với một khóa bí mật.
4. Tổ chức Web site:
Các Web site phải tự nhập một mình có nghĩa là nó tự hỗ trợ chính nó. Mỗi
Web site có thể di chuyển dến một máy khác để cân bằng việc tải xuống hoặc chỉ là
cho mục đích lưu thông trên mạng. Để làm được việc này, chúng phải tự hỗ trợ
mình, tự có các bảo mật riêng và các phạm vi ứng dụng riêng. Nếu người sử dụng là
một nhà cung cấp Internet, họ sẽ muốn thiết kế, di chuyển và có người sử dụng cập
nhật các Web site mà không quấy rầy đến các site khác trên cùng một máy.
Giao thức HTTP sử dụng các URL để yêu cầu các file từ Web server. Từ khi
hầu hết các file đều chứa trong hệ thống file, IIS cần chuyển một URL sang một tên
đầy đủ của file, IIS làm công việc này cho mỗi yêu cầu. Tuy nhiên, nó sẽ đưa lên
người quản trị để cấu hình server mà URL ánh xạ đến thư mục đó.
Để thiết kế cấu trúc hệ thống file trên một máy mà nó host nhiều Web site,
người sử dụng cần biết sự khác nhau giữa thư mục gốc (Home Dir), thư mục gốc ảo
(Virtual Root) và thư mục con (Sub Dir). Người sử dụng cũng cần biết khi nào thì
phải sử dụng chúng.
Home Dir:
Một URL chứa một tên miền đang yêu cầu thư mục chủ. Ví dụ, URL dưới đây
yêu cầu một file mặc định trong thư mục chủ:
http://www.myserver.com
Công việc của người quản trị cần phải làm là giúp đỡ Web server ánh xạ URL
đến thư mục chủ. Trong ví dụ trên, thư mục chủ của Web site này sẽ được ánh xạ
đến:
ảo có thể sử dụng để hoàn thành công việc này. Ví dụ, nếu phải chia xẻ hình ảnh, cả
hai Web site cùng có một thư mục ảo gọi là Graphic mà nó ánh xạ tới cùng một vị
trí trên ổ đĩa. Điều này sẽ không làm được với thư mục con. Sự cập nhật các file
trong thư mục Graphic sẽ ảnh hưởng đến cả hai site.
5. Các kiểu của bảng thuộc tính của dịch vụ WWW
Có 3 kiểu (hoặc còn gọi là lớp) khác nhau của bảng thuộc tính: Master,
Default và File. Người sử dụng có thể định cấu hình riêng cho từng site của mình
một trong 3 kiểu trên. Nhưng mọi sự thay đổi đều có ràng buộc với nhau, nó sẽ ảnh
hưởng đến các site con và các file.
Các loại bảng khác nhau của bảng thuộc tính sẽ có ích về khía cạnh phân cấp.
Với bảng thuộc tính Master nằm ở phân cấp cao nhất và bảng thuộc tính File nằm ở
cấp thấp nhất.
Master:
Các bảng thuộc tính Master quyết định các thuộc tính mặc định của các Web
site ảo đã tạo với sự thiết lập của IIS, mà các Web site này quyết định các thuộc tính
của các file đã được tạo ra trong mỗi Web site. Trong suốt quá trình cài đặt, IIS sẽ
nạp các thuộc tính mặc định cho các bảng thuộc tính Master. Mỗi site ảo mà người
sử dụng tạo ra sẽ kế thừa việc thiết lập này. Nếu họ thay đổi thiết lập ban đầu của
bảng thuộc tính Master, các Web site ảo con sẽ kế thừa các thiết lập mới này nhưng
các Web site ảo tạo trước đó sẽ giữ nguyên.
Default:
Quá trình cài đặt sẽ tạo ra các Web site với các thuộc tính mặc định của nó.
Những các file nào mà được tạo ra với Web site mặc định sẽ kế thừa các thiết lập
này.
File:
Các file tạo ra trong thư mục ảo sẽ kế thừa các thiết lập của thư mục ảo đó,
ứng với các file được tạo ra trong các trang Web mặc định sẽ kế thừa các bảng
thuộc tính của Web site đó. Sau khi một file được tạo ra thì các thuộc tính được cấu
hình ở mức file.
6. Bảng thuộc tính WWW:
http://www.microsofts.com dịch vụ IIS trả về một tài liệu mặc định trong thư mục
chủ trên www.microsofts server. Các thư mục chia xẻ khác vơi thư mục chủ được
tham chiếu đến thư mục ảo.
- Sử dụng ISM để chia xẻ thư mục:
Có hai hộp thoại hiện ra cùng với ISM khi ta cấu hình việc chia xe thư mục
WWW. Thẻ Directory, WWW hiện thị danh sách tất cả các cấu hình thư mục ảo
WWW. Nó cũng cho phép người sử dụng thiết lập các thuộc tính kềm theo cho tất
cả các thư mục chia xẻ.
+ Tài liệu mặc định:
File này được trả về khi người sử dụng mở một thư mục và không chỉ định
tên file. Điển hình cho file này là các file tên default.htm hoặc index.htm.
+ Thư mục đang duyệt:
Nếu người sử dụng mở một thư mục mà không chứa một tài liệu mặc định,
server sẽ trả về một danh sách các file trong thư mục.
+ Bảo mật:
IIS có nhiều chức năng bảo mật để giữ gìn server và dữ liệu của người sử
dụng khỏi những cuộc xâm nhập bất hợp pháp và hacker. IIS dựa vào sự thiết lập
của Windows NT (TM) và một hệ thống chứng nhận C2. Giữ an toàn cho IIS server
là một sự kết hợp của việc thiết lập bảo mật cho Windows NT và các chứng năng
bảo mật của dịch vụ IIS. Thêm vào đó nếu server kết nối với Internet, một bộ chọn
kênh (rooter) hoặc bức tường lửa có thể được thiết lập để cung cấp thêm độ an toàn.
8. Thư mục ảo:
Thư mục ảo là một thư mục phi vật lý chứa trong thư mục chủ của dịch vụ IIS
(WWW hoặc FTP) nhưng nó xuất hiện trong suốt đối với người sử dụng vào các
Web site này.
Thư mục ảo tăng khả năng linh hoạt cho việc người sử dụng quyết định lưu
trữ file ở đâu trên server của họ. Bằng cách sử dụng các thư mục ảo để có thể cập
nhật và truy cập dễ dàng nhất. Nó cũng cho phép tăng thêm dung lượng lưu trữ cho
Web site mà không cần phải tắt server.
Thư mục ảo có thế thiết lập cho cả dịch vụ WWW lẫn FTP chạy trên IIS. Thư
phần mở rộng của file chuyển thành các đối tượng có thể thực thi được bằng cách
đánh dấu vào các thư mục chứa chúng, chẳng hạn như các đối tượng mở rộng sau:
Active Server Pages (.ASP)
Các file Internet database connector (.idc)
CGI
Phần mở rộng ISAPI (.dll)
Perl Script (.pl)
Chú ý: bởi vì FrontPage không hỗ trợ đối với các vùng có nội dung không
liền nhau vì vậy không thể dùng thư mục ảo để trộn các vùng có nội dung không
liền nhau trong FrontPage.
9. Server ảo:
Nhiều tên miền có thể được host lên một máy đơn đang chạy IIS bằng chách
sử dụng server ảo.
Với nhiều server ảo người sử dụng có thể host nhiều site Web và site FTP lên
một máy đơn đang chạy IIS, điều này có nghĩa là không cần cấp một máy và một
phần mềm trọn gói cho mỗi site này. Người sử dụng đơn giản chỉ cần một địa chỉ IP
duy nhất cho mỗi tên miền được phân công đến server và bằng cách sử dụng Host
Header người sử dụng có thể sử dụng một địa chỉ IP cho nhiều tên miền. Tuy nhiên
chỉ site WWW mới có thể sử dụng Host Header. Server ảo cũng tập trung hóa việc
áp dụng và đơn giản hóa việc nâng cấp các phần mềm server.
Việc host nhiều server ảo lên cùng một máy có thể giảm bớt sự thi hành của
phía server nói chung và server ảo sử dụng Host Header đòi hỏi một giao thức
HTTP phiên bản 1 tương hợp với trình duyệt Web.
Host Header:
Khả năng của các Host Header của HTTP phiên bản 1 cho phép người sử
dụng kết hợp nhiều tên của máy Host với chỉ một địa chỉ IP. IIS sử dụng thông tin
Host Header để đổi địa chỉ các tên khác nhau của server ảo. Để sử dụng Host
Header người sử dụng phải chuyển đổi từ Host name thành địa chỉ IP sử dụng cả hệ
thống tên miền (DNS) server hoặc các file của các Host. Chức năng của file host là
hỗ trợ sự chuyển đổi từ các tên Host thành các địa chỉ IP.
đó đã bị mất hoặc bị thất lạc thì sau đó nó sẽ truyền lại gói tin đó.
Tính tuần tự: Tất cả các gói tin sẽ được đánh số và gửi cùng lúc, vì thế máy
nhận sẽ biết cách tổ chức dữ liệu nhận được.
- Checksum: Tất cả các gói tin được chứa trong một checksum để đảm bảo
tính toàn vẹn của dữ liệu. Nếu dữ liệu bị thất lạc ở một nơi nào đó trong suốt quá
trình truyền, checksum sẽ chỉ ra rằng dữ liệu nhận được không giống với dữ liệu
gửi.
a) Các thuộc tính của FTP trên IIS:
Mỗi site FTP mà người sử dụng tạo ra đều có một bảng thuộc tính riêng của
nó. Những cài đặt chung hoặc các thuộc tính cho mỗi site được hiển thị trong các
bảng thuộc tính này.
Dịch vụ FTP sử dụng 5 bảng thuộc tính để cấu hình cho các dịch vụ FTP, cụ
thể như sau:
FTP Site. (Site FTP)
Security Account. (Bảo mật tài khoản)