Fundamentals slide giới thiệu
Trang 1Web Programming
thangld@uit.edu.vn Khoa Mạng máy tính và Truyền thông
Fundamentals
Trang 2Nội dung
Thuật ngữ và khái niệm
Request và Response
HTML
Java Web application
Trang 3Thuật ngữ và khái niệm
HTTP: HyperText Transfer Protocol
Giao thức truyền thông giữa web browser và web server
Hỗ trợ truyền thông nhiều loại dữ liệu (MIME types - Multipurpose Internet Mail Extensions)
Client/Server (cơ chế request & response)
Hiển thị nội dung được thực hiện ở client
Nội dung hiển thị được cung cấp bởi server
Sử dụng giao thức TCP ở tầng Transport
HTTP1.0: stateless / HTTP1.1: supports
persistent connections
Trang 4Thuật ngữ và khái niệm
URI: Uniform Resource Identifier
URL: Uniform Resource Locator
URN: Uniform Resource Name
Trang Web (Web page)
Tài liệu siêu văn bản trên Web
Siêu liên kết (Hyperlink)
Văn bản, hình ảnh hoặc các thành phần khác trên Web dùng để kết nối người dùng đến các
dữ liệu khác trên Web
Trang 5Thuật ngữ và khái niệm
HTML: HyperText Markup Language
Ngôn ngữ dùng để định nghĩa cấu trúc và nội dung của các trang Web
Web Server: HTTP Server
Lưu trữ và phục vụ yêu cầu truy xuất đến các trang Web
Cung cấp nội dung HTML về browser
Eg Apache HTTP Server
Web Browser:
Phần mềm hiển thị nội dung các trang Web
Eg Internet Explorer, Mozila Firefox
Trang 6Request & Response
HTTP có cấu trúc đơn giản
Client gửi một yêu cầu (HTTP Request)
Server gửi thông tin phản hồi (HTTP Response)
Web
Browser
Web Server
(Servlet) Engine
Database
Java Application
WebService
HTTP Request
HTTP Response
JDBC/RMI/SOAP
Trang 7Request Method
Các kiểu HTTP Request
GET POST HEAD
GET, POST, HEAD được tất cả các Web server hỗ trợ
Các phương thức còn lại là tùy chọn
Trang 8 GET: yêu cầu + dữ liệu được gửi đến một thực thể được xác định bởi URI và nhận thông tin trả về Dữ liệu được đính kèm
vào URI.
POST: gửi yêu cầu + dữ liệu đến một thực thể được xác định bởi URI và nhận thông tin trả về Dữ liệu được gửi sau thông tin tiêu đề (information header)
Trang 9GET vs POST
Dữ liệu gửi lên server
là một phần trong URL
Dữ liệu có giới hạn về
kích thước
Form hoặc Hyperlink
để gửi dữ liệu đến
server
Dữ liệu không gắn vào
URL nên không hiển thị trên URL
Dữ liệu gửi có kích
thước không giới hạn
Thường dữ liệu được
gửi đến server thông qua HTML Form
Trang 10 HEAD: chỉ yêu cầu nhận header information theo URI được cung cấp.
PUT: chuyển trực tiếp các tài liệu lên server tại vị trí được xác định bởi URI
DELETE: xóa một thực thể trên server được xác định bởi URI
TRACE: dùng cho việc dò tìm lỗi trong quá trình chuyển tiếp các HTTP request
OPTIONS: dùng để xác định khả năng của server, hoặc các đặc điểm của một thực thể xác định
Trang 11 Request Headers cung cấp cho server thông tin về client
Loại client
Loại thông tin mà client có thể chấp nhận
User yêu cầu
Trang 12 Response Header cung cấp cho client
thông tin về tài liệu nhận được
Loại tài liệu
Kích thước
Hình thức encode của tài liệu
Thời điểm của lần chỉnh sửa cuối cùng của tài liệu
Trang 13HTML: cú pháp
Các luật quy định cách hiển thị các trang HTML
Các thành phần hiển thị được chỉ định bởi các thẻ (tag)
Tags – các chỉ thị dùng để định dạng, sử dụng các thuộc tính và giá trị để chỉ định cách trình bày dữ liệu trên trang Web
E.g <body bgcolor=“#ffffff”>
nháy đơn hoặc kép
Trang 14HTML: các loại tag
Có 2 loại tag:
Two-sided – có chứa dữ liệu
E.g <p> content </p>
One-sided – không chứa dữ liệu
E.g <br> or <br />
Trang 15Cấu trúc tài liệu HTML
1. <html>
2. <head> … </head>
3. <body> … </body>
4. </html>
Trang 16Java Web application
Servlets and JSPs
Servlet container
A container có thể triển khai thực thi nhiều web applications (webapps) độc lập
Mỗi Web application phải bao gồm một thư mục WEB-INF:
Trang 17Q&A