Dịch vụ world wide web
- 16 trang
- file .pdf
TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
BỘ MÔN MẠNG MÁY TÍNH & TRUYỀN THÔNG
Web Service - Ubuntu
Trình bày: TS. NGÔ BÁ HÙNG
Email: [email protected]
Web Service – Ubuntu
Dịch vụ World Wide Web
http: hypertext transfer protocol htt
p req
client/server model ues
PC running htt t
pr
• client: browser that Explorer esp
on s
requests, receives, e
“displays” Web objects
st
• server: Web server sends req
u e
Server
objects in response to t tp o nse
h p running
res
requests tp NCSA Web
ht
http1.0: RFC 1945 server
http1.1: RFC 2068
Mac running
Navigator
Web Service – Ubuntu
Dịch vụ World Wide Web
http: TCP transport service:
• client khởi tạo một nối kết TCP đến server ở đang lắng
nghe ở cổng 80
• Server chấp nhận nối kết TCP từ Client aside
• Thông điệp theo giao thức HTTP được trao đổi giữa
client và server
• Nối kêt TCP bị đóng lại
http là giao thức không trạng thái “stateless”
• Server không lưu giữ thông tin nào về các yêu cầu
trong quá khứ của client
Web Service – Ubuntu
Cấu trúc request / HTTP
request line
(GET, POST, GET /somedir/page.html HTTP/1.0
HEAD commands) User-agent: Mozilla/4.0
Accept: text/html, image/gif,image/jpeg
header Accept-language:fr
lines
(extra carriage return, line feed)
Carriage return,
line feed
indicates end
of message
Web Service – Ubuntu
Cấu trúc request / HTTP
Hành động Mô tả
OPTIONS Yêu cầu thông tin về các tùy chọn hiện có.
GET Lấy về tài liệu được xác định trong URL
HEAD Lấy về thông tin thô về tài liệu được xác định trong URL
POST Cung cấp thông tin cho server
PUT Tải tài liệu lên server và đặt ở vị trí được xác định trong URL
DELETE Xóa tài liệu nằm ở vị trí URL trên server
TRACE Phản hồi lại thông điệp yêu cầu
CONNECT Được sử dụng bởi các proxy
Cấu trúc response / HTTP
status line
(protocol
status code HTTP/1.0 200 OK
status phrase) Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
header Last-Modified: Mon, 22 Jun 1998 …...
lines Content-Length: 6821
Content-Type: text/html
data data data data data ...
data, e.g.,
requested
html file
Web Service – Ubuntu
Cấu trúc response / HTTP
Mã Loại Lý do
1xx Thông tin Đã nhận được yêu cầu, đang tiếp tục xử lý
2xx Thành công Thao tác đã được tiếp nhận, hiểu được và chấp nhận được
3xx Chuyển hướng Cần thực hiện thêm thao tác để hoàn tất yêu cầu được đặt ra
4xx Lỗi client Yêu cầu có cú pháp sai hoặc không thể được đáp ứng
5xx Lỗi server Server thất bại trong việc đáp ứng một yêu cầu hợp lệ
Web Service – Ubuntu
Web Caches (proxy server)
Đáp ứng yêu cầu khách hàng mà không cần
truy cập đến server gốc origin
server
Cache tại browser / proxy
server htt
Proxy
pr server u e st
Client gởi đến Web proxy h
equ
e req
t
client tp s t t t p nse
• Nếu đối tượng có trong r esp
on s
h
p res
p o
cache: proxy server sẽ trả e htt
về đối tượng est
u
r eq se
• Ngược lại, proxy server h t tp
r es
p o n
yêu cầu đối tượng từ tp
ht
server gốc và gởi ngược
về cho client client
origin
server
Web Service – Ubuntu
Apache2 Web Server
• Là máy chủ web được sử dụng nhiều nhất trên các
hệ thống Linux hiện nay
• Được phát triển bởi Apache Group từ source của
NCSA http
• Phiên bản đầu tiên ra đời vào năm 1995
• Hỗ trợ công nghệ: HTTP 1.1, SSI (server Side Include),
PHP, SSL, …
• LAMP (Linux, Apache, MySQL and Perl/Python/PHP) bộ
phát triển ứng dụng web mã nguồn mở
Web Service – Ubuntu
Cài đặt Apache2
• sudo apt-get install apache2
• Thư mục cấu hình /etc/apache2:
●
apache2.conf: Tập tin cấu hình chính
●
ports.conf: Chứa các cổng TCP mà Apache2 nghe
●
conf.d: Thư mục chứa các files cấu hình tổng thể
●
envvars: Chứa các biến môi trường cho Apache2
●
httpd.conf: Tập tin cấu hình cũ, dùng thiết đặc các
cấu hình đặc biệt cho một số người dùng
Web Service – Ubuntu
Cài đặt Apache2 (tt)
●
mods-available: Thư mục chứa các files để cấu hình
và để nạp các môđun vào Apache2
●
mods-enabled: chứa các liên kết đến các files trong
mods-available. Khi một file cấu hình được link vào
thư mục này thì mođun đó sẽ được nạp khi Apache2
chạy
●
sites-available: Thư mục chứa các files cấu hình cho
các máy ảo của Apache2 cho các sites khác nhau
●
sites-enabled: link đến các files trong sites-
available, đó là các site được khởi tạo khi Apache2
chạy
Web Service – Ubuntu
Apache2 - Cấu hình mặc định
• Cung cấp một site mặc định (đã enable) được định
nghĩa bởi file /etc/apache2/sites-available/default
●
ServerAdmin webmaster@localhost
DocumentRoot /var/www Thư mục chứa
các trang web
Options FollowSymLinks
AllowOverride None
.....
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
BỘ MÔN MẠNG MÁY TÍNH & TRUYỀN THÔNG
Web Service - Ubuntu
Trình bày: TS. NGÔ BÁ HÙNG
Email: [email protected]
Web Service – Ubuntu
Dịch vụ World Wide Web
http: hypertext transfer protocol htt
p req
client/server model ues
PC running htt t
pr
• client: browser that Explorer esp
on s
requests, receives, e
“displays” Web objects
st
• server: Web server sends req
u e
Server
objects in response to t tp o nse
h p running
res
requests tp NCSA Web
ht
http1.0: RFC 1945 server
http1.1: RFC 2068
Mac running
Navigator
Web Service – Ubuntu
Dịch vụ World Wide Web
http: TCP transport service:
• client khởi tạo một nối kết TCP đến server ở đang lắng
nghe ở cổng 80
• Server chấp nhận nối kết TCP từ Client aside
• Thông điệp theo giao thức HTTP được trao đổi giữa
client và server
• Nối kêt TCP bị đóng lại
http là giao thức không trạng thái “stateless”
• Server không lưu giữ thông tin nào về các yêu cầu
trong quá khứ của client
Web Service – Ubuntu
Cấu trúc request / HTTP
request line
(GET, POST, GET /somedir/page.html HTTP/1.0
HEAD commands) User-agent: Mozilla/4.0
Accept: text/html, image/gif,image/jpeg
header Accept-language:fr
lines
(extra carriage return, line feed)
Carriage return,
line feed
indicates end
of message
Web Service – Ubuntu
Cấu trúc request / HTTP
Hành động Mô tả
OPTIONS Yêu cầu thông tin về các tùy chọn hiện có.
GET Lấy về tài liệu được xác định trong URL
HEAD Lấy về thông tin thô về tài liệu được xác định trong URL
POST Cung cấp thông tin cho server
PUT Tải tài liệu lên server và đặt ở vị trí được xác định trong URL
DELETE Xóa tài liệu nằm ở vị trí URL trên server
TRACE Phản hồi lại thông điệp yêu cầu
CONNECT Được sử dụng bởi các proxy
Cấu trúc response / HTTP
status line
(protocol
status code HTTP/1.0 200 OK
status phrase) Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
header Last-Modified: Mon, 22 Jun 1998 …...
lines Content-Length: 6821
Content-Type: text/html
data data data data data ...
data, e.g.,
requested
html file
Web Service – Ubuntu
Cấu trúc response / HTTP
Mã Loại Lý do
1xx Thông tin Đã nhận được yêu cầu, đang tiếp tục xử lý
2xx Thành công Thao tác đã được tiếp nhận, hiểu được và chấp nhận được
3xx Chuyển hướng Cần thực hiện thêm thao tác để hoàn tất yêu cầu được đặt ra
4xx Lỗi client Yêu cầu có cú pháp sai hoặc không thể được đáp ứng
5xx Lỗi server Server thất bại trong việc đáp ứng một yêu cầu hợp lệ
Web Service – Ubuntu
Web Caches (proxy server)
Đáp ứng yêu cầu khách hàng mà không cần
truy cập đến server gốc origin
server
Cache tại browser / proxy
server htt
Proxy
pr server u e st
Client gởi đến Web proxy h
equ
e req
t
client tp s t t t p nse
• Nếu đối tượng có trong r esp
on s
h
p res
p o
cache: proxy server sẽ trả e htt
về đối tượng est
u
r eq se
• Ngược lại, proxy server h t tp
r es
p o n
yêu cầu đối tượng từ tp
ht
server gốc và gởi ngược
về cho client client
origin
server
Web Service – Ubuntu
Apache2 Web Server
• Là máy chủ web được sử dụng nhiều nhất trên các
hệ thống Linux hiện nay
• Được phát triển bởi Apache Group từ source của
NCSA http
• Phiên bản đầu tiên ra đời vào năm 1995
• Hỗ trợ công nghệ: HTTP 1.1, SSI (server Side Include),
PHP, SSL, …
• LAMP (Linux, Apache, MySQL and Perl/Python/PHP) bộ
phát triển ứng dụng web mã nguồn mở
Web Service – Ubuntu
Cài đặt Apache2
• sudo apt-get install apache2
• Thư mục cấu hình /etc/apache2:
●
apache2.conf: Tập tin cấu hình chính
●
ports.conf: Chứa các cổng TCP mà Apache2 nghe
●
conf.d: Thư mục chứa các files cấu hình tổng thể
●
envvars: Chứa các biến môi trường cho Apache2
●
httpd.conf: Tập tin cấu hình cũ, dùng thiết đặc các
cấu hình đặc biệt cho một số người dùng
Web Service – Ubuntu
Cài đặt Apache2 (tt)
●
mods-available: Thư mục chứa các files để cấu hình
và để nạp các môđun vào Apache2
●
mods-enabled: chứa các liên kết đến các files trong
mods-available. Khi một file cấu hình được link vào
thư mục này thì mođun đó sẽ được nạp khi Apache2
chạy
●
sites-available: Thư mục chứa các files cấu hình cho
các máy ảo của Apache2 cho các sites khác nhau
●
sites-enabled: link đến các files trong sites-
available, đó là các site được khởi tạo khi Apache2
chạy
Web Service – Ubuntu
Apache2 - Cấu hình mặc định
• Cung cấp một site mặc định (đã enable) được định
nghĩa bởi file /etc/apache2/sites-available/default
●
ServerAdmin webmaster@localhost
DocumentRoot /var/www Thư mục chứa
các trang web
Options FollowSymLinks
AllowOverride None
.....