Bộ môn : Công nghệ phần mềmKhoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 131 Chương 4 : Tổng quát về Lập trình Web MÔN LẬP TRÌNH MẠNG Chương 4 TỔNG QUÁT
Trang 1Bộ môn : Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Lập trình Mạng
Slide 131
Chương 4 : Tổng quát về Lập trình Web
MÔN LẬP TRÌNH MẠNG
Chương 4
TỔNG QUÁT VỀ
LẬP TRÌNH WEB
Trang 2Bộ môn : Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Lập trình Mạng
Slide 132
Chương 4 : Tổng quát về Lập trình Web
Trang 3Bộ môn : Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Lập trình Mạng
Slide 133
Giao thức HTTP
Chương 4 : Tổng quát về Lập trình Web
HTTP (HyperText Transfer Protocol)
Trang 4Bộ môn : Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Lập trình Mạng
Slide 134
Chương 4 : Tổng quát về Lập trình Web
Trang 5Bộ môn : Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Lập trình Mạng
Slide 135
<TABLE> </TABLE> Bảng thông tin 2 chiều
<TR> </TR> hàng thuộc bảng
<TH> </TH> phần tử header
<TD> </TD> phần tử dữ liệu
Mục ₫ích của các tag lệnh HTML cơ bản :
Miêu tả nội dung của trang Web cùng ₫ịnh dạng của từng nội dung
chèn nội dung ngoại trực tiếp vào trang Web (thay vì miêu tả trực tiếp)
- tag <img>
liên kết ₫ến nội dung ngoại và cho phép người dùng quyết ₫ịnh truy xuất nội dung ngoại - tag <a>
Chương 4 : Tổng quát về Lập trình Web
Trang 6Bộ môn : Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Lập trình Mạng
Slide 136
URL (Uniform Resource
Locator) là phương tiện giải
quyết ₫ồng thời 3 chức năng :
Xác ₫ịnh giao thức ₫ược
dùng ₫ể truy xuất tài
nguyên
Xác ₫ịnh ₫ịa chỉ máy
(thường là ₫ịa chỉ DNS)
chứa tài nguyên
Xác ₫ịnh vị trí cụ thể của
tài nguyên trên máy
(pathname)
Khái niệm URL
Chương 4 : Tổng quát về Lập trình Web
Trang 7Bộ môn : Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Lập trình Mạng
Slide 137
Chương 4 : Tổng quát về Lập trình Web
Trang 8Bộ môn : Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Lập trình Mạng
Slide 138
Source code HTML của trang Web cơ bản :
<HTML><HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=x-user-defined">
<TITLE>Trang Web demo các phần tử cơ bản</TITLE>
</HEAD>
<BODY>
<FONT face=VnTimes size=4>
<H1 align=center>Đây là tiêu ₫ề lớn cấp 1</H1>
<img style="width: 105px; height: 65px" height=431 src="Chateau.jpg" width=426 >
<BR>Đây là ₫oạn văn chữ thương, <EM>còn ₫ây là ₫oạn văn chữ nghiêng</EM>,
<STRONG>và ₫ây là ₫oạn chữ in ₫ậm, </STRONG>
<U>₫ây là ₫oạn chữ gạch dưới</U>.
<BR>Đây là 1 bảng dữ liệu 2 chiều 3x3 :
<TABLE cellSpacing=1 cellPadding=1 width="75%" border=1>
<TR>
<TD>phần tử 1,1</TD>
<TD>phần tử 1,2</TD>
<TD>phần tử 1,3</TD></TR>
Source code của trang Web cơ bản
Chương 4 : Tổng quát về Lập trình Web
Trang 9Bộ môn : Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Lập trình Mạng
Slide 139
<TR><TD>phần tử 2,1</TD> <TD>phần tử 2,2</TD> <TD>phần tử 2,3</TD></TR>
<TR>
<TD>phần tử 3,1</TD>
<TD>phần tử 3,2</TD>
<TD>phần tử 3,3</TD></TR>
</TABLE>
Đây là danh sách có ₫ánh số thứ tự :
<OL>
<LI>MÖc 1
<LI>MÖc 2
</OL>
Đây là danh sách dùng bullet :
<UL>
<LI><A href="tradthoai.asp">Liên kết ₫ến trang tradthoai.asp </A>
<LI><A href="isapiDBDTHOAI.HTM">Liên kết ₫ến trang isapidbdthoai.htm </A>
</UL> </FONT>
</BODY></HTML
Source code của trang Web cơ bản (tt)
Chương 4 : Tổng quát về Lập trình Web
Trang 10Bộ môn : Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Lập trình Mạng
Slide 140
Các tag HTML cơ bản chưa thể biến trang Web thành phần mềm tương tác trực quan với người dùng như các ứng dụng truyền thống trên Windows ⇒ cần 1 số tag lệnh mới ₫ể biến trang Web thành ứng dụng Trang Web nằm
ở Web server, nhưng khi cần nó sẽ ₫ược download về phía client ⇒ Thành phần phần mềm ₫ược nhúng vào trang Web có thể ₫ược xử lý trước ở
Server hay sau khi ₫ã ₫ược download về phía client ⇒ Có 2 công nghệ lập trình Web khác nhau :
lập trình Web chạy ở client và lập trình web chạy ở server
<OBJECT> </OBJECT> tạo 1 phần tử COM, ActiveX Control,
<APPLET code=URL > tạo 1 Applet Java
<SCRIPT> </SCRIPT> tạo 1 ₫oạn chương trình (thường là n hàm xử lý)
<FORM> </FORM> tạo 1 form giao diện người dùng và ₫ặc tả hàm xử lý form
(thường nằm ở máy server)
Chương 4 : Tổng quát về Lập trình Web
Trang 11Bộ môn : Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Lập trình Mạng
Slide 141
Hiện có 3 công nghệ lập trình Web chạy ở phía client khác nhau :
DHTML và script : mỗi tag <script> cho phép chèn nhiều hàm xử lý vào
trang Web, các hàm này ₫ược viết bằng ngôn ngữ script như javascript,
VBscript DHTML nới rộng nhiều tham số vào từng tag lệnh HTML, 1 trong các tham số nới rộng là ₫ịnh nghĩa hàm nào sẽ xử lý sự kiện nào trên phần
tử tương ứng.
Java Applet : mỗi tag <Applet> cho phép nhúng vào trang Web 1 ₫ối tượng
java ₫ặc biệt mà ta gọi là Applet Applet là 1 form chương trình viết bằng Java, nó có giao diện nào ₫ó tùy theo chức năng xử lý Khi ₫ược nhúng vào trang Web, nó sẽ chiếm không gian với vị trí và kích thước ₫ược qui ₫ịnh bởi tag <Applet> và sẽ tương tác với người dùng trực tiếp.
Microsoft object : tag <Object> cho phép nhúng vào trang Web 1 ₫ối
tượng COM hay ActiveX Cũng giống như Applet, ActiveX là 1 form chương trình viết bằng công nghệ Microsoft (VC++, VB, ), nó có giao diện nào ₫ó tùy theo chức năng xử lý Khi ₫ược nhúng vào trang Web, nó sẽ chiếm
không gian với vị trí và kích thước ₫ược qui ₫ịnh bởi tag <Object> và sẽ
tương tác với người dùng trực tiếp.
Chương 4 : Tổng quát về Lập trình Web
Trang 12Bộ môn : Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Lập trình Mạng
Slide 142
Các công nghệ lập trình Web chạy ở phía client khác nhau thường có các khuyết ₫iểm sau :
không tin cậy : phụ thuộc vào cấu hình máy client vốn rất ₫a dạng về
công suất tính toán, tình trạng nhiễm virus
không hiệu quả : tốn thời gian download phần tử phần mềm từ server
về client nhất là phần tử phầm mềm có dượng lượng lớn Nếu dữ liệu xử
lý nằm ở server thì phần mềm phải tốn nhiều thời gian truy xuất dữ liệu thông qua mạng
khó bảo mật : vì thành phần phầm mềm phải ₫ược download về máy
client nên client có thể tìm hiểu, nghiên cứu ₫ược thuật toán của phầm mềm, nhất là nó ₫ược viết bằng ngôn ngữ script ở dạng rõ (mã nguồn) Với các ₫ặc ₫iểm của lập trình Web chạy ở phía client, người ta thường chỉ dùng nó ₫ể xử lý sơ bộ quá trình tương tác và nhập liệu của người dùng,
còn ₫ể xử lý các vấn ₫ề còn lại, người ta dùng các công nghệ lập trình Web
ở Server
Chương 4 : Tổng quát về Lập trình Web
Trang 13Bộ môn : Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Lập trình Mạng
Slide 143
Hiện có rất nhiều công nghệ lập trình Web chạy ở phía server khác nhau :
CGI : là 1 phần mềm xử lý hàng lệnh truyền thống cho phép chuyển
hướng (redirection) thiết bị nhập/xuất chuẩn Mỗi lần Web server nhận yêu cầu từ client, nó chuẩn bị dữ liệu trong 1 file nhập, thiết lập file nhập
và file xuất thành 2 thiết bị I/O chuẩn của module CGI rồi kích hoạt CGI chạy Trong quá trình chạy, CGI nhập dữ liệu từ file nhập và xuất dữ liệu
ra file xuất do Server thiết lập Sau khi CGI chạy xong, Web server sẽ lấy dữ liệu từ file xuất và gởi về client
ISAPI Extension : mỗi thành phần xử lý ₫ược ₫óng gói thành 1 hàm và
₫ược ₫ể trong thư viện *.dll Mỗi lần Web server cần thành phần nào (do client yêu cầu), nó sẽ liên kết ₫ộng với hàm ₫ó và gọi hàm cục bộ ⇒ hệ thống không tốn chi phí quản lý process như CGI
ASP, JSP, PHP, : thành phần phần mềm là những ₫oạn script ₫ược
nhúng thẳng vào trang Web nhưng sẽ ₫ược server chạy trước, kết quả thường ₫ược thay thế vào vị trí của thành phần phần mềm trước khi gởi
về client
Chương 4 : Tổng quát về Lập trình Web
Trang 14Bộ môn : Công nghệ phần mềm
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Lập trình Mạng
Slide 144
khác :
ASP : dùng COM và *.dll.
JSP : dùng Servlet Java và JavaBean.
PHP : dùng các thư viện hàm API viết sẵn.
Chương 4 : Tổng quát về Lập trình Web