Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

CHƯƠNG: HẠ TẦNG KỸ THUẬT CHO

THƯƠNG MẠI ĐIỆN TỬ


Chương này cung cấp cho người đọc cái nhìn tổng quát về lịch sử, hiện trạng và
tương lai của Internet và Web; quá trình phát triển, cơ sở hạ tầng hiện tại và tương lai của
Internet và Web nhằm hỗ trợ cho các hoạt động kinh doanh cũng sẽ được đề cập.
1.1 Nền tảng Internet và Web
1.1.1 Sự phát triển của Internet
Thuật ngữ Internet xuất hiện lần đầu tiên vào năm 1974. Internet (viết tắt của
internetwork) là một mạng liên kết hàng ngàn mạng con nhỏ hơn (Internet còn được gọi là
mạng của các mạng) và hàng triệu máy tính lại với nhau. Internet giúp liên kết các doanh
nghiệp, các cơ sở giáo dục, các cơ quan chính phủ và các cá nhân thông qua các tài nguyên
và dịch vụ thông tin mà nó cung cấp.
Lịch sử phát triển của Internet có thể được chia thành 3 giai đoạn:
Giai đoạn 1 (1961 – 1974): Nền tảng lý thuyết của Internet được đưa ra, bao gồm lý thuyết
về chuyển mạch gói, giao thức TCP/IP và mô hình tính toán khách/chủ (client/server
computing). Năm 1960, mục đích sơ khởi của Internet là để liên kết các máy tính lớn tại
các trường đại học với nhau.
Giai đoạn 2 (1975 – 1995): ARPANET - tiền thân của Internet – đã được phát triển vào
năm 1969 bởi Bộ quốc phòng Mỹ nhằm liên kết 4 địa điểm lại với nhau, bao gồm Viện
nghiên cứu Stanford, Đại học California (Los Angeles), Đại học Utah và Đại học California
(Santa Barbara). Năm 1983, TCP/IP trở thành một giao thức chuẩn được phổ biến rộng rãi
trên mạng ARPANET.
Giai đoạn 3 (1995 đến nay): đây là giai đoạn thương mại hóa của mạng Internet. Các tập
đoàn tư nhân được chính phủ hỗ trợ và khuyến khích mở rộng mạng Internet, cho phép
mạng tiếp cận đến dân thường. Năm 1995 cũng là năm đánh dấu sự hoạt động nghiêm túc
của thương mại điện tử, với sự ra đời của 2 trang mạng nổi tiếng là Amazon.com (bán lẻ
trực tuyến) và eBay (đấu giá trực tuyến). Hình 3.1 cho thấy sự gia tăng của số lượng máy
tính có kết nối Internet qua từng năm.

1
Hình 3.1: Sự gia tăng số lượng máy tính có kết nối Internet
Nguồn:……………………………………………………………
Internet đã trở thành thành tựu khoa học công nghệ và thành tựu xã hội của thiên
niên kỉ. Ngày nay, Internet có mặt ở hầu hết các quốc gia, cho phép mọi người dân dễ dàng
tiếp cận Internet để tìm kiếm, giao tiếp, nghiên cứu, giải trí, kinh doanh… Đồng hành với
sự thâm nhập của Internet vào các hoạt động kinh doanh, góp phần thúc đẩy sự phát triển
của thương mại điện tử chính là sự phát triển của dịch vụ World Wide Web.
1.1.2 Sự ra đời và phát triển của World Wide Web
World Wide Web (gọi tắt là Web) hiện đã vượt qua thư điện tử, dịch vụ truyền tập
tin và các dịch vụ truyền tải dữ liệu khác để trở thành dịch vụ có lưu lượng mạng lớn nhất
trên Internet. Về mặt kĩ thuật, Web chỉ đơn giản là phần mềm chạy trên máy tính có kết
nối Internet. Web được phát triển dựa trên 2 nền tảng lý thuyết: siêu văn bản và giao diện
đồ họa người dùng (GUI – Graphical User Interfaces).
Sự phát triển của siêu văn bản (Hypertext)
Năm 1945, Vannevar Bush đã đưa ra một loạt các ý tưởng về việc sử dụng công
nghệ để tổ chức và truy xuất hiệu quả thông tin. Bush suy đoán về khả năng xây dựng một
máy tính có tên Memex – máy tính có khả năng lưu trữ tất cả sách vở, báo cáo, thư từ, kết
quả nghiên cứu vào các tấm vi phim (microfilm). Memex đồng thời cung cấp các hỗ trợ về
mặt kĩ thuật, cho phép người dùng sử dụng nhanh chóng và hiệu quả các tri thức thu thập
được trước đó.
2
Vào những năm 1960, Ted Nelson lần đầu tiên đưa ra khái niệm siêu văn bản
(hypertext) – là hệ thống trong đó các văn bản ở một trang có thể liên kết đến văn bản trên
các trang khác. Năm 1987, Nelson sử dụng thuật ngữ siêu văn bản để mô tả hệ thống liên
kết thông tin trên các trang, bất kể thông tin đó được lưu trữ ở đâu về mặt địa lý.
Năm 1989, Trung tâm nghiên cứu vật lý hạt nhân tại Châu Âu (CERN) mong muốn
có một cách thức chia sẻ dữ liệu hiệu quả giữa các cộng đồng nghiên cứu vật lý. Hai năm
sau, Tim Berners-Lee – thành viên của CERN - đã phát triển thành công chương trình siêu
văn bản cho máy chủ. Các máy chủ này chứa các tập tin được viết bằng ngôn ngữ đánh
dấu siêu văn bản (HTML - HyperText Markup Language) – ngôn ngữ sử dụng để tạo lập
trang Web. Ngày nay, các máy chủ chứa siêu văn bản được gọi là máy chủ Web. Chi tiết
về HTML sẽ được giới thiệu trong phần sau của chương.
Giao diện đồ họa cho siêu văn bản
Trình duyệt Web là phần mềm phổ biến nhất được sử dụng để đọc các tập tin HTML.
Trình duyệt Web sẽ thể hiện tài liệu HTML dưới định dạng dễ đọc thông qua giao diện đồ
họa người dùng. Giao diện đồ họa người dùng sử dụng các hình ảnh, biểu tượng và các yếu
tố đồ họa khác nhau để giao tiếp với người dùng (ví dụ: thể hiện các chức năng điều khiển,
thể hiện đầu ra của chương trình và ghi nhận dữ liệu đầu vào do người sử dụng nhập).
Berners-Lee gọi hệ thống gồm các tài liệu HTML được liên kết là World Wide Web
và hệ thống này nhanh chóng phổ biến trong giới khoa học thời bấy giờ. Tuy nhiên, những
người dùng ngoài cộng đồng nghiên cứu không có phần mềm để đọc được các tập tin
HTML. Năm 1993, một nhóm sinh viên do Marc Andressen (thuộc Đại học Illinois – Mỹ)
đứng đầu đã phát triển thành công phần mềm giao diện đồ họa người dùng đầu tiên đọc
được các tập tin HTML, đồng thời sử dụng các liên kết siêu văn bản để điều hướng đến các
trang web ở các vị trí địa lý khác nhau. Phần mềm này chính là MOSAIC – trình duyệt web
đầu tiên được sử dụng rộng rãi trên thế giới.
Năm 1994, Andressen và các đồng sự kết hợp với James Clark (thuộc công ty
Silicon Graphics) để thành lập Netscape Communications, với sản phẩm đầu tiên là trình
duyệt Netscape Navigator (dựa trên nền tảng của Mosaic). Netscape Navigator nhanh
chóng gặt hái thành công và Netscape trở thành một trong các công ty phần mềm lớn mạnh
nhất thời bấy giờ. Thời gian sau đó chứng kiến sự ra đời của các phần mềm duyệt Web nổi

