Bài giảng Lập trình Web: Kiến trúc Web
lượt xem 2
download
Bài giảng Lập trình Web được biên soạn nhằm cung cấp cho bạn kiến thức về kiến trúc web; Giao thức HTTP; Mô hình MVC. Để hiểu rõ hơn, mời các bạn tham khảo chi tiết nội dung bài giảng này.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình Web: Kiến trúc Web
- Kiến trúc Web
- Nội dung Kiến trúc web Giao thức HTTP Mô hình MVC
- Kiến trúc Web Kiến trúc Web Platform Platform • Hardware • Software modules & configurations • Choice of software platform (e.g., J2EE, .NET) Kiến trúc Web Application Mô hình hóa các tiến trình xử lý Trong một lĩnh vực cụ thể Module hóa và phức tạp
- Kiến trúc Web Platform Web platform dựa trên các thành phần sau TCP/IP HTTP HTML Mô hình kiến trúc Client/Server Là mô hình phức tạp… Các thành của network (firewall, proxy, load balancer) Các thành phần của intranet (web server, application server, database, web services)
- Mô hình Web (tầng ứng dụng) Các thành phần ngữ nghĩa Dịch vụ Web: Nội dung của Web động và có tính tương tác URLs/URIs PHP, Python, Java HTTP HTML HTML/XHTML HTTP for for display transport HTTP Server URL/URI for PHP, python etc. Clients addressing for interaction (browsers)
- Mô hình Web (các tầng giao thức) Client Web server HTTP message HTTP HTTP TCP segment TCP TCP Router Router IP packet IP packet IP packet IP IP IP IP Ethernet Ethernet SONET SONET Ethernet Ethernet interface interface interface interface interface interface Ethernet SONET link Ethernet
- Giao thức HTTP Những bước xử lý của browser http://origin/.. DNS query DNS server Client Origin Establish TCP connection server HTTP request HTTP HTTP response transaction Optional parallel connections HTML
- Giao dịch của HTTP Một giao dịch của giao thức HTTP là một request và một response (một phản hồi của một request nào đó) giữa web client và web server GET / HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/ jpeg, image/pjpeg, */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; Client MSIE 5.01; Windows NT) Origin Host: www.eurecom.fr Connection: Keep-Alive server HTTP/1.1 200 OK Date: Mon, 15 Jul 2002 08:49:00 GMT Server: Apache/1.3.26 (Unix) PHP/4.2.1 Last-Modified: Wed, 12 Jun 2002 08:49:49 GMT ETag: "2a-50ea-3d070b2d" Accept-Ranges: bytes Content-Length: 20714 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html ... HTML
- HTTP Message HTTP message ở dạng ASCII text, gồm: Một dòng yêu cầu Method Request-URI HTTP-Version (Request-Line) HTTP-Version Status-Code Reason-Phrase (Status-Line) Các trường Header field-name ":" [ field-value ] Một dòng trống Phần thân thông báo (tùy chọn)
- HTTP Request Ví dụ GET /foo.html HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/ jpeg, image/pjpeg, */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT) Host: www.eurecom.fr Connection: Keep-Alive GET /foo.html HTTP/1.1 — request "/foo.html" using HTTP version 1.1 Accept: — types of documents accepted by browser Accept-Language: — preferred language is english Accept-Encoding: — browser understands compressed documents User-Agent: — identification of browser (real type is IE 5.01) Host: — what the client thinks the server host is Connection: — keep TCP connection open until explicitly disconnected
- HTTP Response Ví dụ: HTTP/1.1 200 OK Date: Mon, 15 Jul 2002 08:49:00 GMT Server: Apache/1.3.26 (Unix) PHP/4.2.1 Last-Modified: Wed, 12 Jun 2002 08:49:49 GMT ETag: "2a-50ea-3d070b2d" Accept-Ranges: bytes Content-Length: 20714 Connection: close Content-Type: text/html ... HTTP/1.1 200 OK — document found (code 200); server is using HTTP 1.1 Date: — current date at the server Server: — software run by the server Last-Modified: — most recent modification of the document ETag: — entity tag (unique identifier for the server resource, usable for caching) Accept-Ranges: — server can return subsections of a document Content-Length: — length of the body (which follows the header) in bytes Connection: — the connection will close after the server's response Content-Type: — what kind of document is included in the response ... — document text (follows blank line)
- Client Methods GET DELETE Retrieve a resource from the Remove a resource from the server (static file, or server dynamically-generated data) OPTIONS (HTTP 1.1) HEAD Request other options for an Get information about a URI (methods understood by a resource (but not the actual server or allowed for a given resource) URI) POST TRACE (HTTP 1.1) Client provides some Ask proxies to declare information to the server, e.g., themselves in the headers through forms (may update (used for debugging) the state of the server) CONNECT (HTTP 1.1) PUT Used for HTTPS (secure Provide a new or replacement HTTP) through a proxy resource to put on the server
- HTTP Caching Dữ liệu Cache gần người dùng hơn Improves Web performance, reduces load on server Cache control directives in HTTP header (no cache, age, etc.) Cache Origin GET http://origin/.. server server Client 1 GET http://origin/.. 200 OK 200 OK Client 2 GET http://origin/.. 200 OK
- HTTP Client Authentication Cơ chế bảo mật đơn giản thông qua username/password Basic scheme: username:password base-64 encoded echo -n “user:password" | openssl base64 echo "c2NvdHQ6dGlnZXI=" | openssl base64 -d GET /private/ HTTP/1.1 Client Origin HTTP/1.1 401 Unauthorized WWW-Authenticate: Basic realm="secret" server Username: joe Password: ******** GET /private/ HTTP/1.1 Authorized: Basic SHY3GH7D3SH== HTTP/1.1 200 OK ... HTML
- Cookies Cho phép Web servers lưu trạng thái của Client Dùng cặp khóa – giá trị Client Thường dùng quản lý các Origin phiên giao dịch session GET http://origin/.. server Cookie có thể truy xuất bởi 200 OK một site/domain Set-Cookie: ABC=XYZ Server có thể định thời gian hết hạn GET http://origin/.. Client có thể từ chối cookie, Cookie: ABC=XYZ giới hạn kích thước, thời 200 OK gian…
- Mô hình: Model View Controller Mô hình được sử dụng trong Smalltalk (1979) Tách riêng giữa tầng dữ liệu và hiển thị Dễ dàng phát triển
- Mô hình: Model View Controller Model Tượng trưng cho dữ liệu trong phần mềm ứng dụng View Tầm nhìn hay khung nhìn (view) bao gồm các thành phần của giao diện người dùng Controller Quản lý sự trao đổi dữ liệu Các nguyên tắc nghề nghiệp trong các thao tác liên quan đến mô hình
- Model-View-Controller 2 cho Web Sự thích ứng của MVC đối với Web Kết nối không bền vững giữa client và server Thông báo những thay đổi Truy vấn lại server để phát hiện những thay đổi
- Client/Server (2-Layer) Client Client Server Web/App Server Services Database Dynamic HTML Static HTML
- Client/Server (2-Layer)
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình và thiết kế web bằng ngôn ngữ ASP: Phần 4 - GV. Dương Khai Phong
24 p | 145 | 34
-
Bài giảng Lập trình và thiết kế web bằng ngôn ngữ ASP: Phần 5 - GV. Dương Khai Phong
42 p | 146 | 29
-
Bài giảng Lập trình Web: Chương 2 - Ths. Trần Phi Hảo
54 p | 147 | 24
-
Bài giảng Lập trình web - Đoàn Phan Thái
95 p | 26 | 12
-
Bài giảng Lập trình Web ASP.NET: Chương 8- ĐH Lạc Hồng
24 p | 77 | 11
-
Bài giảng Lập trình Web: Bài 3 - Trần Quang Diệu
42 p | 84 | 10
-
Bài giảng Lập trình Web: Bài 5 - Trần Quang Diệu
22 p | 70 | 10
-
Bài giảng Lập trình Web: Bài 4 - Trần Quang Diệu
43 p | 85 | 10
-
Bài giảng Lập trình Web ASP.Net với C#: Chương 8 - Th.S Phạm Đào Minh Vũ
65 p | 86 | 10
-
Bài giảng Lập trình web: Javascript
22 p | 38 | 8
-
Bài giảng Lập trình Web: Chương 2 - Nguyễn Hoàng Tùng
15 p | 75 | 5
-
Bài giảng Lập trình web động với PHP/MySQL: Phần 1 - Tống Phước Khải (tổng hợp & biên dịch)
41 p | 50 | 5
-
Bài giảng Lập trình web nâng cao: Chương 2 - Trường ĐH Văn Hiến
27 p | 16 | 5
-
Bài giảng Lập trình web 1: Chương 3 - Nguyễn Huy Khánh
59 p | 70 | 3
-
Bài giảng Lập trình web: Tổng quan về lập trình web phía Server Asp.Net
56 p | 51 | 3
-
Bài giảng Lập trình web: Layout - Form
21 p | 26 | 2
-
Bài giảng Lập trình web 1: Chương 4 - Nguyễn Huy Khánh
23 p | 64 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn