Địa chỉ IP: IP Address • Xác định một máy tính trong mạng dựa trên giao thức TCP/IP.. Máy khách: Client • Máy khai thác dịch vụ của máy chủ • Với mỗi dịch vụ, thường có các phần mềm chuy
Trang 2Phần 1 Tổng quan về thiết kế
& lập trình Web Phần 1 Tổng quan về thiết kế
& lập trình Web
Trang 31.1 Mạng, giao thức
các máy tính được kết nối với nhau nhằm trao đổi dữ liệu.
– Tập hợp các quy tắc được thống nhất giữa các máy tính trong mạng nhằm thực hiện trao đổi dữ liệu được chính xác
Trang 41.2 Địa chỉ IP: IP Address
• Xác định một máy tính trong mạng dựa trên giao thức TCP/IP Hai máy tính trong mạng có 2 địa chỉ
Trang 51.3 Tên miền (Domain Name)
• Là tên được “gắn” với 1 địa chỉ IP
• Máy chủ DNS thực hiện việc “gắn” (ánh xạ)
• Ở dạng văn bản nên thân thiện với con người
• Được chia thành nhiều cấp, phân biệt bởi dấu chấm (.) Đánh số cấp lần lượt từ phải sang trái bắt đầu từ 1
• Cấp lớn hơn là con của cấp nhỏ hơn
• Ví dụ: fit.hcmup.edu.vn gắn với 222.255.77.2 trong đó:
– vn: Nước Việt Nam (Cấp 1)
– edu: Tổ chức giáo dục (Cấp 2)
– hcmup: Tên cơ quan (Cấp 3)
– fit: đơn vị nhỏ trong cơ quan (Cấp 4)
• Đặc biệt: Tên localhost được gắn với 127.0.0.1
Trang 61.4 Máy chủ-máy phục vụ: Server
• Là máy tính chuyên cung cấp tài nguyên, dịch
vụ cho máy tính khác
• Thường được cài các phần mềm chuyên dụng
để có khả năng cung cấp
• Một máy chủ có thể dùng cho một hay nhiều
mục đích Tên máy chủ thường gắn với mục
Trang 71.5 Máy khách: Client
• Máy khai thác dịch vụ của máy chủ
• Với mỗi dịch vụ, thường có các phần mềm chuyên biệt để khai thác
• Một máy tính có thể vừa là client vừa là server
• Một máy tính có thể khai thác dịch vụ của chính nó.
Trang 81.6 Cổng dịch vụ: Service Port
• Là số [0; 65535] xác định dịch vụ của máy chủ
• 2 dịch vụ khác nhau chiếm các cổng khác nhau
• Mỗi dịch vụ thường chiếm các cổng xác định, ví dụ:
Trang 91.7 Địa chỉ tài nguyên: URL (Uniform Resource Locator)
• Tài nguyên: file trên mạng
• URL: Xác định vị trí và cách khai thác file
– Giao thức, cổng: Được trình duyệt đặt mặc định
– Tên file: được máy chủ đặt mặc định
protocol server name port directory/file name on the server
http://www.fit.hcmup.edu.vn:8111/~hienlth/test.php
Trang 10Các giao tác chuẩn trên Web
Browser
DNS server
URL
Origin server
1 DNS lookup
Trang 11• Trang web (Web page):
– Là một trang nội dung
– Có thể được viết bằng nhiều ngôn ngữ khác nhau nhưng kết quả trả về client là HTML
• Web site: Tập hợp các trang web có nội dung thống nhất phục vụ cho một mục
đích nào đó
• World Wide Web (WWW): Tập hợp các
web site trên mạng internet.
Trang 13– Người làm web tĩnh thường dùng các công cụ trực quan
để tạo ra trang web
• Web động :
– Khó phát triển hơn
– Tương tác mạnh
– Sử dụng nhiều ngôn ngữ khác nhau
– Thường phải viết nhiều mã lệnh
Dựa vào công nghệ phát triển, có 2 loại
Trang 16– Nội dung từng trang
– Liên kết giữa các trang
• Lập trình
– Cấu trúc thư mục
– Các module dùng chung
– …
Trang 19– Web tĩnh: Tính theo các kiểu trang
• Trang đơn giản: 70 – 150.000đ/trang
• Trang hiệu ứng hình ảnh tốt: 150 – 400.000đ/trang
– Web động: Tính theo các mục, các khối chức năng
• Thiết kế CSDL
• Các chức năng phía user: đưa tin, phân loại, tìm kiếm…
• Các chức năng phía Admin: Đăng nhập, xem/thêm/sửa/xóa tin bài, báo cáo, thống kê…
• Từ 5 triệu trở lên (Thông dụng: 10-30 triệu)
Trang 20hệ thống tên miền bên ngoài
• Có tự Host website của mình không?
• Để phục vụ website, có các phương án dành cho?
– Nhân sự
– Kinh phí
– Cơ chế tổ chức, hoạt động
– Quy trình làm việc
Trang 214.2 Đăng ký tên miền
• Xác định tên
– Tên tiếng Việt
– Tên giao dịch tiếng Anh
– Tên viết tắt
• Xác định nơi đăng ký
• Đăng ký tên miền càng sớm càng tốt
– Thủ tục đơn giản, nhanh chóng
– Kinh phí rẻ
• Việt Nam: 450.000 – 480.000/năm
• Nước ngoài: 8 – 12USD
Trang 224.3 Hosting
• Xác định môi trường vận hành của website
– Máy chủ Windows
• Support ASP, PHP…, SQL Server, MySQL…
• Đắt hơn máy chủ Linux
– Máy chủ Linux
• Support PHP, JSP…, MySQL…
• Rẻ hơn máy chủ Windows
• Xác định dung lượng thực tế của website, khả năng sẽ mở rộng
• Xác định băng thông , các dịch vụ đảm bảo an toàn, an ninh, backup dữ liệu…
22
Trang 234.4 Duy trì website
• Cập nhật thông tin
– Web tĩnh:
• Upload Webpage thông qua Web Browser
• Upload Webpage thông qua FTP program (Cute FTP, FTP Voyager,… )
– Web động
• Form cập nhật CSDL nếu Site có kết nối CSDL
Trang 244.5 Phát triển website
• Các chiến lược marketing
– Sử dụng thư điện tử
– Đầu tư quảng cáo 1 đợt trên các
phương tiện truyền thông (Báo, đài,
Tivi…)
– Quảng cáo trên mạng xã hội (!!! luật !!!)
• Liên kết với các site cùng loại
– Trao đổi banner
– Giới thiệu lẫn nhau.
Trang 25• Vietnam Searchengine: Panvietnam, vinaseek…
• Global Searchengine: google, altavista, hotboot…
– Nâng cao vị trí của Website trong hệ thống xếp hạng
Website thế giới
• Google rank (the important of website: 1-10)
• Alexa rank: Traffic ranking of website.
• Nâng tầm phát triển Website
– Tự động hoá dần các chức năng của Website
– Biến Website thành một môi trường kinh doanh thực sự hiệu quả 24/24 trên Internet
Trang 26Phần 2: HTML
Trang 27Nội dung phần 2
1 Ví dụ đầu tiên về trang web
2 Giới thiệu chung về HTML
Trang 291 Ví dụ đầu tiên về trang web – Cấu trúc
1 Ví dụ đầu tiên về trang web – Cấu trúc
• Thử nghiệm:
– Mở trình duyệt web (IE)
– Vào File/Open, chọn file Welcome.HTML vừa ghi
– Nhấn OK → Có kết quả như hình bên
• Thay đổi:
– Quay lại Notepad, sửa lại nội dung trang web rồi ghi lại
– Chuyển sang IE, nhấn nút Refresh (F5) →
Trang 302 Giới thiệu chung về HTML
ngôn ngữ đánh dấu siêu văn bản, là ngôn ngữ dùng để viết trang web
• Do Tim Berner Lee phát minh và được
thành chuẩn năm 1994.
Trang 31Lịch sử phát triển
31
Trang 333 Đặc điểm của HTML
• Một thẻ có thể có các thuộc tính nhằm bổ sung tác dụng cho thẻ
• Mỗi thuộc tính có tên thuộc tính (tên_TT)
– Thẻ đóng của thẻ có thuộc tính vẫn viết bình thường
Trang 35Ví dụ
Trang 36• Có thể soạn thảo file HTML bằng bất cứ
(Notepad, EditPlus, Notepad++, …)
• Trình hỗ trợ soạn thảo HTML (trực quan, code):
– Microsoft FrontPage
– Adobe Dreamweaver CS5/CS6
– …
Trang 374 TRÌNH BÀY TÀI LIỆU TRONG HTML
4.1 Thẻ thể hiện cấu trúc tài liệu
Trang 384.1 Thẻ thể hiện cấu trúc tài liệu
Trang 394.1 Thẻ thể hiện cấu trúc tài liệu
• < html></html>: Định nghĩa phạm vi của văn bản HTML
• <head></head>: Định nghĩa các mô tả về trang HTML Thông tin trong tag này không được hiển thị trên trang web
• <title></title>: Mô tả tiêu đề trang web
• <body></body>: Xác định vùng thân của trang web, nơi chứa các thông tin
Trang 40Các thẻ HTML cơ bản – Thẻ
Doctypes
Các thẻ HTML cơ bản – Thẻ
Doctypes
• Xuất hiện đầu trang web.
• Giúp Web browser biết trang web được viết với ngôn ngữ đánh dấu là gì, version bao nhiêu,…
• Thường tham chiếu đến 1 một DTD (Document Type Definition)
Trang 414.1 Thẻ thể hiện cấu trúc tài liệu
BACKGROUND
Đặt một ảnh nào đó làm ảnh nền (background) cho văn bản Giá trị của tham số này (phần sau dấu bằng) là URL của file ảnh Nếu kích thước ảnh nhỏ hơn cửa sổ trình duyệt thì toàn bộ màn hình cửa sổ trình duyệt sẽ được lát kín bằng nhiều ảnh.
BGCOLOR
Đặt mầu nền cho trang khi hiển thị Nếu cả hai tham số BACKGROUND và BGCOLOR cùng có giá trị thì trình duyệt
sẽ hiển thị mầu nền trước, sau đó mới tải ảnh lên phía trên.
TEXT Xác định màu chữ của văn bản, kể cả các đề mục.
Thuộc tính của Body
Trang 434.2 Thẻ META
• <META NAME="description" content="">
• <META NAME="keywords" content="">
• <META NAME="author" CONTENT="author's name">
Trang 444.2 Thẻ META
Tự động chuyển hướng trang web
• Tự động chuyển hướng trang web sang
gian t (tính theo giây)
• Cú pháp
<head>
<META HTTP-EQUIV=“refresh” CONTENT=“t; URL=url”>
</head>
Trang 454.3 Thẻ định dạng khối tài liệu
Trang 46align, class, dir, id, lang,
nowrap, onClick, onDblClick,
onKeyDown, onKeyPress, onKeyUp,
onMouseDown, onMouseMove,
onMouseOut, onMouseOver, onMouseUp, title
Trang 47– Hỗ trợ thuộc tính start cho
phép chọn giá trị khởi đầu
Trang 484.4 Thẻ định dạng danh sách
Trang 494.4 Thẻ định dạng danh sách
Trang 50<SMALL> </SMALL>
In chữ nhỏ hơn bình thường bằng cách giảm kích thước font hiện thời đi một Tương tự như thẻ BIG
<SUP> </SUP> Định dạng chỉ số trên (SuperScript)
<SUB> </SUB> Định dạng chỉ số dưới (SubScript)
<FONT> </FONT>
Chọn font chữ, size hoặc color, kích thước có thể là tuyệt đối (nhận giá trị từ 1 đến 7) hoặc tương đối (+2,-4 ) so với font chữ hiện tại.
Trang 51• name: tải trang web vào frame có tên name
• _blank: tải trang web vào cửa sổ mới
• _parent: tải trang web vào cửa sổ cha của nó
• _self: tải trang web vào chính cửa sổ hiện hành
• _top: tải trang web vào cửa số cao nhất
Trang 524.6 Liên kết
• Lưu ý:
– Liên kết với địa chỉ e-mail thì đặt
href=“mailto:địa_chỉ_e-mail”
– Thực hiện lệnh JavaScript khi kích chuột vào thì đặt
href=“javascript:lệnh”
• Liên kết đến trang khác
– Thuộc tính href=“url của trang khác”
– Khi click vào liên kết sẽ chuyển đến trang khác
• Liên kết trong cùng một trang
– Thuộc tính href=“#id của thẻ trong trang”
– Khi click và liên kết sẽ chuyến đến thẻ có “id” đượcghi trong thuộc tính id của thẻ
Trang 534.6 Liên kết
• Địa chỉ URL phân làm 2 loại :
– Địa chỉ tuyệt đối: Là vị trí tuyệt đối so với Mạng Internet
– Địa chỉ tương đối: Là vị trí tương đối so với trang web hiện hành đang chứ liên kết.
Trang 544.7 Bảng - Cấu trúc của 1 bảng
chứa dữ liệu của bảng.
Trang 554.7 Bảng
1 <table>…</table> Khởi tạo 1 bảng
2 <tr>…</tr> Tạo 1 dòng (thẻ <tr> phải nằm trong
Trang 564.7 Bảng
• Thuộc tính của thẻ <table>:
– border=“số”: kích thước đường viền Đặt bằng 0 (mặc định): không có đường viền
– width=“rộng”, height=“cao”: độ rộng và độ cao của bảng
Có thể đặt theo 2 cách:
• n%: Quy định độ rộng, cao là n% độ rộng, cao của đối tượng chứa bảng.
– cellspacing=“số”: Khoảng cách giữa 2 ô liên tiếp
– cellpadding=“số”: Khoảng cách từ góc ô đến nội dung ô
– bgcolor=“màu”: màu nền của bảng
– background=“địa_chỉ_ảnh”: Địa chỉ của file ảnh làm nền cho bảng, sử dụng đường dẫn tương đối nếu có thể
Trang 574.7 Bảng
• Thuộc tính của thẻ <td>,<th>:
– bgcolor =“ màu ”: màu nền của ô
– background =“ địa_chỉ_ảnh ”: Địa chỉ của file ảnh làm nền cho ô Nên sử dụng đường dẫn tương đối nếu có thể.
– width =“ rộng ”, height =“ cao ”: độ rộng và độ cao của ô Có thể đặt theo 2 cách:
• n: (n là số) Quy định độ rộng, cao là n pixels
• n%: Quy định độ rộng, cao là n% độ rộng, cao của bảng.
– align =“ căn_lề ”: cách căn chỉnh dữ liệu trong ô theo chiều ngang: left, right, center, justify.
– valign =“ căn_lề_đứng ”: cách căn chỉnh dữ liệu trong ô theo chiều đứng: top, middle, bottom.
– colspan =“ số ”: số cột mà ô này chiếm (mặc định là 1)
– rowspan =“ số ”: số dòng mà ô này chiếm (mặc định là 1)
– nowrap : nếu có sẽ làm cho dữ liệu trong ô không tự xuống dòng
Trang 58• Dấu nhỏ hơn (<) và lớn hơn (>): < >
• Dấu ngoặc kép (“): "
Trang 605.1 Hình ảnh
• Các thuộc tính của tag <img>:
– align: left, right, center
– src : Đường dẫn đến file hình ảnh
– alt : Chú thích cho hình ảnh
– position: Top, Bottom, Middle
– border : Độ dày nét viền quanh ảnh (default=0)
– width: độ rộng
– height: độ cao
• Đặt ảnh nền cho trang web
– <body background=‘Image Path’>
Trang 615.2 Âm thanh
• < bgsound > : Không có tag đóng
• Thuộc tính của tag <bgsound>
– src : Đường dẫn đến file âm thanh
Trang 62– src : địa chỉ của tập tin video
• <embed width=400 height=300
src=“ /video/clock.avi”>
Trang 63– src : địa chỉ của tập tin flash
• <embed width=400 height=300
src=“ /flash/adam.swf”>
Trang 65Lưu ý
• Một số thẻ về Multimedia trình bày riêng
tiếp)
65
Trang 666 FORM TRONG TRANG WEB
1 Giới thiệu về Form(GT, tag, Vd)
2 Các thành phần của Form
3 Một số thuộc tính của form và input
4 Gởi dữ liệu bằng phương thức
POST/GET
5 Thẻ <marquee>
Trang 676.1 Giới thiệu về Form
• Được dùng để nhận dữ liệu từ phía người dùng
• Giúp gởi yêu cầu của người dùng đến trang xử
Trang 686.1 Giới thiệu về Form
• Là container chứa các thành phần nhập liệu khác.
• Các thuộc tính của </FORM>
– NAME: tên FORM
– ACTION: chỉ định trang web nhận xử lý dữ liệu từFORM này khi có sự kiện click của button SUBMIT
– METHOD: Xác định phương thức chuyển dữ liệu(POST,GET)
Trang 70• Multiple-line text field
• Hidden Text field
• Pull-down menu (Combo box, List box)
• Check box
• Radio button
• File Form Control
• Submit Button, Reset Button, Generalized Button
• Label
• Field Set
• Tiện ích form
Trang 71<input type=“ text ” name=“ txtName ”
value=“ This is one line text with 301 ”
size=“ 20 ” maxlength=“ 30 ”>
Trang 736.2 Các thành phần của Form – Multiline text
• Dùng để nhập văn bản nhiều dòng
• Ví dụ:
<textarea cols=" 20 " rows=" 5 " wrap=" off ">
This is a text on multiline.
</textarea>
Trang 76< option value="WM10">Window Media 10</option>
< option value="JA9">Jet Audio 9</option>
</optgroup>
<optgroup label="Operation System">
< option value="WXP">Windows XP</option>
< option value="WXPSP2">Windows XP SP2</option>
< option value="WVT">Windows Vista</option>
Trang 77Check box group: <br>
Anh văn: < input type=" checkbox " name=" Languages[ ] " value="En"><br>
Hoa: < input type=" checkbox " name=" Languages[ ] " value="Chz" checked><br> Nhật: < input type=" checkbox " name=" Languages[ ] " value="Jp"><br>
</body>
</html>
Trang 786.2 Các thành phần của Form – Radio
<html>
<body>
Radio Button Group : <br>
Nam: < input type=" radio " name="sex" value="nam" checked ><br>
Nu: < input type=" radio " name="sex" value="nu" checked ><br>
</body>
</html>
Lưu ý: trường hợp hai radio
không cùng tên.
Trang 796.2 Các thành phần của Form – File
• Sử dụng để upload file lên server
<html>
<body>
< form name=“ frmMain ” method=“ POST ” enctype=“ multipart/form-data ”
action=“ xuly.php ”>
<input type=" file " name=" fileUpload “><br>
<input type=“ submit ” value=“send”>
</ form >
</body>
</html>
Trang 806.2 Các thành phần của Form – Submit
• Nút phát lệnh và gởi dữ liệu của form đến trang
<input type=" file " name=" fileUpload “><br>
<input type=“ submit ” value=“send”>
</ form >
</body>
</html>
Trang 816.2 Các thành phần của Form – Reset
• Dùng để trả lại giá trị mặc định cho các
control khác trong form
<html>
<body>
< form name=“ frmMain ” method=“ POST ” enctype=“ multipart/form-data ”
action=“ xuly.php ”>
<input type=" file " name=" fileUpload “><br>
<input type=“ submit ” value=“ send ”><br>
<input type=“ reset ” value=“ reset ”>
</ form >
</body>
</html>
Trang 826.2 Các thành phần của Form – Button
Trang 836.2 Các thành phần của Form – LABEL
Trang 84< legend > Subject </ legend >
<input type=" checkbox " name=" Subject[ ] " value="Eng"> English<br>
<input type=" checkbox " name=" Subject[ ] " value="Math" checked >Mathematics<br>
<input type=" checkbox " name=" Subject[ ] " value="GraphTheory">Graph Theory<br>
</ fieldset >
</body>
</html>