3
tiếng khác như Internet Explorer (của Microsoft), Mozilla Firefox (hậu duệ của Netscape
Navigator), Chrome (của Google)…
1.1.3 Các mạng chuyển gói
Mạng gồm các máy tính gần nhau (phạm vi một tòa nhà, trường học…) được kết
nối với nhau được gọi là mạng cục bộ (LAN – Local Area Network). Mạng có phạm vi địa
lý lớn hơn được gọi là mạng diện rộng (WAN – Wide Area Network). Vào những năm
1950, các mạng WAN kết nối thông qua đường dây điện thoại. Trong một cuộc gọi thoại,
một kết nối được thiết lập giữa bên gọi và bên nhận và dữ liệu sẽ được trao đổi trên đường
thiết lập duy nhất này. Công ty điện thoại sẽ lựa chọn đường kết nối nào được thiết lập
thông qua các thiết bị chuyển mạch gọi là switch. Đường dây điện thoại và các switch giúp
chúng kết nối với nhau được gọi là mạch (circuit). Kết nối được thiết lập trong một cuộc
gọi sẽ được duy trì cho đến khi cuộc gọi kết thúc. Mô hình này có tên gọi là chuyển mạch
kênh (circuit switching). Trong chuyển mạch kênh, khi một mạch bị hư hỏng, kết nối bị
gián đoạn và dữ liệu sẽ bị mất. Nhược điểm này cho thấy chuyển mạch kênh chỉ phù hợp
cho ứng dụng gọi thoại và hoàn toàn không phù hợp khi truyền dữ liệu trên mạng WAN
hoặc mạng Internet.
Chuyển mạch gói ra đời và được sử dụng để truyền dữ liệu giữa 2 điểm trên mạng
Internet. Trong mô hình chuyển mạch gói, thông điệp sẽ được chia thành các thành phần
nhỏ hơn gọi là gói tin. Các gói tin này trước khi gửi đi sẽ được đính kèm các thông tin quan
trọng như địa chỉ nguồn (nơi gửi), địa chỉ đích (nơi nhận), số thứ tự của gói tin, các thông
tin phục vụ cho việc phát hiện và sửa lỗi… Các gói tin được truyền đi trên mạng cho đến
khi nào nó đến được nơi nhận. Khác với chuyển mạch kênh, gói tin trong chuyển mạch gói
có thể sử dụng các đường đi khác nhau để đến đích. Tại đích, các gói tin sẽ được tái sắp
xếp thành thông điệp gốc. Trong quá trình di chuyển trên mạng để đến đích, gói tin sẽ đi
qua nhiều máy trung gian gọi là các router. Các router có nhiệm vụ tìm đường đi tiếp theo
cho mỗi gói tin đến nó thông qua các giải thuật tìm đường được cung cấp. Thông qua giải
thuật tìm đường, router sẽ cập nhật bảng đường đi hoặc bảng thông tin cấu hình mà nó lưu
trữ. Giải thuật tìm đường sẽ cho biết đường đi nào được chọn làm đường đi kế tiếp, các xử
lý tìm đường trong trường hợp tắc nghẽn mạng hoặc mạng có sự cố…

4
Hình 3.2: Mô hình phân bố các router trên mạng Internet
Nguồn:……………………………………………………..
Hình 3.2 cho thấy tầm quan trọng của các thiết bị router đối với cơ sở hạ tầng mạng.
Một công ty, trường học hoặc tổ chức khi tham gia vào Internet phải kết nối ít nhất một
router của mình với các router khác (của các công ty hoặc tổ chức khác). Hình 3.2 chỉ cho
thấy các router kết nối mạng WAN hoặc LAN trong các tổ chức với Internet, các router kết
nối trong nội bộ tổ chức không được thể hiện trong hình.
Internet còn có các router có nhiệm vụ điều khiển lưu lượng gói tin trên đường nối
các điểm chính yếu trên mạng. Hệ thống các router và các đường nối này được gọi là mạng
xương sống (Internet backbone). Các router xương sống này là các máy tính lớn có khả
năng xử lý 3 triệu gói tin mỗi giây.
1.1.4 Các giao thức Internet
Giao thức là tập hợp các quy tắc về định dạng, sắp xếp và kiểm lỗi cho dữ liệu được
truyền trên mạng. Ví dụ: các giao thức xác định cách thức bên gửi báo hiệu đã hoàn tất
việc gửi dữ liệu và bên nhận cho biết đã hoàn tất việc nhận dữ liệu. Giao thức cũng bao
gồm các quy tắc xác định những gì được truyền và cách định dạng chúng trước khi truyền
đi. Các máy tính giao tiếp với nhau phải sử dụng chung một giao thức. Có thể nói giao thức
chính là ngôn ngữ giao tiếp của các máy tính. Trước đây, mỗi hãng sản xuất máy tính sử
dụng một giao thức riêng nên máy tính của các hãng khác nhau thường không kết nối được
5
với nhau. Giao thức đầu tiên, giao thức điều khiển mạng (NCP – Network Control
Protocol) được thiết kế và cho phép các hãng sản xuất máy tính khác nhau sử dụng. Nguyên
lý kiến trúc mở của giao thức này đã được phát triển cho mạng Internet, bao gồm việc sử
dụng các giao thức chung cho các máy kết nối đến mạng và 4 quy tắc chính trong việc điều
khiển thông điệp:
- Các mạng độc lập không cần thay đổi gì trước khi kết nối với mạng.
- Các gói tin không đến được đích phải được bên gửi truyền lại.
- Các router đóng vai trò là các thiết bị nhận và chuyển đi, các router này không
được giữ lại thông tin của gói tin mà chúng xử lý.
- Mạng không có các điều khiển toàn cục (nghĩa là không tồn tại một tổ chức quản
lý toàn bộ mạng).
Cách tiếp cận kiến trúc mở đã tạo nên thành công của mạng Internet trong đó máy
tính của các hãng khác nhau (Apple, Dell, Asus…) có thể được kết nối với nhau.
Giao thức TCP/IP
Internet sử dụng 2 giao thức chính: TCP (Transmission Control Protocol) và giao
thức IP (Internet Protocol). Các giao thức này là tập các quy tắc giám sát cách thức dữ liệu
truyền trên mạng và cách thức các kết nối mạng được thiết lập hoặc ngắt.
Giao thức TCP điều khiển việc phân rã các thông điệp hoặc tập tin thành các gói tin
trước khi truyền đi trên mạng Internet, đồng thời điều khiển việc ráp các gói tin lại thành
định dạng ban đầu khi các gói tin đến đích. Giao thức IP xác định địa chỉ cho mỗi gói tin,
đính kèm theo mỗi gói tin địa chỉ nguồn và địa chỉ đích của chúng.
Địa chỉ IP
Phiên bản giao thức IP được sử dụng phổ biến trong khoảng 25 năm gần đây là IPv4.
Phiên bản này sử dụng số gồm 32 bit để xác định các máy tính kết nối với mạng, gọi là địa
chỉ IP. IPv4 sử dụng địa chỉ 32 bit, do đó số lượng địa chỉ có thể có là khoảng 4 tỉ (232 =
4,294,967,296).
Khi router chia một thông điệp thành các gói tin trước khi truyền đi, nó sẽ đính kèm
trong mỗi gói tin địa chỉ IP nguồn (nơi gửi) và đích (nơi nhận). Để địa chỉ IP dễ đọc hơn,
32 bit địa chỉ sẽ được chia thành từng nhóm 8 bit. Số thập phân tương ứng với mỗi nhóm
8 bit sẽ từ 0 (8 bit 0) đến 255 (8 bit 1). Địa chỉ IP do đó sẽ có phạm vi từ 0.0.0.0 (32 bit 0)

