& wait” thông tin trên màn hình thông qua 1 chương trình web client gọi là Browser Ở khía cạnh khác, ta có Web Server, thiết bị phục vụ thông tin cho hàng ngàn web clients.. Web serv
Trang 1Apache Web Server
Trang 2& wait” thông tin trên màn hình thông qua 1
chương trình web client gọi là Browser
Ở khía cạnh khác, ta có Web Server, thiết bị phục
vụ thông tin cho hàng ngàn web clients Web
server chứa các trang Web, scripts, chương trình, các multimedia files và phục vụ chúng dùng HTTP, một giao thức dùng riêng cho việc truyền file đến
Trang 3C ác kỹ thuật chính của Web
Hệ thống địa chỉ, Universal Resource Locators
(URLs), cho phép tải về các loại thông tin khác nhau trên Internet
HyperText Transfer Protocol (HTTP) định nghĩa một ngôn ngữ (protocol) của việc làm thế nào để web clients và servers có thể trao đổi thông tin
multimedia
HperText Markup Language (HTML) cho phép
users biên soạn multimedia hypertext documents
TCP/IP protocol phục vụ ở mức thấp trên Internet
Trang 4Call Stack
Trang 5Vai tr ò Web Server
Web server chỉ có 1 ít vai trò trong data được hiển thị như thế nào trên client Ngoại trừ việc dùng
XML+ứng dụng Thông thường, web server truyền thông tin và browser phải dùng nó cho thích hợp.
Web server cũng có thể thực thi chương trình để sinh ra thông tin động Ta gọi là xử lý server-side
để sinh ra các trang Web tương tác (Khác với
JavaScript, sinh ra xử lý client-side xử lý tương tác web pages) Web server có thể tạo ra các ứng
dụng dùng các form Nó cho phép web server đóng vai trò 1 gateway để truy cập vào các tài nguyên
khác không thuộc Webserver như là local file
systems, database, mainframe data, v.v…
Trang 6C ác Web Servers Software
Java Web Server
Apache Web Server
Microsoft Personal Web Server
Microsoft Frontpage Web Server
Microsoft Internet Information Server
Trang 7Web Server Overview
Web Server không chỉ là 1 máy tính lớn nằm đâu đó trong phòng server với năng lực xử lý lớn và nhiều memory
Web Server = Computer Hardware +
Operating System + Web Server Software + Info Content
Với góc độ software engineer, ta sẽ tập trung vào software, do đó, Web Server là:
Web Server = Operating System + Web
Trang 8Các thành phần chính
Operating System: (Windows, UNIX, AS/400,
Mainframe) nơi mà web server chạy
Web Server Software là 1 deamon luôn đợi và phục vụ yêu cầu từ web client thông qua mạng.
Web server phải hiểu request từ clients Protocol được dùng bởi Web server là Hypertext Transfer Protocol
(HTTP) Khái niệm quan trọng nhất là TCP port Web
Server thường sử dụng port 80, tuy nhiên điều này có
thể thay đổi tuỳ theo admin cấu hình
Nội dung, là thông tin chứa trong web server Nó có thể
là thông tin trong localhost hoặc từ database hoặc từ các server khác
Trang 9Web Server truyền thống
Web Server truyền thống không hiểu nội dung của tài liệu Nói cách khác, tất cả tài liệu xem như là 1 stream of data từ server đến client
Thông thường, web server không biết hyper
links nằm trong documents, links chỉ là 1 phần của document từ cái nhìn của web server Khi user clicks vào hyperlink, browser sẽ request document khác từ hyperlink Do đó, browser
“quản lý" hyperlink thay vì web server
Ngoài ra, web server không biết về các images, movie hay voice pieces Tất cả các MIME được
Trang 10Document Tree
documents, images, và các thông tin khác
mà web server phải phục vụ được tổ chức thành 1 cây hay một dạng cấu trúc phân cấp Gốc của cây là điểm bắt đầu với các node con (hay node) theo sau nó Chú ý rằng Web tree thường khác với different local file system tree.
Trang 11Web Document Tree
Trang 12File System Tree
(Using mc)
Trang 13Information Type
Việc cố gắng xem 1 tập tin audio như là 1 image
sẽ không thành công, cũng như xem ASCII text như là image cũng thế Browser phải biết tàiliệu dạng gì để hiển thị cho đúng
Trước tiên, web server sẽ gửi một header thông tin và nói với client rằng loại thông tin nào đang đến
Content-type: application/postscript
Content-encoding: gzip
Ta gọi nó là Content-type MIME info
Trang 14Extension Contents
.html, htm HTML document
.txt Unformatted ASCII
.ps PostScript
.gif GIF image
.mpeg MPEG image
.wrl, vrml VRML scene description
.class Java applet
etc etc
Trang 15Giới thiệu HTTP
Trang 16 HTTP định nghĩa một ngôn ngữ
request-response đơn giản
Web client thiết lập kết nối với web server dùng HTTP
HTTP định nghĩa câu truy vấn và đáp ứng sẽ
Trang 17 Protocol version
Optional supplemental information
Trang 18HTTP method
GET: Trả về object; lấy thông tin
HEAD: Chỉ trả về thông tin của object, chứ
không phải là object
POST: Gửi thông tin đến để lưu lên server
Nhiều server không cho phép thông tin được POST lên ngoại trừ đó là input của 1 scripts
PUT: Gửi 1 phiên bản mới của 1 object đã có lên server Nhiều servers không cho phép
documents được PUT
DELETE: Xoá object Giống như PUT, method này bị cấm bởi hầu hết các servers
Trang 19 Date: Tue, 02 Dec 2003 14:39:26 GMT
Server: Apache/1.3.28 (Unix) PHP/4.3.3
Last-Modified: Fri, 24 Oct 2003 19:27:08 GMT
Trang 20Header Field Description
User-Agent: Loại browser, IE, Netscape
If-Modified-Since: Hỏi nếu object đuợc yêu cầu là mới Nhằm giảm chi phí đường
truyền
Accept: Kiều MIME (Mulitpurpose Internet Mail Extensions) và dạng của thông tin mà browser phải chuẩn bị để tiếp nhận
Authorization: User password hay các
kiểu authentication được yêu cầu
Trang 21Server Response
Một HTTP response bao gồm:
Dòng trạng thái chỉ ra thành công hay thất bại của request
Mô tả thông tin trong response
Thông tin thực sự được yêu cầu
Trang 22Status line có dạng
HTTP-version: Version của HTTP
Status-code: con số chỉ ra kết quả của request
Reason: Một câu giải thích ngắn về ý nghĩa của con số
Metadata (Metainformation) Chỉ cho
browser biết để hiển thị thông tin
Trang 23HTTP status code
200: Document follows The request succeeded The information requested follows
301: Moved Permanently The document has moved to a new URL
302: Moved Temporarily The document has moved temporarily to
401: Unauthorized The information is restricted; please retry with proper authentication
402: Payment Required The information requires paying a fee; please retry with proper payment (not used often)
Trang 24Quá trình hoạt động HTTPD
Trang 25Quá trình hoạt động HTTPD 2
Trang 26Quá trình hoạt động HTTPD 3
Trang 27Quá trình hoạt động HTTPD 4
Trang 28Quá trình hoạt động HTTPD 5
Trang 29Apache Web Server
Istalling Apache
Configure Apache Web Server
Edit the parameter ServerName in httpd.conf
Trang 30Config Apache Web Server
Editing httpd.conf
Using Webmin
Trang 31Common Gateway Interface
(CGI)
CGI làmột giao diện với Web server cho phép
cho phép bạn xử lý các thông tin mà người
Trang 32Tại sao dùng CGI ?
CGI cung cấp một giải pháp linh hoạt và đơn
giản để giải quyết các vấn đề này CGI định
nghĩa một chuẩn để chương trình gia tiếp với Web server
Giao tiếp CGI được xử lý bởi standard input và output, có nghĩa là nếu bạn biết làm thế nào để
in và đọc data dùng ngôn ngữ lâậ trình, bạn có thể viết một ứng dụng trên Web server.
Trang 33Cài đặt CGI trên Unix Server
Path to scripting languages like Perl, Tc
#!/usr/bin/perl
Configuration for Server
ScriptAlias /cgi-bin/ /usr/local/etc/httpd/cgi-bin AddType application/x-httpd-cgi cgi
Option Indexes FollowSymLinks ExecCGI
Trang 34Sample CGI program
print "<h1>CGI Environment</h1>\n";
foreach $env_var (keys %ENV) {
print "<B>$env_var</B> = $ENV{$env_var}<BR>\ n";
}
Trang 35Dùng SSI-Server Side Include
Khi server thực thi CGI, một trình biên dịch hay thông dịch sẽ thực chương trình của bạn
Chương trình CGI phải sinh ra một vài đáp ứng HTTP và sau đó tác vụ của HTML file server's là sinh ra đáp ứng và truyền những trang HTML được sinh ra ngược trở lại client/browser
Khi server trả về tập tin với SSI commands
trong nó, nó phải đọc từng dòng và tìm ra các
cú pháp lệnh đặc trưng SSI Đây gọi là parsing
Trang 37Kết quả của SSI
Trang 38Cú pháp của SSI
Mỗi lệnh SSI có cùng dạng sau:
<! #command cmd_argument="argument_value" >
page.
inserts the output of that command into a Web page
file was modified
Trang 39Apache Web Server
cho các browser client có thể
yêu cầu các kết nối HTTP Có
Trang 40CẤU HÌNH SỬ DỤNG APACHE
SERVER
cấp cho nhà quản trị nhiều lựa chọn tùy thuộc vào yêu cầu của hệ thống và người dùng trên hệ thống đó Có hệ thống chỉ cần cài đặt Apache cho mục đích là phục vụ cho nhu
cầu hiển thị thông tin hệ thống một cách tĩnh, một số hệ thống khác thì mong muốn cài đặt với mục đích là thương mại điện tử.
đây là một tập tin cấu hình hết sức quan trọng cho Apache server Nó cho phép nhà quản trị có thể cấu hình nhiều tùy chọn khác nhau, đồng thời nó cho phép nhà quản trị có
Trang 41Khởi động và dừng Apache
/etc/init.d/httpd start
/etc/init.d/httpd stop
/etc/init.d/httpd restart
Trang 42Cấu hình Apache cơ bản
Kiểm tra file /etc/httpd/conf/httpd.conf có các khai báo sau:
Trang 43Cấu hình User’s Personal
Trang 44Cấu hình miền Web ảo
Apache cho phép cấu hình nhiều domain trên cùng 1 server, listen trên cùng 1 port
Ưu điểm: Tận dụng được tài nguyên
trên Server Giảm chi phí quản trị, tăng cường khả năng web-hostting
Ví dụ minh hoạ: Dùng 1 server để cấu hình cho 3 website:
• http://www.hcmutrans.edu.vn
• http://tainguyen.hcmutrans.edu.vn
• http://ity.hcmutrans.edu.vn
Trang 45Các bước cấu hình
Cấu hình DNS server cho 3 miền trên cùng chỉ về 1 Host Trong file
hcmutrans.edu.vn.zone cần thêm các dòng sau:
www IN A 172.16.10.1 ity IN A 172.16.10.1 tainguyen IN A 172.16.10.1
Cấu hình Apache Web Server
Trang 46ServerName www.hcmutrans.edu.vn
Trang 47ServerName tainguyen.hcmutrans.edu.vn