Giáo trình Lập trình Web - Chương 1: Giới thiệu dịch vụ WWW - Trần Công Án
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Lập trình Web - Chương 1: Giới thiệu dịch vụ WWW - Trần Công Án", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- giao_trinh_lap_trinh_web_chuong_1_gioi_thieu_dich_vu_www_tra.pdf
Nội dung text: Giáo trình Lập trình Web - Chương 1: Giới thiệu dịch vụ WWW - Trần Công Án
- CT428. Lập Trình Web Chương 1. Giới Thiệu Dịch Vụ WWW Giảng viên: Trần Công Án (tcan@cit.ctu.edu.vn) Bộ môn Mạng máy tính và Truyền thông Khoa Công Nghệ Thông Tin & Truyền Thông Đại học Cần Thơ 2013 – 2014
- [CT428] Chương 1. Giới thiệu WWW Nội Dung Giới thiệu Internet và dịch vụ WWW Các thành phần của dịch vụ WWW Giao thức HTTP Định vị tài nguyên trên WWW Các loại siêu văn bản TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 2
- [CT428] Chương 1. Giới thiệu WWW Giới thiệu Internet và dịch vụ WWW Mạng Internet là gì? Internet Là Gì? I là một mạng toàn cầu, nối kết các mạng máy tính sử dụng bộ giao thức (protocol) TCP/IP I tiền thân là mạng ARPANET của Bộ quốc phòng Mỹ (60s) I mục tiêu ban đầu là dùng để trao đổi tập tin (FTP) và thư điện tử (email) I được thương mại hoá vào Internet cuối những năm 80s I một số dịch vụ cơ bản khác trên internet: telnet, usenet, chat, WWW, . . . TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 3
- [CT428] Chương 1. Giới thiệu WWW Giới thiệu Internet và dịch vụ WWW Mạng Internet là gì? Các Đặc Điểm Cơ Bản Của Mạng Internet I [hầu như] không có sự kiểm soát tập trung (không có ai sở hữu toàn bộ mạng Internet) ⇒ các “mạng con” có thể hoạt động độc lập (tương đối) I được xây dựng dựa trên các chuẩn “mở” ⇒ tất cả mọi người đều có thể tạo ra các thiết bị hay dịch vụ cho Internet I các máy tính hoặc mạng máy tính có thể gia nhập hoặc rời mạng Internet một cách “tự do” I các dịch vụ Internet được tổ chức theo mô hình client/server TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 4
- [CT428] Chương 1. Giới thiệu WWW Giới thiệu Internet và dịch vụ WWW Mạng Internet là gì? Các Thuật Ngữ/Viết Tắt Thường Gặp I TCP/IP (Transmission Control Protocol/Internet Protocol): bộ giao thức Internet. I DNS (Domain Name System): hệ thống tên miền. I Các giao thức: HTTP (WWW), SMPT/POP/IMAP (email), FTP (file transfer), . . . I URL (Uniform Resource Locator): bộ định vị tài nguyên đồng dạng. I Server: chương trình cung cấp dịch vụ Internet (hay máy tính cài đặt các dịch vụ). I Client: chương trình sử dụng dịch vụ Internet (hay máy tính sử dụng để truy cập các dịch vụ Internet). TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 5
- [CT428] Chương 1. Giới thiệu WWW Giới thiệu Internet và dịch vụ WWW Mạng Internet là gì? Các Tổ Chức Quan Trọng Của Internet I Internet Engineering Task Force (IETF): quản lý giao thức chuẩn của Internet. I Internet Corporation for Assigned Names and Numbers (ICANN): quản lý hệ thống tên miền cấp cao nhất. I World Wide Web Consortium (W3C): quản lý chuẩn của dịch vụ WWW. TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 6
- [CT428] Chương 1. Giới thiệu WWW Giới thiệu Internet và dịch vụ WWW Giới thiệu dịch vụ WWW World Wide Web (WWW) Là Gì? I là một dịch vụ trên Internet, dùng để trao đổi hay chia sẻ thông tin dưới dạng siêu văn bản (hypertext) I được tạo ra bởi Tim Berners-Lee (CERN) vào đầu những năm 90s (1989-1991) I là hình thức trao đổi/chia sẻ thông tin tiện lợi và phổ biến trên Internet TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 7
- [CT428] Chương 1. Giới thiệu WWW Giới thiệu Internet và dịch vụ WWW Giới thiệu dịch vụ WWW Siêu Văn Bản, Trang Web, Website I Siêu văn bản: là các văn bản có chứa các siêu liên kết (hyperlink), cho phép: I liên kết đến các siêu văn bản hay các nguồn tài nguyên khác (văn bản, hình ảnh, âm thanh, . . . ) trên Internet I truy xuất đến các siêu văn bản khác theo cách không tuần tự I [thông thường] có phần mở rộng là .html hoặc .htm I Trang web (web page): là một siêu văn bản. I Website: là một hệ thống các trang web có liên quan với nhau (của một tổ chức hay cá nhân). VD: website Trường ĐHCT, website Khoa CNTT&TT, . . . TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 8
- [CT428] Chương 1. Giới thiệu WWW Các thành phần của dịch vụ WWW Các Thành Phần Của Dịch Vụ WWW WWW, cũng như tất cả các dịch vụ khác trên Internet, được tổ chức theo mô hình client/server (khách hàng/phục vụ) I Server: là một chương trình cung cấp dịch vụ trên Internet I “lắng nghe” yêu cầu từ các clients I xử lý và phản hồi các yêu cầu của các clients I server trong dịch vụ WWW được gọi là web server I Client: là một chương trình sử dụng dịch vụ trên Internet I gửi yêu cầu đến server I nhận và xử ký kết quả trả về (hiển thị cho người dùng, . . . ) I một client trong dịch vụ WWW được gọi là web browser TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 9
- [CT428] Chương 1. Giới thiệu WWW Các thành phần của dịch vụ WWW Web server Web Server I là một chương trình phục vụ yêu cầu về web (yêu cầu trang web) I lưu trữ các trang web I nhận yêu cầu về web từ web client (web browser) I xử lý và gửi kết quả (trang web) về cho web client I cổng (port) mặc định của các web server là 80 I một số web server thông dụng: Apache, Microsoft Internet Information Service (IIS) TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 10
- [CT428] Chương 1. Giới thiệu WWW Các thành phần của dịch vụ WWW Web browser Web Browser (Trình Duyệt Web) I là chương trình sử dụng dịch vụ WWW: I gửi yêu cầu trang web (của người dùng) đến web server I nhận và hiển thị trang web trả về từ web server I một số trình duyệt web thông dụng: Internet Explore, Chrome, Firefox, Safari, Opera, . . . web browser Internet web server 1. HTTP Request 2. HTTP Response TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 11
- [CT428] Chương 1. Giới thiệu WWW Giao thức HTTP Giao Thức HTTP I viết tắt của HyperText Transfer Protocol, là giao thức của dịch vụ WWW. I qui định cách thức “giao tiếp” giữa web server và web browser I bao gồm một tập các lệnh và “qui ước” chung giữa web server và web browser dùng để trao đổi dữ liệu I dữ liệu trao đổi chủ yếu là các siêu văn bản I trãi qua nhiều phiên bản: HTTP 0.9, HTTP 1.0, HTTP 1.1 TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 12
- [CT428] Chương 1. Giới thiệu WWW Giao thức HTTP Thông điệp yêu cầu (HTTP Request Message) Cấu Trúc Thông Điệp Yêu Cầu method space URL space version CRLF request line header field : value CRLF . . header fields . header field : value CRLF CRLF message body I method: phương thức yêu cầu I URL: đường dẫn đến đối tượng liên quan đến yêu cầu I version: HTTP version mà client muốn giao tiếp với server (1.0, 1.1) I header fields: mô tả các thông tin khác liên quan đến yêu cầu của client TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 13
- [CT428] Chương 1. Giới thiệu WWW Giao thức HTTP Thông điệp yêu cầu (HTTP Request Message) Các Phương Thức Yêu Cầu Cơ Bản I GET: yêu cầu một trang web từ server (chỉ định bằng URL). Đối số cung cấp cho web server (nếu có) sẽ được truyền thông qua URL. I POST: yêu cầu một trang web từ server (chỉ định bằng URL). Đối số cung cấp cho web server (nếu có) sẽ được truyền tách biệt với URL, đặt bên trong thông điệp yêu cầu (message body). I PUT: upload một trang web lên server, đặt tại vị trí được chỉ định bởi URL. TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 14
- [CT428] Chương 1. Giới thiệu WWW Giao thức HTTP Thông điệp yêu cầu (HTTP Request Message) Các Header Fields Thông Dụng I dùng để chỉ định một số ràng buộc đối với web server trong việc phục vụ yêu cầu của web browser ∗ I cú pháp của mỗi field: : [, ] I một số fields cơ bản (phân biệt chữ hoa, chữ thường): I Accept: loại media được chấp nhận bởi browser (text/html, image/jpeg) I Content-Length: kích thước của message body (bytes) I Content-Encoding: mã hóa của message body (gzip, . . . ) I Accept-Language: ngôn ngữ chấp nhận bởi browser (vn, en) TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 15
- [CT428] Chương 1. Giới thiệu WWW Giao thức HTTP Thông điệp đáp ứng (Response Message) Cấu Trúc Thông Điệp Đáp Ứng version space status code space status text CRLF status line header field : value CRLF . . header fields . header field : value CRLF CRLF message body I status: bao gồm 3 chữ số, cho biết trạng thái phục vụ yêu cầu của web browser I header fields: chứa thông tin về web server và các thông tin liên quan đến trang web được yêu cầu (tương tự thông điệp yêu cầu) TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 16
- [CT428] Chương 1. Giới thiệu WWW Giao thức HTTP Thông điệp đáp ứng (Response Message) Một Số Mã Trạng Thái Cơ Bản I 1xx: Thông tin – Yêu cầu đã được nhận, đang tiếp tục xử lý I 2xx: Thành công – Yêu cầu đã được nhận thành công, có thể xử lý hay đã được chấp nhận I 3xx: Chuyển hướng – Cần thực hiện thêm một số thao tác để server có thể hoàn tất phục vụ yêu cầu I 4xx: Lỗi client – Yêu cầu không hợp lệ hoặc không thể được đáp ứng I 5xx: Lỗi server – Server không thể đáp ứng yêu cầu TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 17
- [CT428] Chương 1. Giới thiệu WWW Giao thức HTTP Minh Họa Thông Điệp Yêu Cầu/Đáp Ứng request message GET /index.html HTTP/1.1 Host: www.abc.com Connection: Keep-Alive User-Agent: Chrome/31.0 Accept: image/jpeg, web server blank line (CRLF) (www.abc.com) CRLF (empty body) HTTP/1.1 200 OK Date: Sun, 01 Dec 2013 01:52:57 GMT Server: Apache/ web browser Content-Length: Content-Type: text/html blank line (CRLF) [nội dung trang web] response message TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 18
- [CT428] Chương 1. Giới thiệu WWW Định vị tài nguyên trên WWW Tài nguyên trên WWW Tài Nguyên Trên WWW I Tài nguyên trong dịch vụ WWW: I các trang web I dữ liệu đa phương tiện (multimedia) như: âm thanh, hình ảnh, . . . TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 19
- [CT428] Chương 1. Giới thiệu WWW Định vị tài nguyên trên WWW Bộ định vị tài nguyên đồng dạng (URL) Bộ Định Vị Tài Nguyên Đồng Dạng (URL) I Bộ định vị tài nguyên đồng dạng (Uniform Resource Locator - URL) được dùng để định vị các tài nguyên trên WWW (và Internet). I Một URL cơ bản của dịch vụ WWW có dạng như sau: giao thức đị a ch ỉ đường dẫn server I Tổng quát: :// [:port]/ TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 20
- [CT428] Chương 1. Giới thiệu WWW Định vị tài nguyên trên WWW Bộ định vị tài nguyên đồng dạng (URL) Cú Pháp URL Của Một Số Dịch Vụ Cơ Bản I HTTP: http:// [:port]/ I FTP: ftp://[uname[:pass]@] [:port][/path] I I I Email: mailto: I mailto:tcan@cit.ctu.edu.vn I File: file:// I file://192.186.1.106/Users/Shared/readme.txt I file:///c:/Windows/clock.avi TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 21
- [CT428] Chương 1. Giới thiệu WWW Định vị tài nguyên trên WWW Bộ định vị tài nguyên đồng dạng (URL) URL Tương Đối I là địa chỉ không đầy đủ tới một tài nguyên I chỉ bao gồm đường dẫn đến tài nguyên cần truy xuất, không có giao thức và địa chỉ host I giao thức và địa chỉ host được suy ra từ trang web chứa URL tương đối I ví dụ, trong một trang web có URL “ ”: I URL “membership.html” sẽ tương đương với: “ ” I URL “/Help/Webmaster.html” sẽ tương đương với: “ ” TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 22
- [CT428] Chương 1. Giới thiệu WWW Các loại siêu văn bản Các Loại Siêu Văn Bản I Web tĩnh (static web): I là những trang web có nội dung cố định, không thay đổi theo ngữ cảnh I có phần mở rộng là .html hoặc .htm I Web động (dynamic web): I là những trang web có nội dung thay đổi tùy theo ngữ cảnh (đối số kèm theo yêu cầu của người dùng) I nội dung được tạo ra bởi một ngôn ngữ script, bao gồm 2 loại: I client-side: mã script được thực thi bởi web browser I server-side: mã script được thực thi bởi web server (hay một application server) TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 23
- [CT428] Chương 1. Giới thiệu WWW Các loại siêu văn bản Web động Ngôn Ngữ Script Client-Side I được “nhúng” vào trong tập tin html I được thực thi bởi web browser sau khi nhận trang web về từ web server I đoạn script này có thể thay đổi nội dung của trang web tùy vào ngữ cảnh (context) I một số ngôn ngữ script client-side: JaveScript, ActionScript, . . . TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 24
- [CT428] Chương 1. Giới thiệu WWW Các loại siêu văn bản Web động Ngôn Ngữ Script Server-Side I là đoạn script dùng để tạo ra một trang web I được thực thi bởi web server (thường là bởi 1 application server) I sau khi script được thực thi, trang web tạo ra bởi script sẽ được web server gửi trả về cho web browser I một số ngôn ngữ script server-side: ASP(.NET), JSP, PHP, . . . application server (2’) (1) /login.php www.abc.com/login.php (2) (3) html file html file web browser (4) web server Internet (www.abc.com) database server TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 1. Giới thiệu WWW 25