6
đến 255.255.255.255 (32 bit 1). Địa chỉ IP 110110000111001101100111110101 sẽ được
đọc ngắn gọn thành 216.115.108.245.
Hiện nay, địa chỉ IP được cấp bởi 3 tổ chức phi lợi nhuận: ARIN (American Registry
for Internet Numbers), RIPE (the Reseaux IP Europeens) và APNIC (Asia-Pacific Network
Information Center). Các tổ chức này cấp và quản lý địa chỉ cho nhiều nơi khác nhau trên
thế giới: ARIN tại Bắc Mỹ, Nam Mỹ, vùng Caribbean và vùng Châu Phi hạ Sahara; RIPE
tại châu Âu, Trung Đông và phần còn lại của châu Phi; APNIC tại các nước Châu Á Thái
Bình Dương. Các tổ chức này nhận nhiệm vụ quản lý địa chỉ IP từ IANA (Internet Assigned
Number Authority).
Lúc đầu, mạng Internet chỉ sử dụng với mục đích nghiên cứu, thử nghiệm nên 4 tỉ
địa chỉ là con số rất lớn. Tuy nhiên, sau đó 2 tỉ địa chỉ trong số này không thể sử dụng do
việc cấp địa chỉ theo khối cho các tổ chức. Sự gia tăng của các thiết bị kĩ thuật số khác và
điện thoại di động đòi hỏi một lượng địa chỉ IP khá lớn.
Trước tình trạng nguồn địa chỉ IP ngày càng cạn kiệt, các kĩ sư mạng đưa ra nhiều
kĩ thuật khác nhau để giải quyết vấn đề. Một trong những kĩ thuật phổ biến nhất là subnet,
nghĩa là sử dụng các địa chỉ dành riêng trong nội bộ mạng LANs hoặc WANs để gia tăng
không gian địa chỉ. Các địa chỉ IP dành riêng là một nhóm các địa chỉ IP không được sử
dụng trên đường truyền Internet. Trong kĩ thuật subnet, một máy tính gọi là thiết bị NAT
(Network Address Translation) sẽ chuyển đổi các địa chỉ IP riêng này thành các địa chỉ IP
thông thường trước khi chuyển các gói tin từ các máy tính nội bộ ra ngoài Internet.
Năm 1997, địa chỉ IPv6 ra đời và hứa hẹn sẽ dần dần thay thế IPv4. Ưu điểm của
IPv6 là sử dụng 128 bit địa chỉ, do đó cho phép 2128 địa chỉ, gấp hàng tỉ lần so với địa chỉ
IPv4. Giao thức IP mới cũng thay đổi cách thức định dạng gói tin, cho phép loại bỏ một số
trường không cần thiết trong gói tin IPv4 trước đây và thêm các trường có chức năng bảo
mật và thêm một số thông tin tùy chọn khác.
Tên miền
Các nhà sáng lập mạng Internet lo lắng rằng người dùng sẽ thấy địa chỉ IP khá khó
nhớ. Do đó, họ tạo ra phương pháp đánh địa chỉ dễ nhớ hơn, sử dụng các kí tự. Trong
phương pháp này www.course.com được gọi là tên miền. Tên miền là tập các từ được gán
cho một địa chỉ IP cụ thể nào đó. Tên miền có thể chứa 2 hoặc nhiều hơn các nhóm từ cách
nhau bởi dấu chấm. Ví dụ tên miền www.sandiego.edu bao gồm 3 phần cách nhau bởi dấu
7
chấm, phần bên phải cùng (“edu”) cho biết máy tính thuộc về một tổ chức giáo dục. Tổ
chức giáo dục được xác định bởi “sandiego” là trường đại học San Diego. Kí tự “www”
cho biết máy tính là một phần của World Wide Web.
Phần bên phải cùng của tên miền được gọi là tên miền cấp cao nhất (TLD – Top
Level Domain). Nhiều năm trước, tên miền cấp cao nhất này bao gồm nhóm các tên miền
chung như .edu, .org, .com và nhóm tên miền các quốc gia. Từ năm 1998, ICANN (Internet
Corporation for Assigned Names and Number) có trách nhiệm quản lý tên miền và phối
hợp với các tổ chức đăng kí địa chỉ IP. ICANN cũng có trách nhiệm thiết lập các chuẩn
cho các router trên Internet. Kể từ khi nhận trách nhiệm này, ICANN đã thêm một số các
tên miền cấp cao nhất mới. Một trong số các tên miền cấp cao nhất này là tên miền cấp
cao nhất dùng chung (gTLDs – generic Top Level Domains), được sử dụng cho các nhóm
người dùng cụ thể. Một tên miền cấp cao nhất khác là tên miền cấp cao nhất có tài trợ
(sTLDs – sponsored Top Level Domain) - các tên miền do các tổ chức khác ngoài ICANN
chịu trách nhiệm. Tên miền có tài trợ phải do các tổ chức có chuyên môn và được cộng
đồng sử dụng tên miền đó biết đến. Ví dụ, tên miền .aero do tổ chức SITA tài trợ - một tổ
chức có chuyên môn trong ngành công nghiệp không vận, được các hãng hàng không, sân
bay và ngành công nghiệp hàng không vũ trụ biết đến. Các quốc gia được phép duy trì tên
miền cấp cao nhất riêng, cho phép người dân sử dụng hoặc kết hợp chung với các tên miền
cấp cao nhất khác. Ví dụ, đại học Queenland của Úc có tên miền là www.uq.edu.au, kết
hợp giữa .edu với .au. để cho biết đây là một tổ chức giáo dục thuộc Úc. Hình 3.1Hình 3.3
là danh sách một số tên miền cấp cao.
Tên miền cấp cao nhất Tổ chức sử dụng
.com Tổ chức thương mại
.edu Các cơ sở giáo dục 4 năm
.gov Các cơ quan chính phủ
.mil Tổ chức quân đội
.net Sử dụng chung
.org Các tổ chức phi lợi nhuận
.us Dùng chung

8
.asia Các công ty, cá nhân và tổ chức ở
châu Á Thái Bình Dương
.biz Tổ chức kinh doanh
.info Dùng chung
.name Các cá nhân
.pro Nghề nghiệp có bằng cấp (kế toán,
luật sư, bác sĩ)
.au Úc
.ca Canada
.de Đức
.fi Phần Lan
.fr Pháp
.jp Nhật
.se Thụy Điển
.uk Vương quốc Anh
Hình 3.3: Danh sách một số tên miền cấp cao
Các giao thức yêu cầu và phân phối trang Web
Web là phần mềm chạy trên các máy tính được kết nối với nhau trên Internet. Các
máy khách Web (Web client) chạy phần mềm gọi là phần mềm máy khách Web hoặc phần
mềm trình duyệt Web. Một số phần mềm trình duyệt Web phổ biến như Google Chrome,
Microsoft Internet Explorer, và Mozillas Firefox. Phần mềm trình duyệt Web gửi các yêu
cầu về trang web đến các máy tính khác – các máy chủ Web. Các máy chủ Web chạy các
phần mềm gọi là phần mềm máy chủ Web. Phần mềm máy chủ Web nhận yêu cầu từ nhiều
máy khách khác nhau và gửi trả các tập tin yêu cầu cho các máy khách này. Các phần mềm
máy khách Web hiển thị các tập tin này trên trang Web. Sự kết hợp của các máy khách
chạy phần mềm máy khách Web và máy chủ chạy phần mềm máy chủ Web là ví dụ của
mô hình kiến trúc khách/chủ.
Tập các quy tắc cho việc phân phối các trang Web trên Internet được gọi là giao
thức HTTP (HyperText Transfer Protocol). Khi người dùng nhập tên miền vào thanh địa
chỉ trên trình duyệt Web, trình duyệt sẽ gửi một thông điệp định dạng HTTP cho máy chủ

