Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 46 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
46
Dung lượng
786,77 KB
Nội dung
MỤC LỤC I Kiến trúc ứng dụng web Các thành phần hệ thống ứng dụng web 2 Giao thức HTTP, HTTPS Nguyên lý hoạt động WebServer .10 II Các thành phần ứng dụng web 13 URL – Uniform Resource Locator 13 URI – Uniform Resource Identifiers .14 HTML 15 Javascript 17 CSS .22 Cookie 24 Session 24 View-state 28 III Xác thực phân quyền người dùng hệ thống web .29 Xác thực (Authentication) gì? 29 Authentication thực nào? 31 Dấu hiệu nhận biết 31 Quá trình authentication 32 Cơ chế lưu giữ đăng nhập người dùng 33 Basic Authentication .34 Session-based Authentication 36 Token-based Authentication 38 Phân quyền (Authorization) gì? 42 So sánh Authentication với Authorization 42 I Kiến trúc ứng dụng web Các thành phần hệ thống ứng dụng web Trong phần này, làm quen đến khái niệm liên quan đến mơ hình kiến trúc hệ thống ứng dụng web Đây khái niệm tảng cần nắm vững phân biệt rõ trước tìm hiểu sâu hệ thống ứng dụng web Bao gồm: Máy chủ Trình duyệt Tên miền DNS Database Sharehosting – VPS 1.1 Máy chủ (Server) Máy chủ hệ thống nhằm mục đích đáp ứng lại yêu cầu cụ thể từ mạng máy tính, hay nói cách khác, máy chủ đóng vai trò cung cấp hay số dịch vụ mạng cụ thể Về bản, máy chủ máy tính thiết kế với nhiều tính vượt trội hơn, khả lưu trữ xử lý liệu lớn máy tính thơng thường nhiều Trên máy chủ cài đặt phần mềm dịch vụ để phục vụ cho máy tính khác truy cập để yêu cầu cung cấp dịch vụ tài nguyên Có thể nói, máy chủ tảng dịch vụ Internet Máy chủ web (Webserver) máy chủ mà cài đặt phần mềm dịch vụ phục vụ web, người ta gọi phần mềm web server Tất web server hiểu chạy file *.htm *.html Tuy nhiên web server lại phục vụ số kiểu file chuyên biệt chẳng hạn llS Microsoft dành cho file *.asp, *.aspx; Apache dành cho file *.php; Sun Java system web server SUN dành cho *.jsp, … 1.2 Trình duyệt (Web browser) Trình duyệt phần mềm ứng dụng dùng để truy xuất, biểu diễn chuyển nguồn thơng tin mạng hệ thống mạng tồn cầu (World Wide Web) Một nguồn thông tin nhận dạng Định danh tài nguyên (Uniform Resource Identifier - URI), trang web, phim - video, hình ảnh (images) mẫu thơng tin khác Ngồi việc sử dụng với mục đích để truy cập vào hệ thống mạng tồn cầu, trình duyệt cịn sử dụng để truy cập thơng tin cung cấp máy chủ web (web server) hệ thống mạng riêng tài liệu (files) đến hệ thống file (file system) Hoặc dùng để tiết kiệm tài nguyên thông tin cho hệ thống lưu trữ file Các trình duyệt hay sử dụng như: Google Chrome, Mozilla Firefox, Internet Explorer, Safari, Opera,… 1.3 Tên miền DNS Tên miền (Domain Name) nhận dạng vị trí máy tính mạng Internet thơng qua việc ánh xạ tương ứng tên miền với địa IP máy tính Việc nhận dạng thực thông qua Hệ thống tên miền (Domain Name System - DNS) Hệ thống tên miền (DNS) bao gồm loạt sở liệu chứa tên miền địa IP tương ứng với tên miền Các hệ thống tên miền mạng Internet có nhiệm vụ chuyển đổi tên miền sang địa IP ngược lại từ địa IP sang tên miền Hiện nay, giới hệ thống tên miền phân bố theo cấu trúc hình Tên miền cấp cao tên miền gốc (ROOT) thể dấu ‘.’ Dưới tên miền gốc có hai loại tên miền là: Tên miền cấp cao dùng chunggTLDs (generic Top Level Domains) com, edu, net,…; Tên miền cấp cao mã quốc gia – ccTLDs (country code Top Level Domains) vn, us, uk, … Hình 1: Sơ đồ hệ thống DNS Hệ thống tên miền giới ICANN (the Internet Corporation for Assigned Names and Numbers) Tổ chức quản lý mức cao hệ thống tên miền (mức ROOT), có quyền cấp phát tên miền mức cao Máy chủ DNS (DNS server) máy chủ chứa sở liệu tên miền địa IP tương ứng với tên miền Khi máy chủ DNS nhận yêu cầu (request) đề nghị phân giải tên miền tra địa IP tương ứng với tên miền yêu cầu Giá trị địa IP trả response máy chủ Hoạt động DNS: Khi người dùng (client) gõ địa web cần truy cập địa trình duyệt ấn phím enter, máy người dùng gửi request đến máy chủ DNS bao gồm tên miền (chính tên web mà người dùng vừa gõ) Khi máy chủ DNS thực việc phân giải tên miền này, trả địa IP tương ứng cho client IP nhận địa máy tính chứa ứng dụng web mà người dùng cần truy cập Như việc máy tính người tạo request tới địa IP để thực yêu cầu truy cập vào web Hình 2: Hoạt động DNS 1.4 Cơ sở liệu (Database) Cơ sở liệu tập hợp liệu có cấu trúc, có mối quan hệ liên kết với Các liệu lưu trữ quản lý hệ quản trị sở liệu (Database Management System - DBMS) Các ưu điểm mà Cơ sở liệu mang lại so với việc lưu trữ liệu file đơn là: Giảm trùng lặp thơng tin xuống mức thấp Do đảm bảo thơng tin có tính qn tồn vẹn liệu Đảm bảo liệu truy xuất theo nhiều cách khác Nhiều người sử dụng sở liệu Hệ quản trị sở liệu phần mềm hệ thống thiết kết để quản trị sở liệu Cụ thể, chương trình thuộc loại hỗ trợ khả lưu trữ, sửa chữa, xóa tìm kiếm thơng tin sở liệu Có nhiều loại hệ quản trị sở liệu khác nhau: từ phần mềm nhỏ chạy máy tính cá nhân hệ quản trị phức tạp chạy nhiều siêu máy tính Tuy nhiên, đa số hệ quản trị sở liệu thị trường có đặc điểm chung sử dụng ngôn ngữ truy vấn theo cấu trúc mà tiếng Anh gọi Structured Query Language (SQL) Các hệ quản trị sở liệu phổ biến nhiều người biết đến MySQL, Oracle, PostgreSQL, SQL Server, DB2, Infomix, v.v Phần lớn hệ quản trị sở liệu kể hoạt động tốt nhiều hệ điều hành khác Linux, Unix MacOS ngoại trừ SQL Server Microsoft chạy hệ điều hành Windows Ưu điểm hệ quản trị sở liệu: Quản lý liệu dư thừa Đảm báo tính quán cho liệu Tạo khả chia sẻ liệu nhiều Cải tiến tính tồn vẹn cho liệu Tuy nhiên, tồn nhược điểm đáng ý: Một hệ quản trị sở liệu tốt thường phức tạp Một hệ quản trị sở liệu tốt thường lớn chiếm nhiều dung lượng nhớ Giá khác tùy theo môi trường chức Một hệ quản trị sở liệu viết tổng quát cho nhiều người dùng thường chậm 1.5 Shared hosting, máy chủ ảo (VPS) Shared Hosting gói dịch vụ lưu trữ web site chuyên nghiệp có máy chủ với đường truyền tốc độ nhanh Shared hosting giải pháp phù hợp cho cá nhân doanh nghiệp muốn có website giới thiệu, giao dịch thương mại Internet cách hiệu tiết kiệm chi phí Các đặc tính Shared Hosting: Hỗ trợ nhiều ngơn ngữ lập trình với phiên khác Miễn phí tạo, quản lý hộp thư điện tử (Email) theo tên miền riêng Miễn phí tạo tên miền (Subdomain) Sử dụng nhiều tên miền cho website, băng thông lớn Quản lý nhiều website tài khoản hosting Quản lý đăng nhập, giám sát thông số băng thông dung lượng Sao lưu dự phịng khơi phục liệu Video, tài liệu, ebook hướng dẫn sử dụng minh họa rõ ràng & dễ hiểu Máy chủ ảo (Virtual Private Server – VPS) phương pháp phân chia máy chủ vật lý thành nhiều máy chủ ảo Mỗi máy chủ hệ thống hoàn toàn riêng biệt, có hệ điều hành riêng, có tồn quyền quản lý root restart lại hệ thống lúc Do vậy, VPS tránh khả bị công hack local Trên server chạy Shared Hosting có nhiều Website chạy chung với nhau, chung tài nguyên server, vậy, website bị công Ddos, botnet mạnh làm ảnh hưởng đến website khác server; đó, với server VPS, tài khoản VPS bị cơng tài khoản VPS khác server không bị ảnh hưởng VPS dành cho doanh nghiệp vừa trang web lớn mã nguồn nặng, chạy Shared Hosting không đáp ứng đủ nhu cầu Tuy nhiên, VPS đòi hỏi người sử dụng phải biết thêm số kiến thức quản lý cấu hình server, bảo mật Giao thức HTTP, HTTPS Phần tìm hiểu giao thức dùng để giao tiếp máy chủ trình duyệt giao thức HTTP HTTPS 2.1 Giao thức HTTP HTTP viết tắt từ HyperText Transfer Protocol (giao thức truyền tải siêu văn bản) HTTP xác định cách thơng điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh, video, file multimedia khác) định dạng truyền tải sao, hành động mà Web server (máy chủ Web) trình duyệt Web (browser) phải làm để đáp ứng request đa dạng Chẳng hạn, bạn gõ địa Web URL vào trình duyệt Web, request HTTP gửi tới Web server để lệnh hướng dẫn tìm trang Web yêu cầu kéo mở trình duyệt Web dạng response Nói cách khác, HTTP giao thức truyền tải file từ Web server vào trình duyệt Web để người dùng xem trang Web diện Internet.HTTP giao thức ứng dụng giao thức TCP/IP (các giao thức tảng cho Internet) Người ta gọi HTTP giao thức “phi trạng thái” (stateless) request thực thi cách độc lập, request sau khơng biết điều request đến trước Đây hạn chế, khiếm khuyết HTTP Phiên HTTP 1.1 So với phiên nguyên thủy (HTTP 1.0), phiên truyền tải trang Web nhanh giảm tình trạng tắc nghẽn giao thơng Web Giao thức HTTP gồm thành phần là: HTTP Request HTTP response HTTP Resquest gồm phần: Dịng đầu tiền request (đưa u cầu), ví dụ GET /images/logo.png HTTP/1.1, thể việc yêu cầu lấy file ảnh có tên logo.png nằm vị trí /images/logo.png Request Header Một dịng trống Phần nội dung thơng điệp có khơng Hình 3: Cấu trúc HTTP Request Hình cho thấy cấu trúc HTTP Requests Một HTTP Requests bắt đầu Request-Line Request-Line theo sau nhiều header body Để cụ thể hơn, hình bên cho thấy thông điệp http (dưới dạng văn bản) Internet Explorer Microsoft gửi người dùng truy cập vào trang www.ft.com Dịng Request-Line, tiêu đề thơng điệp tạo nên phần cịn lại văn Hình 4: HTTP request Hình phân tích cụ thể Request-Line, bao gồm phần: Method – phương thức thông điệp, URI, Version- phiên HTTP Hình 5: HTTP Request Line Phương thức (method) cụ thể xuất Request-Line Trong ví dụ phương thức GET Mục Request-Line Request-URI Request-URI chứa nguồn tài nguyên cần truy cập Trong ví dụ trên, Request-uri (/), yêu cầu nguồn tài nguyên gốc Phần cuối Request-Line phiên HTTP Như ví dụ cho thấy, HTTP phiên 1.1 HTTP Response gồm phần: Dòng chứa mã trạng thái (Status Code), ví dụ HTTP/1.1 200 OK, để thông báo yêu cầu người dùng thực thành công Response Header Một dịng trống Phần nội dung thơng điệp có khơng Hình 6: Cấu trúc HTTP Response Status-Line bắt đầu số phiên HTTP (trường hợp HTTP/1.1), sau mã trạng thái(trường hợp 200 OK) Hình 7: HTTP Response Line Hình 8: Mã trạng thái trả HTTP 2.2 Giao thức HTTPS/SSL HTTPS viết tắt HyperText Transfer Protocol Secure Giao thức kết hợp giao thức HTTP giao thức bảo mật SSL hay TLS cho phép trao đổi thông tin cách bảo mật Internet Giao thức HTTPS thường dùng giao dịch nhạy cảm, cần tính bảo mật cao Giao thức HTTPS sử dụng cổng mặc định 443, cung cấp dịch vụ hay đảm bảo tính chất sau thơng tin: Tin cậy (Confidentiality): sử dụng phương thức mã hóa để đảm bảo thơng điệp trao đổi client server không bị kẻ khác đọc Toàn vẹn (Integrity): sử dụng hàm băm để client server tin tưởng thơng điệp mà chúng nhận có khơng bị mát hay chỉnh sửa Xác thực (Authenticity): sử dụng chứng thực số (digital certificate) để giúp client tin tưởng server/website mà họ truy cập thực server/website mà họ mong muốn vào, khơng phải bị giả mạo Q trình giao tiếp client server thông qua HTTPS: Client gửi request cho secure page (có URL bắt đầu với https://) Server gửi lại cho client chứng thực (certificate) Client gửi certificate tới CA (mà ghi certificate) để kiểm chứng ... thông tin cung cấp máy chủ web (web server) hệ thống mạng riêng tài liệu (files) đến hệ thống file (file system) Hoặc dùng để tiết kiệm tài nguyên thông tin cho hệ thống lưu trữ file Các trình... yêu cầu trang web nhận lại Cụ thể bước máy tính người dùng thực sau: Giả sử người dùng gõ địa http://www.mysite.com/index.html địa trình duyệt Đầu tiên, trình duyệt web phân tách địa website làm... động ứng dụng web sau: Web Client Firewall Web server Web App DB Web App Web Server Firewall Firewal Web Client II Các thành phần ứng dụng web URL – Uniform Resource Locator Được dùng để tham