9
Web. Máy chủ Web sau đó sẽ gửi thông điệp trả lời cho máy khách. Các thông điệp trả lời
cũng có định dạng HTTP.
Giao thức thư điện tử
Thư điện tử (e-mail) được gửi trên đường truyền Internet cũng phải theo một tập
các quy tắc định dạng cụ thể. Đa số các tổ chức sử dụng cấu trúc khách/chủ để điều khiển
e-mail. Tổ chức sẽ có một máy tính được gọi là máy chủ e-mail. Phần mềm chạy trên máy
chủ e-mail sẽ có trách nhiệm lưu trữ và chuyển tiếp e-mail. Người dùng trong tổ chức có
thể sử dụng nhiều chương trình khác nhau gọi là phần mềm e-mail máy khách để đọc và
gửi e-mail. Phần mềm e-mail máy khách sẽ giao tiếp với phần mềm e-mail máy chủ trên
máy chủ e-mail để nhận và gửi các thông điệp e-mail.
Nhiều người dùng sử dụng e-mail trên máy tính ở nhà. Thông thường, các máy chủ
e-mail được vận hành bởi các công ty cung cấp kết nối đến Internet. Người dùng hiện nay
đa phần sử dụng các dịch vụ e-mail của các trang Web như Yahoo!Mail, Hotmail, Gmail.
Trong các trường hợp này, máy chủ và máy khách e-mail được vận hành bởi người vận
hành trang Web. Người dùng chỉ thấy phần mềm e-mail máy khách trên trình duyệt Web
của họ chứ không thấy được phần mềm e-mail máy chủ.
Với rất nhiều lựa chọn đối với phần mềm e-mail máy khách và máy chủ, việc có các
quy tắc và quy chuẩn là rất quan trọng. Nếu thông điệp e-mail không theo các quy tắc chuẩn
hóa, thì các thông điệp e-mail từ máy này gửi sang máy khác sẽ không đọc được nếu 2 máy
sử dụng các phần mềm e-mail máy khách khác nhau.
SMTP và POP là 2 giao thức phổ biến cho việc truyền nhận e-mail. SMTP (Simple
Mail Transfer Protocol) quy định định dạng của thông điệp e-mail và mô tả cách thức mail
được quản lý trên máy chủ và cách email được truyền trên Internet. Chương trình máy
khách e-mail chạy trên máy người dùng có thể yêu cầu e-mail từ máy chủ sử dụng giao
thức POP (Post Office Protocol). Một thông điệp POP có thể yêu cầu (1) máy chủ e-mail
gửi mail cho máy người dùng và xóa email khỏi máy chủ; (2) gửi mail cho máy người dùng
và không xóa email; hoặc (3) kiểm tra xem email đã đến nơi nhận chưa.
IMAP (Interactive Mail Access Protocol) là một giao thức thư điện tử mới, hoạt
động với các chức năng cơ bản như POP nhưng có thêm một số chức năng mới. Ví dụ,
IMAP có thể yêu cầu máy chủ chỉ gửi đến máy khách một số phần được lựa chọn từ email
thay vì gửi toàn bộ email. Ví dụ: IMAP cho phép người dùng chỉ hiển thị phần đầu của
10
email và tên người gửi trước khi quyết định có tải toàn bộ email hay không. POP yêu cầu
người dùng phải tải email về máy tính trước khi tìm kiếm, đọc, chuyển tiếp, xóa hoặc trả
lời email. IMAP cho phép người dùng tạo và thao tác với toàn thư mục email hoặc từng
email riêng lẻ khi email vẫn còn trên máy chủ; nghĩa là người dùng không cần tải email
mới có thể thao tác với chúng.
Công cụ mà IMAP sử dụng rất quan trọng đối với nhiều người dùng khi họ muốn
truy cập email từ nhiều máy tính khác nhau tại các thời điểm khác nhau. IMAP cho phép
người dùng thao tác và lưu trữ email trên máy chủ và truy cập email từ bất kì máy tính nào.
Nhược điểm chính của IMAP là thư điện tử lưu trên máy chủ, do đó khi lượng người dùng
tăng lên thì dung lượng email lưu trữ cũng tăng lên.
1.1.5 Các ngôn ngữ đánh dấu văn bản
Các trang Web có thể chứa nhiều thành phần như đồ họa, hình ảnh, âm thanh và cả
các chương trình nhỏ chạy trên trình duyệt. Mỗi thành phần này được lưu trữ thành các tập
tin riêng biệt trên máy chủ. Tuy nhiên, thành phần quan trọng nhất của trang Web là cấu
trúc của trang và các văn bản tạo nên thành phần chính của trang. Cấu trúc trang và văn
bản được lưu trữ thành một tập tin văn bản được định dạng, sử dụng ngôn ngữ đánh dấu
văn bản. Ngôn ngữ đánh dấu văn bản bao gồm tập các thẻ (tag) được chèn trong văn bản.
Các thẻ đánh dấu này cung cấp các quy tắc định dạng mà các phần mềm máy khách Web
có thể hiểu được. Các phần mềm máy khách sử dụng các quy tắc định dạng này để hiển thị
các thành phần của trang Web trên màn hình.
Ngôn ngữ đánh dấu văn bản thường được sử dụng là HTML. HTML là một phần
của một ngôn ngữ đánh dấu văn bản lâu đời và phức tạp hơn là SGML (Standard
Generalized Markup Language). SGML được ngành công nghiệp xuất bản sử dụng trong
nhiều năm để tạo các tài liệu cần in ấn dưới nhiều định dạng khác nhau và cần sửa đổi
thường xuyên. Bên cạnh vai trò là một ngôn ngữ đánh dấu, SGML là một siêu ngôn ngữ -
ngôn ngữ có thể dùng để mô tả ngôn ngữ khác. Một ngôn ngữ đánh dấu khác được bắt
nguồn từ SGML và được sử dụng trên Web là XML (Extensible Markup Language). XML
cũng là một siêu ngôn ngữ do người dùng có thể tạo các thành phần đánh dấu riêng, mở
rộng các thành phần trong XML.

11
Hình 3.4: Sự phát triển của ngôn ngữ đánh dấu văn bản
W3C (World Wide Web Consortium) – một tổ chức phi lợi nhuận duy trì các tiêu
chuẩn cho Web, đưa ra bản nháp của XML vào năm 1996 và phát hành bản chính thức đầu
tiên vào năm 1998. Năm 2000, W3C phát hành phiên bản đầu tiên cho một ngôn ngữ đánh
dấu mới hơn là XHTML (Extensible Hypertext Markup Language).
Các ngôn ngữ đánh dấu
Từ những năm 1960, các nhà xuất bản đã sử dụng các ngôn ngữ đánh dấu để tạo các
tài liệu chỉ cần định dạng một lần, lưu trữ và sau đó được in ấn nhiều lần theo các bố cục
và định dạng khác nhau. Sử dụng cách lưu trữ tài liệu điện tử và các chương trình có thể
dịch các định dạng để tạo ra các bố cục khác nhau giúp tiết kiệm việc đánh máy và chi phí
rất nhiều.
GML (Generalized Markup Language) ra đời từ những năm này với nỗ lực tạo ra
một định dạng chuẩn cho các tài liệu điện tử. Vào năm 1986, sau khi nhiều thành phần của
chuẩn này được sử dụng trong nhiều năm, tổ chức ISO (International Organization for
Standardization) đã chấp nhận một phiên bản của GML là SGML. SGML đưa ra một hệ
thống các tài liệu đánh dấu độc lập với các ứng dụng. Nhiều tổ chức như Hội liên hiệp các
nhà xuất bản tại Mỹ, Hewlett-Packard, và Kodak đã sử dụng SGML để giải quyết các yêu
cầu phức tạp trong quản lý tài liệu của mình.
SGML độc lập nền và không có tính độc quyền, cho phép người dùng tự định nghĩa
các thẻ riêng. Tuy nhiên, nó không phù hợp cho một số chức năng như phát triển nhanh
12
các trang Web. SGML tốn chi phí cài đặt và bảo trì, yêu cầu sử dụng một số công cụ phần
mềm giá thành cao và khó sử dụng.
Ngôn ngữ đánh dấu siêu văn bản
HTML bao gồm các thẻ định nghĩa định dạng và kiểu cho các thành phần trong tài
liệu điện tử. HTML có các thẻ cho phép tạo mối quan hệ giữa các thành phần trong cùng
một tài liệu và giữa các tài liệu với nhau. Các thành phần văn bản có quan hệ với nhau gọi
là các thành phần siêu văn bản.
HTML dễ học hơn SGML. HTML là ngôn ngữ đánh dấu thịnh hành được sử dụng
để tạo các tài liệu trên Web hiện nay. Các phiên bản trước của HTML cho phép các nhà
thiết kế Web tạo các tài liệu điện tử nền văn bản sử dụng các thẻ heading, các thanh tiêu
đề, bullet, các đường kẻ và danh sách có thứ tự. Các phiên bản sau có thêm các thẻ cho
bảng, khung, và nhiều đặc tính khác hỗ trợ các nhà thiết kế Web tạo ra các bố cục trang
phức tạp hơn.
Ngôn ngữ đánh dấu mở rộng (Extensible Markup Language)
HTML ngày càng cung cấp cho các nhà thiết kế Web các công cụ hữu ích để tạo
các bố cục văn bản đẹp cũng như đồ họa thu hút trên trang Web của họ. Tuy nhiên, khi các
công ty bắt đầu sử dụng thương mại điện tử trên Web, nhu cầu hiển thị một lượng lớn dữ
liệu trên Web ngày càng trở nên cấp thiết. Công ty tạo các trang Web chứa các hàng hóa
tồn kho, các hóa đơn, đơn đặt hàng, và các dữ liệu kinh doanh khác. Các danh sách này
cũng cần có tính cập nhật và đây chính là thách thức cho các nhà thiết kế Web. Công cụ hỗ
trợ các nhà thiết kế Web như HTML không thể đáp ứng được yêu cầu này.
Vào cuối những năm 1990, các công ty bắt đầu chuyển qua XML để duy trì các
trang Web chứa lượng dữ liệu lớn. XML sử dụng các cặp thẻ bắt đầu và kết thúc tương tự
như cách thức các phần mềm cơ sở dữ liệu định nghĩa cấu trúc các bản ghi.
XML có khả năng quản lý dữ liệu vượt trội so với HTML. XML khác HTML ở 2
đặc điểm chính. Thứ nhất, XML không phải là ngôn ngữ đánh dấu với các thẻ được định
nghĩa. Nó là một framework trong đó các cá nhân, tổ chức và công ty có thể tạo các tập thẻ
riêng của họ. Thứ hai, các thẻ XML không cho biết cách thức văn bản thể hiện trên trang
Web; các thẻ cho biết ngữ nghĩa của thông tin chứa trong các trang Web.

13
1.2 Phần mềm và phần cứng máy chủ Web
1.2.1 Một số khái niệm
Chức năng chính của máy chủ Web là phản hồi các yêu cầu từ máy khách. Ba thành
phần chính của máy chủ Web là phần cứng (máy tính và một số các thành phần khác), hệ
điều hành và phần mềm máy chủ. Ba thành phần này cần được kết hợp tốt để cung cấp khả
năng tối đa cho máy chủ.
Trang Web động là trang Web trong đó nội dung được tùy biến để phản hồi các yêu
cầu của người dùng. Ngược lại, Web tĩnh có nội dung cố định được truy xuất từ các tập tin
trên máy chủ. Với các site bao gồm tập hợp các trang HTML, nội dung được thay đổi bằng
cách chỉnh sửa các tập tin HTML. Trong trường hợp này, các thao tác thay đổi khá rườm
rà và không cho phép tùy biến trang để cung cấp trả lời theo các yêu cầu khác nhau từ
người dùng.
Nội dung động (dynamic content) là các thông tin phi tĩnh được tạo ra theo yêu cầu
của người dùng. Nội dung động cho phép người dùng tương tác với trang. Các văn bản, đồ
họa, các trường và các thành phần khác trong trang có thể thay đổi tùy theo đầu vào của
người dùng. Ví dụ, khi người dùng yêu cầu xem tình trạng đơn hàng của họ bằng cách nhập
mã khách hàng hoặc mã đơn hàng trong form, máy chủ Web sẽ tạo một trang động dựa
trên thông tin khách hàng đã được lưu trữ trong cơ sở dữ liệu của công ty.
Nội dung động có thể được tạo theo 2 phương pháp. Phương pháp thứ nhất có tên
gọi là kịch bản phía máy khách (client-side script). Với phương pháp này, phần mềm sẽ
chạy trên máy khách (trình duyệt) để thay đổi những gì hiển thị trên trang tùy biến theo các
thao tác của người dùng (nhấp chuột hoặc nhập văn bản từ bàn phím). Các thay đổi được
thực hiện trong trình duyệt bằng cách sử dụng các phần mềm như JavaScript hoặc Adobe
Flash. Máy khách sẽ truy xuất tập tin chứa các đoạn mã (ví dụ JavaScript) từ máy chủ. Các
đoạn mã hướng dẫn máy khách thực hiện yêu cầu các thành phần trang cụ thể từ máy chủ
và cho biết các thành phần này sẽ hiển thị như thế nào trong cửa sổ trình duyệt. Client-side
script xuất hiện vào năm 1996 khi ngôn ngữ JavaScript trở nên phổ biến.
Trong phương pháp thứ 2, được gọi là kịch bản phía máy chủ (server-side script),
chương trình chạy trên máy chủ sẽ tạo trang Web phản hồi các yêu cầu thông tin cụ thể từ
máy khách. Nội dung của yêu cầu có thể được xác định bởi nhiều yếu tố, bao gồm chuỗi
kí tự mà người dùng nhập vào form trong trình duyệt, chuỗi kí tự thêm vào cuối URL…
14
Ví dụ, nếu người dùng đăng nhập vào trang Web của ngân hàng và không có bất kì thao
tác gì trong vài phút, lúc đó máy chủ sẽ ngắt kết nối của người dùng và hiển thị thông báo
cho biết phiên làm việc đã kết thúc.
Microsoft phát triển kĩ thuật đầu tiên cho phép tạo sinh Web động phía máy chủ,
gọi là Active Server Pages (ASP). Phiên bản hiện tại của kĩ thuật này là ASP.NET. ASP
cho phép nhà lập trình Web tùy chọn ngôn ngữ lập trình như VBScript, Jscript hay Perl.
Sun Microsystems phát triển một kĩ thuật tương tự là JavaServerPages (JSP). Java – ngôn
ngữ lập trình của Sun, cũng được dùng để tạo các trang web động. Các chương trình phía
máy chủ được gọi là Java Servlet. Apache Software Foundation phát triển một kĩ thuật
khác là Hypertext Preprocessor (PHP). Adobe có sản phẩm ColdFusion. Các ngôn ngữ
phía máy chủ thường sử dụng Common Gateway Interface (CGI) - một chuẩn giao tiếp
với máy chủ Web được đưa ra vào năm 1993. Trong các ứng dụng đầu tiên, CGI được sử
dụng để kết nối các cơ sở dữ liệu sẵn có với các máy chủ Web, cho phép người dùng trên
khắp thế giới truy cập vào cơ sở dữ liệu từ trình duyệt của họ. Nghĩa là, CGI cung cấp một
cổng (gateway) cho phép người dùng truy cập vào các cơ sở dữ liệu ở xa.
Hai công cụ tạo sinh trang động đang trở nên phổ biến những năm gần đây là AJAX
và Ruby on Rails. Python cũng là một ngôn ngữ kịch bản được dùng để tạo Web động.
Mô hình khách/chủ cơ bản là mô hình 2 lớp, nghĩa là chỉ có máy khách và máy chủ
giao tiếp trên Internet. Các máy tính khác tham gia vào quá trình chuyển tiếp các gói tin,
tuy nhiên các thông điệp chỉ được tạo và đọc bởi máy khách và máy chủ. Hình 3.5 mô tả
giao tiếp giữa máy khách và máy chủ trong kiến trúc khách/chủ 2 lớp.

Hình 3.5: Kiến trúc khách/chủ 2 lớp

15
Thông điệp mà máy khách gửi để yêu cầu một hoặc nhiều tập tin từ máy chủ được
gọi là thông điệp yêu cầu (request message). Một thông điệp yêu cầu thường chứa 3 thành
phần cơ bản sau:
Request line: chứa các lệnh, tên của tài nguyên đích (tên tập tin và mô tả đường dẫn đến
tập tin trên máy chủ), tên giao thức và số phiên bản.
Request header: chứa thông tin kiểu tập tin mà máy chủ sẽ chấp nhận trong các phản hồi
cho yêu cầu.
Entity body: được dùng để chuyển một lượng lớn thông tin đến máy chủ.
Khi máy chủ nhận thông điệp yêu cầu, nó sẽ thực thi các câu lệnh chứa trong thông
điệp. Máy chủ truy xuất tập tin trang Web từ ổ đĩa của nó và tạo thông điệp phản hồi
(response message) để gửi về cho máy khách. Thông điệp phản hồi cũng chứa 3 phần khá
tương đồng với thông điệp yêu cầu: response header line, response header field, entity
body. Response header line cho biết phiên bản HTTP được máy chủ sử dụng và trạng thái
của phản hồi (máy chủ đã tìm thấy tập tin mà máy khách yêu cầu hay chưa), và các giải
thích cho thông tin trạng thái. Response header fields trả về thông tin mô tả thuộc tính của
máy chủ. Entity body trả về trang HTML được yêu cầu bởi máy khách.
Mặc dù mô hình khách/chủ 2 lớp hoạt động tốt trong việc phân phối các trang Web
nhưng các trang Web phân phối trang động và xử lý giao dịch cần nhiều hơn thế. Kiến trúc
3 lớp mở rộng kiến trúc 2 lớp và cho phép thêm một số xử lý (ví dụ: thu thập thông tin từ
cơ sở dữ liệu để tạo các trang Web động), các xử lý này xuất hiện trước khi máy chủ trả lời
yêu cầu của máy khách. Lớp thứ 3 bao gồm các cơ sở dữ liệu và các ứng dụng liên quan
nhằm cung cấp thông tin cho máy chủ. Máy chủ có thể sử dụng đầu ra của các ứng dụng
này để phản hồi các yêu cầu của máy khách.

16
Hình 3.6: Kiến trúc khách/chủ 3 lớp
Các kiến trúc có nhiều hơn 3 lớp được gọi chung là kiến trúc n-lớp. Các hệ thống n
lớp có thể theo vết việc mua hàng lưu trong giỏ hàng, tìm kiếm tỉ lệ thuế, lưu giữ các mục
hàng yêu thích của người mua, cập nhật cơ sở dữ liệu hàng tồn kho và cập nhật danh sách
mặt hàng hiện có của công ty.
Phần mềm máy chủ Web
Một vài phần mềm máy chủ Web có thể chạy trên một hệ điều hành duy nhất, một
số phần mềm khác có thể chạy trên các hệ điều hành khác nhau. Phần này sẽ giới thiệu hệ
điều hành được dùng trên nhiều máy chủ Web và các phần mềm máy chủ Web.
Hệ điều hành cho máy chủ Web
Chức năng của hệ điều hành là chạy các chương trình và phân phối tài nguyên máy
tính (bộ nhớ, không gian ổ đĩa…) cho các chương trình. Hệ điều hành cũng cung cấp các
dịch vụ đầu vào và đầu ra cho các thiết bị kết nối với máy tính, như bàn phím, màn hình
và máy in. Máy tính phải có hệ điều hành để thực thi các chương trình. Đối với các hệ
thống lớn, hệ điều hành thực hiện thêm nhiều chức năng khác như theo dõi nhiều người
dùng đăng nhập vào hệ thống và đảm bảo họ không xung đột với nhau.
Đa số phần mềm máy chủ Web chạy trên các sản phẩm của Microsoft Windows
Server, các hệ điều hành nền Linux hoặc UNIX. Trong khi nhiều công ty cho rằng các sản
phẩm của Microsoft dễ sử dụng hơn các hệ thống nền UNIX thì nhiều công ty khác lại lo
ngại các vấn đề bảo mật gây ra do sự tích hợp chặt chẽ giữa phần mềm ứng dụng và hệ

17
điều hành của Microsoft. Các máy chủ Web nền UNIX phổ biến hơn và nhiều người dùng
tin rằng UNIX là hệ điều hành đáng tin cậy hơn để chạy trên máy chủ Web.
Linux là một hệ điều hành mã nguồn mở, nhanh, hiệu quả và dễ cài đặt. Số lượng
công ty bán máy chủ Web sử dụng hệ điều hành Linux trong cấu hình mặc định đang ngày
càng gia tăng. Mặc dù Linux có thể được tải miễn phí từ Web, đa số công ty lại chọn mua
hệ điều hành này thông qua một nhà phân phối để được hỗ trợ nhiều phần mềm đi kèm.
1.2.2 Phần mềm máy chủ Web
Phần này sẽ mô tả các chương trình máy chủ Web được sử dụng phổ biến hiện nay:
Apache HTTP Server, IIS (Microsoft Internet Information Server) và JSWS (Sun Java
System Web Server). Hình 3.7 cho thấy tỉ lệ sử dụng các chương trình máy chủ Web vào
năm 2009.

Hình 3.7: Tỷ lệ sử dụng các chương trình máy chủ Web năm 2009
Apache HTTP Server
Apache được Rob McCool phát triển vào năm 1994 khi đang làm việc tại trung tâm
ứng dụng siêu máy tính quốc gia tại đại học Illinois. Các nhà phát triển Web khác trên thế
giới tạo ra các mở rộng riêng cho máy chủ và thành lập một thư điện tử nhóm để họ có thể
trao đổi các thay đổi (gọi là “patches”) trên hệ thống. Hệ thống bao gồm hệ thống lõi gốc
và nhiều patches. Máy chủ Web Apache hiện có sẵn miễn phí trên Web.
Apache HTTP Server thống trị Web từ năm 1996 vì hoàn toàn miễn phí và hoạt
động có hiệu quả. Apache vẫn đang tiếp tục là phần mềm máy chủ Web được cài đặt nhiều
nhất. Apache có thể chạy trên nhiều hệ điều hành và trên nhiều phần cứng hỗ trợ nó.
IIS (Microsoft Internet Information Server)
18
ISS được đính kèm với các phiên bản hệ điều hành máy chủ Windows hiện tại. IIS
được thiết kế để cài đặt trên các hệ điều hành máy chủ Windows. IIS hỗ trợ sử dụng ASP,
Active X Data Objects và truy vấn cơ sở dữ liệu SQL. IIS hỗ trợ ASP cung cấp môi trường
ứng dụng trong đó các trang HTML, các thành phần Active X và các script có thể được kết
hợp để tạo các trang Web động.
JSWS (Sun Java System Web Server)
JSWS – một thế hệ sau của chương trình máy chủ Web NCSA, trước đây được bán
dưới các tên thương mại như Sun ONE, Netscape Enterprise Server và iPlanet Enterprise
Server. Năm 2009, Sun phát hành các thành phần chính của phần mềm dưới dạng mã nguồn
mở. Sun không bán các dịch vụ hỗ trợ cho phần mềm.
Sun JSWS chạy trên nhiều hệ điều hành, bao gồm HP-UX, Solaris và Windows.
Sun JSWS hiện chỉ được sử dụng trên 1% các máy chủ Web. Tuy nhiên, nhiều trang Web
nổi tiếng trên Internet, như BMW, Dilbert, E*TRADE, Excite, Lycos và Schwab hiện đang
sử dụng các phiên bản của JSWS.
Giống như đa số các chương trình máy chủ khác, Sun JSWS hỗ trợ phát triển ứng
dụng động cho các ứng dụng phía máy chủ. Sun JSWS đồng thời cung cấp kết nối đến
nhiều sản phẩm cơ sở dữ liệu.
1.2.3 Phần cứng máy chủ Web
Máy chủ
So với máy tính để bàn hay laptop, máy chủ Web thường có bộ nhớ lớn hơn, ổ cứng
lớn, bộ xử lý nhanh. Nhiều máy chủ Web sử dụng nhiều vi xử lý. Do máy chủ Web sử dụng
nhiều hơn các phần cứng có tốc độ nhanh và dung lượng lớn nên chúng có chi phí khá đắt.
Chức năng cơ bản của máy chủ Web là xử lý và trả lời các yêu cầu từ máy khách.
Đối với các yêu cầu trang Web, chương trình máy chủ sẽ tìm và truy xuất trang, tạo một
HTTP header, và chèn tài liệu HTML vào header này. Đối với các trang Web động, máy
chủ sử dụng kiến trúc 3 lớp hoặc nhiều hơn, nhận kết quả từ các process back-end, định
dạng trả lời và gửi các trang cùng các đối tượng khác cho chương trình trên máy khách có
yêu cầu. Chia sẻ IP, hay một máy chủ ảo, là đặc điểm cho phép nhiều nhóm khác nhau chia
sẻ một địa chỉ IP máy chủ Web duy nhất. Một máy chủ ảo cho phép duy trì nhiều hơn một
máy chủ trên một máy, có nghĩa là nhiều nhóm khác nhau có thể có các tên miền khác
nhau, nhưng tất cả các tên miền đều tương ứng với một máy chủ vật lý duy nhất.
19
Đánh giá hiệu suất máy chủ Web
Sự kết hợp giữa định chuẩn (benchmark) phần mềm và định chuẩn phần cứng của
máy chủ Web có ý nghĩa trong việc hỗ trợ ra quyết định cho một hệ thống. Định chuẩn,
trong ngữ cảnh này, là các phép kiểm tra được sử dụng để so sánh hiệu suất của phần cứng
và phần mềm.
Các thành phần ảnh hưởng đến hiệu suất chung của máy chủ bao gồm phần cứng,
phần mềm hệ điều hành, phần mềm máy chủ, tốc độ kết nối, dung lượng và loại trang Web
được phân phối. Khi đánh giá hiệu suất của máy chủ Web, mỗi tổ chức cần biết chính xác
các yếu tố cần đo đạc và đảm bảo đó là các yếu tố quan trọng liên quan đến các mong đợi
trong việc sử dụng máy chủ Web. Một yếu tố khác có thể ảnh hưởng đến hiệu suất của máy
chủ Web là tốc độ kết nối của nó.
Số lượng người dùng mà máy chủ có thể xử lý cũng rất quan trọng. Yếu tố này khó
đo đạc do kết quả bị ảnh hưởng bởi băng thông kết nối Internet giữa máy chủ và máy khách,
và kích thước của các trang được phân phối. Hai yếu tố đánh giá khi đo lường khả năng
phân phối trang Web của máy chủ là throughput và thời gian đáp ứng. Throughput là số
lượng yêu cầu HTTP mà phần mềm và phần cứng có thể xử lý trong một đơn vị thời gian.
Thời gian đáp ứng là lượng thời gian máy chủ cần có để xử lý một yêu cầu.
Các tổ chức cần mua các máy chủ có thể xử lý lưu lượng mạng cao cần so sánh định
chuẩn chuẩn với các cấu hình phần mềm và phần cứng khác nhau. Định chuẩn tùy biến có
thể cho người quản lý Web các hướng dẫn chỉnh sửa kích thước tập tin, kích thước bộ nhớ
cache và các thông số khác. Người quản lý Web phải thực hiện định chuẩn thường xuyên.
Các công ty có nhiều hơn một máy chủ Web cần quyết định cách thức cấu hình các máy
chủ để cung cấp chất lượng dịch vụ tốt nhất cho người dùng. Các cách thức mà các máy
chủ kết nối với nhau và kết nối với các phần cứng liên quan (như router hay switch) được
gọi là kiến trúc máy chủ.
Kiến trúc phần cứng máy chủ Web
Các trang Web thương mại điện tử có thể sử dụng kiến trúc 2 lớp, 3 lớp hoặc n lớp
để phân chia công việc phục vụ các trang Web, quản lý cơ sở dữ liệu hay xử lý các giao
dịch. Nhiều trang web thương mại điện tử cần nhiều hơn một máy tính trong mỗi lớp để
xử lý, ví dụ những trang Web thương mại điện tử phải phân phối hàng triệu trang Web hay
xử lý hàng ngàn giao dịch với khách hàng mỗi ngày.
20
Quản trị viên của các trang Web này phải lên kế hoạch cấu hình các máy chủ cẩn
thận, có thể lên đến hàng trăm hoặc hàng ngàn máy để có thể xử lý lưu lượng mạng hiệu
quả. Tập hợp các máy này được gọi là một vùng máy chủ (server farms), các máy chủ
thường được xếp thành nhiều hàng trong một phòng lớn. Trong cách tiếp cận của kiến trúc
tập trung, một số ít máy tính lớn có tốc độ nhanh sẽ được sử dụng. Trong cách tiếp cận thứ
hai, kiến trúc phân tán, một lượng lớn các máy tính có cấu hình yếu hơn được sử dụng và
công việc sẽ được phân chia giữa các máy.

Hình 3.8: Kiến trúc tập trung và phân tán của máy chủ
Mỗi cách tiếp cận có ưu nhược điểm riêng. Kiến trúc tập trung đòi hỏi các máy tính
giá thành cao và khá nhạy với các vấn đề mang tính kĩ thuật. Nếu một trong các máy chủ
không hoạt động được, một phần lớn khả năng của site sẽ bị mất. Do đó, các Website có
kiến trúc tập trung cần có các kế hoạch dự phòng phù hợp. Bất kì một trục trặc nào trên
máy chủ, dù là nhỏ, cũng có thể đe dọa đến hoạt động của site. Kiến trúc phân tán chia sẽ
nguy cơ cho một lượng lớn các máy chủ. Nếu một máy chủ không hoạt động được, site vẫn
có thể tiếp tục hoạt động. Các máy chủ được sử dụng trong kiến trúc phân tán có chi phí rẻ
21
hơn. Tuy nhiên, kiến trúc phân tán đòi hỏi có các thiết bị hub hoặc switch để kết nối các
máy chủ với nhau và với Internet. Nhiều site sử dụng kiến trúc này sử dụng các hệ thống
cân bằng tải khá tốn chi phí để phân chia tải một cách hiệu quả.
Các hệ thống cân bằng tải
Một switch cân bằng tải là một thiết bị phần cứng giám sát tải của các máy chủ và
phân chia tải cho máy chủ có khả năng phù hợp nhất tại một thời điểm. Trong một hệ thống
cân bằng tải đơn giản, lưu lượng vào site từ Internet thông qua router của site sẽ đi qua
switch cân bằng tải, sau đó sẽ được đưa đến máy chủ web phù hợp nhất để xử lý.

Hình 3.9: Mô hình cân bằng tải đơn giản


Trong các hệ thống cân bằng tải phức tạp hơn, lưu lượng mạng có thể đến từ 2 hoặc
nhiều router của site, sau đó sẽ được đưa đến một nhóm các máy chủ để xử lý.

22
Hình 3.10: Hệ thống cân bằng tải phức tạp
1.3 Phần mềm thương mại điện tử
Các site thương mại điện tử khác nhau vể kích thước, mục tiêu, đối tượng khách
hàng và nhiều yếu tố khác. Chính vì vậy, các sản phẩm phần mềm và phần cứng để xây
dựng các site thương mại điện tử này cũng khá đa dạng. Việc lựa chọn phần mềm thương
mại điện tử nào tùy thuộc vào nhiều yếu tố, trong đó tầm cỡ của tổ chức và ngân sách là 2
yếu tố mang tính quyết định. Về mặt tầm cỡ, một site thương mại điện tử với hàng ngàn
yêu cầu danh mục hàng hóa mỗi phút sẽ có đòi hỏi về phần mềm khác với một trang bán
hàng trực tuyến chỉ bán vài chục mặt hàng đơn lẻ. Ở góc độ ngân sách, tạo một cửa hàng
trực tuyến sẽ ít tốn kém hơn xây dựng một chuỗi các cửa hàng bán lẻ (cửa hàng vật lý).
Chi phí vận hành ban đầu của một trang thương mại điện tử sẽ thấp hơn nhiều so với chi
phí để tạo các kênh phân phối và bán hàng cho một cửa hàng dạng brick-and-mortar, nghĩa

23
là các cửa hàng cần có kho hàng và nhiều cửa hàng bán lẻ. Cửa hàng truyền thống cần thuê
mặt bằng, nhân công, trả phí tiện ích đi kèm và chi phí duy trì. Chi phí để tạo kiến trúc hạ
tần cho thương mại trực tuyến có thể thấp hơn nhiều.
Một vấn đề khác cần cân nhắc là công ty nên chọn thuê máy chủ ở nơi khác hay có
máy chủ của riêng mình. Các công ty đã có sẵn đội ngũ IT về lập trình, thiết kế Web, kĩ sư
mạng thường chọn đặt máy chủ tại trụ sở của mình. Nếu công ty không có hoặc khó thuê
người đủ khả năng thiết lập và duy trì các site thương mại điện tử, họ có thể thuê người từ
các nhà cung cấp dịch vụ. Các công ty đặt ở các vị trí xa trung tâm và muốn có máy chủ
riêng cũng nên cân nhắc xem đường truyền Internet có đủ mạnh không. Trong nhiều trường
hợp, một số công ty nhận thấy rằng họ không gần các điểm truy cập Internet chính nên các
kết nối không đủ băng thông để xử lý hiệu quả các lưu lượng lớn. Ngay cả khi công ty có
đội ngũ nhân viên có kĩ năng, họ cũng chọn thuê các nhà cung cấp dịch vụ để quản lý các
site của mình.
Các chức năng của phần mềm thương mại điện tử phải bao gồm các chức năng sau:
- Hiển thị danh mục hàng hóa
- Chức năng giỏ hàng
- Xử lý giao dịch
Các site lớn và phức tạp hơn có thể sử dụng các phần mềm có thêm nhiều chức năng
khác. Các thành phần thêm vào có thể là:
- Phần mềm trung gian tích hợp hệ thống thương mại điện tử với các thông tin hệ
thống của công ty để xử lý các vấn đề về hàng tồn kho, xử lý đơn hàng và kiểm
toán.
- Tích hợp ứng dụng kinh doanh
- Các dịch vụ Web
- Tích hợp với các phần mềm quản trị nguồn nhân lực (ERP)
- Các phần mềm quản lý chuỗi cung ứng
- Các phần mềm quản lý quan hệ khách hàng
- Phần mềm quản trị nội dung
- Phần mềm quản lý tri thức
Hiển thị danh mục hàng hóa

24
Danh mục hàng hóa hiển thị các hàng hóa và dịch vụ được bán. Để dễ quản lý, các
nhà bán lẻ có thể chia nhỏ các danh mục này cho các khu bảy hàng. Giống như cửa hàng
vật lý, việc buôn bán của cửa hàng trực tuyến có thể được gom nhóm trong các khu bày
hàng luận lý để việc tìm một mặt hàng, ví dụ như lò nướng, trở nên dễ dàng hơn. Các cửa
hàng trực tuyến sử dụng cùng tên của khu bày hàng như cửa hàng vật lý tương ứng. Với
cửa hàng vật lý, mỗi mặt hàng chỉ được đặt tại một nơi. Với cửa hàng trực tuyến, một mặt
hàng có thể được đặt ở nhiều nơi. Ví dụ, mặt hàng giày chạy bộ có thể đặt ở mục giày dép
hoặc mục dụng cụ cho vận động viên.
Một site thương mại nhỏ có danh mục hàng tĩnh khá đơn giản. Một danh mục hàng
là một danh sách các mặt hàng và dịch vụ. Một danh mục tĩnh là một danh sách đơn giản
viết bằng HTML được hiển thị trên trang Web hoặc một chuỗi các trang Web. Để thêm
hàng, xóa hàng hay thay đổi danh sách hàng hóa, công ty sẽ thay đổi file HTML của một
hoặc nhiều trang. Các site thương mại lớn thường dùng các danh mục hàng động. Một cửa
hàng sử dụng danh mục hàng động sẽ lưu trữ thông tin về các mặt hàng trong cơ sở dữ liệu,
các cơ sở dữ liệu này thường được đặt trên một máy khác, cho phép các máy chủ truy xuất
vào. Một danh mục hàng động có thể có nhiều hình ảnh cho mỗi mặt hàng, các mô tả chi
tiết và một công cụ tìm kiếm cho phép khách hàng tìm kiếm các mặt hàng và xem tình
trạng hàng có còn hay không. Các phần mềm hiện thực danh mục hàng động thường được
đính kèm trong các gói phần mềm thương mại điện tử lớn, tuy nhiên một vài công ty cũng
có thể viết các chương trình phần mềm riêng để kết nối với cơ sở dữ liệu thông tin hàng
hóa hiện có với các site của họ. Cả danh mục hàng tĩnh và động đều được đặt ở lớp thứ 3
trong kiến trúc Web.
Các cửa hàng trực tuyến nhỏ có ít hơn 100 mặt hàng chỉ cần một danh sách đơn giản
các sản phẩm và danh mục. Các công ty có số lượng ít các mặt hàng chỉ cần một tấm hình
cho mỗi mặt hàng, tấm hình này có thể liên kết đến các thông tin chi tiết hơn về mặt hàng
đó. Một danh mục hàng hóa tĩnh là phù hợp cho yêu cầu của họ. Các site thương mại điện
tử lớn hơn cần các hỗ trợ điều hướng phức tạp và các công cụ tổ chức sản phẩm tốt hơn,
nên danh mục hàng hóa động sẽ là một lựa chọn trong trường hợp này.
Các site tốt cung cấp cho người mua nhiều lựa chọn tìm kiếm hàng hóa. Bên cạnh
việc cung cấp một danh mục có tổ chức tốt, các site lớn với nhiều hàng hóa có thể cung

25
cấp một máy tìm kiếm cho phép người dùng nhập các mô tả của hàng hóa để tìm sản phẩm
cần mua.
Giỏ hàng
Ở giai đoạn sơ khởi của thương mại điện tử, người mua hàng chọn các mặt hàng cần
mua bằng cách điền thông tin vào các form trực tuyến. Sử dụng các form dạng hộp văn bản
và các hộp danh sách để lựa chọn, người dùng nhập số lượng sản phẩm vào ô số lượng. Hệ
thống này trở nên nặng nề khi người mua cần mua 2 hoặc nhiều sản phẩm cùng lúc.
Vấn đề của mua hàng dạng form là người mua phải nhập mã hàng, đơn giá và các
thông tin khác liên quan đến sản phẩm trước khi đến form đặt hàng ở một trang khác. Một
vấn đề khác là khách hàng có thể quên họ đã nhấn nút submit để gửi đơn hàng. Kết quả là,
họ có thể gửi đơn hàng 2 lần hoặc đôi khi nghĩ rằng họ đã gửi đơn hàng dù thực tế là chưa.
Đặt hàng dạng form khá nặng nề và dễ có lỗi nên chỉ còn một số rất ít cửa hàng trực
tuyến sử dụng hình thức này. Giỏ hàng ngày nay trở thành phương thức xử lý mua bán
chuẩn trên hầu hết các trang thương mại điện tử. Một giỏ hàng sẽ lưu các mặt hàng mà
khách hàng đã chọn, thêm mặt hàng, bỏ bớt mặt hàng. Để đặt hàng, khách hàng chỉ cần
nhấp chuột vào mặt hàng đó. Tất cả chi tiết của mặt hàng như giá, mã hàng, các thông tin
nhận diện được tự động lưu trữ trong giỏ hàng. Nếu khách hàng thay đổi ý định, họ có thể
hiển thị nội dung giỏ hàng và loại bỏ mặt hàng không mong muốn. Khi khách hàng sẵn
sàng kết thúc quá hình mua hàng, họ chỉ cần nhấp chọn vào nút xử lý giao dịch mua hàng.
Màn hình sau đó sẽ hiển thị thông tin hóa đơn và thông tin giao hàng để xác nhận đặt hàng.
Một vài phần mềm giỏ hàng cho phép khách hàng đưa các mặt hàng cần mua vào giỏ hàng,
đặt giỏ hàng vào nơi lưu trữ ảo, và trở lại sau vài ngày để xác nhận và thanh toán đơn hàng.
Web là một hệ thống phi trạng thái – không ghi nhớ các giao dịch và phiên làm việc,
do đó các thông tin giỏ hàng phải lưu trữ rõ ràng để người mua hàng truy xuất về sau. Hơn
nữa, nó phải phân biệt người mua hàng này với người khác để các quá trình mua hàng
không bị lẫn lộn. Một cách thức để định danh duy nhất người dùng và lưu thông tin lựa
chọn của họ là tạo và lưu trữ các cookies – là các thông tin lưu trữ trên máy người dùng.
Khi khách hàng quay lại trang đã phân phối cookie, phần mềm mua hàng sẽ đọc cookie từ
máy người dùng hoặc từ bản ghi cơ sở dữ liệu của máy chủ của bên bán hàng.
Nếu trình duyệt của người mua hàng không cho phép lưu trữ cookie, các site có thể
sử dụng cách thức khác để giữ các thông tin giỏ hàng giữa các phiên làm việc khác nhau
26
của trình duyệt. Một vài gói phần mềm giỏ hàng thực hiện bằng cách tự động gán cho mỗi
người mua hàng một số tạm thời. Số này sẽ được thêm vào cuối URL hiển thị trên thanh
địa chỉ của trình duyệt và được giữ lại khi người mua điều hướng từ site này sang site khác.
Mỗi khi khách hàng quay lại, URL vẫn còn chứa thông tin giỏ hàng mà máy chủ Web có
thể hiểu được. Khi người mua đóng trình duyệt, số tạm thời bị loại bỏ và không còn tồn
tại, ngay cả khi người dùng mở lại trình duyệt và vào cùng một trang Web như lúc trước.
Xử lý giao dịch
Xử lý giao dịch xuất hiện khi người mua hàng tiếp tục với quầy thanh toán ảo bằng
cách nhấp chọn nút thanh toán. Phần mềm thương mại điện tử sau đó sẽ thực hiện các tính
toán cần thiết, như giảm giá, thuế, chi phí vận chuyển. Tại thời điểm thanh toán, phần mềm
trình duyệt Web của người mua và phần mềm máy chủ của người bán đều chuyển sang chế
độ giao tiếp bảo mật.
Mặc dù các phần mềm thương mại điện tử cơ bản của các cửa hàng trực tuyến đều
có thể tạo các báo cáo tóm tắt doanh số và các đơn đặt hàng đã chuyển, các công ty cỡ vừa
và lớn đều sử dụng các gói phần mềm kế toán để ghi nhận doanh thu và tồn kho. Để tích
hợp hiệu quả với các phần mềm kế toán, các phần mềm thương mại điện tử phải giao tiếp
với các phần mềm kế toán, các phần mềm kế toán này thường chạy trên các máy tính khác
trong mạng máy tính của người bán. Khi một mặt hàng được bán trực tuyến, các phần mềm
thương mại điện tử phải giao tiếp với các mô đun quản lý doanh thu và tồn kho trong các
phần mềm kế toán.
Tính toán thuế và chi phí vận chuyển cũng là những thành phần quan trọng của bán hàng
trực tuyến. Tỉ lệ thuế và tỉ lệ chi phí vận chuyển thay đổi thường xuyên, người quản lý site
do đó phải giám sát và cập nhật tỉ lệ liên tục hoặc sử dụng các phần mềm cập nhật tự động.
Các công ty vận chuyển như FedEx và UPS đưa ra các phần mềm cho người vận chuyển
trong đó tích hợp các phần mềm thương mại điện tử nhằm đảm bảo tỉ lệ họ đang dùng đã
được cập nhật. Các tính toán khác bao gồm các khuyến mãi đặc biệt, thẻ giảm giá… Trong
các công ty lớn, việc tích hợp xử lý giao dịch vào trong các hệ thống vận hành và điều
khiển kế toán có thể rất phức tạp.

27

You might also like