Web đã phát tri n trong b i c nh t p tin HTML là m t t p tin v n b n t nh và đ n gi n đ c x lý gi ng nhau đ i v i t t c các yêu c u. Nh ng trong nh ng n m g n đây b i c nh này đã tr nên ph c t p do các ti n b trong công ngh Web. Các website hi n nay th ng t o ra n i dung web th i đi m nh n đ c yêu c u c a client. Các k thu t HTML đ ng cho phép t ch c n i dung theo nh ng s thích và yêu c u c th c a ng i dùng. HTML đ ng c ng làm đ n gi n công vi c thi t k web (so v i các rào c n l p trình trong quá kh ) do web server có th đáp ng không gi i h n các t h p đ u ra thông qua m t template đ n.
Trong th i gian này, m t b i c ng khác đang di n ra trong th gi i web đó là ch y ch ng trình phía client (client-side programming). Trong tr ng h p này, các l nh c a ch ng trình đ c chuy n t i client cùng v i d li u HTML, và các l nh này th c thi trên máy tính client trong khi ng i dùng xem trang web.
B n s nghiên c u v k thu t HTML server-side và clien-side trong ph n sau.
12.5.1 K thu t HTML phía Server
Qua s tìm hi u v mã HTML trong ph n tr c, b n có l nh n th y không có gì khó kh n ho c ph c t p đ đ a các th HTML vào t p tin v n b n. Th c ra, khá đ n gi n
đ th c hi n m t ch ng trình ho c k ch b n đ t p h p n i dung HTML. K thu t đ ng này cho phép m t website t ng tác v i ng i dùng. Server có th hình thành trang web đáp ng l i d li u nh p c a ng i dùng. Vi c l p k ch b n phía server c ng cho phép server ch p nh n thông tin đ u vào t client và x lý thông tin này h u c nh. M t k ch b n phía server thông th ng đ c trình bày trong hình 12.6.
Ti n trình x y ra nh sau :
1. Ng i dùng duy t t i m t trang web có m t m u đ n dùng đ ng ký mua m t s n ph m ho c đ nh p thông tin c a khách th m vi ng.
2. Server t o ra m t m u đ n d a vào các ch n l a c a ng i dùng và phát m u này t i trình duy t.
3. Ng i dùng nh p các thông tin c n thi t vào m u đ n và trình duy t phát m u đ n này tr l i server (ti n trình ng c v i ti n trình thông th ng. Trình duy t g i n i dung theo yêu c u c a server).
4. Server ch p nh n d li u t trình duy t đ a đ n và s d ng m t giao di n l p trình đ chuy n d li u này t i các ch ng trình x lý thông tin ng i dùng. N u ng i dùng đang mua m t s n ph m, thì các ch ng trình h u c nh này có th ki m tra thông tin th tín d ng ho c g i m t phi u chuy n hàng t i h p th . N u ng i dùng đang b sung tên anh ta vào danh sách g i th ho c đang tham gia vào m t site tr c tuy n h n ch thì có th m t ch ng trình s b sung thông tin ng i dùng vào m t c s d li u.
Web d li u scripting
interface script
web server Form
Form đ c hoàn thành Yêu c u
M t trong nh ng ph ng th c ph bi n h n đ giao ti p m t ch ng trình ho c k ch b n v i m t trang Web là h giao ti p c ng chung (CGI-Common Gateway Interface). CGI đ c phát tri n đ nh n thông tin đ u vào d i d ng m u đ n t m t ng i dùng Web, x lý thông tin nh p này, sau đó t o ngõ ra theo d ng HTML. Các k ch b n CGI thông th ng đ c vi t theo ngôn ng Perl, nh ng CGI c ng t ng thích v i nhi u ngôn ng khác, bao g m C.
Khi đi u khi n chuy n qua giao di n CGI t i ch ng trình, ch ng trình có th đ m nh n b t k công vi c nhi m v đ c thù nào đ c th c hi n thông qua ph n m m.
b n có th s d ng m t script CGI đ x lý m t l nh, tr l i m t truy v n, ho c hình thành m t c nh trang Web tùy thích.
CGI ch là m t trong nhi u ph ng th c dùng chung cho s tích h p vi c x lý đ u cu i server v i m t trang Web. Các ph ng th c khác:
• NSAPI - (Netscape Server Application Programming Interface), m t giao di n ch ng trình đ c thi t k cho Web server c a Netscape.
• ISAPI - (Internet Server Application Programming Interface), m t giao di n ch ng trình thi t k cho Web server c a Microsoft.
• Active Server Pages - M t môi tr ng l p k ch b n phía server đ c phát tri n b i Microsoft.
• Allaire ColdFusion - M t gói ph n m m phát tri n ng d ng cho các Web site đ ng. ColdFusion chú tr ng vào k t n i c s d li u.
M t trong nh ng s d ng quan tr ng nh t c a khã n ng x lý phía server (server-end) đó là web server có th t ng tác v i m t h th ng c s d li u. Thông qua đ c tính này, trang web có th ho t đ ng nh m t x lý giao d ch và giao di n truy v n t xa. Vài ng d ng Web server đã b t đ u có đ c tính giao ti p c s d li u có s n trong ng d ng. Các website th ng m i kh ng l thì h u nh luôn luôn tích h p v i các h th ng c s d li u đ c thi t k t t và kh ng l t ng x ng.
M t ng d ng khác đang thay n i lên s d ng công ngh x lý server-end đó là công c qu n lý và c u hình m ng. Trong tr ng h p này, m t t p các ti n ích qu n lý đ c đ a ra và giám sát thông qua m t giao ti p d a trên web. M t s thi t b m ng, nh các router ho c các thi t b NAT có các server web nh g n li n bên trong thi t b cho phép nhà qu n tr truy xu t các thi t b thông qua m t trình duy t đ c u hình và qu n lý chính b n thân thi t b . Các h th ng qu n lý d a trên web to l n h n giám sát toàn b m ng c ng đã có trên th tr ng m ng.
Cách đây m t vài n m, kh n ng và s h u ích c a giao di n l p trình trên Web d ng nh không có gi i h n. Các k thu t này v n là m t ph n không th thi u c a Internet ngày nay, nh ng các nhà chuyên môn đã b t đ u nh n th y r ng các lo i c ng
c ki u này có th gây ra các v n đ b o m t n u chúng không đ c th c hi n m t cách c n th n. Tùy theo m i thi t k c a chúng nh ng ch ng trình này th c ch t m i các user t xa th c thi m t ch ng trình trên máy ch . K thù có th gia t ng khai thác các công c này tìm ki m đ có đ c l i vào h th ng b o m t c a Web server.
12.5.2 K thu t HTML phía Client
X lý phía client (client-side) c ng đã phát tri n và làm thay đ i suy ngh v Web. Các trình duy t ngày nay có khã n ng th c thi đo n mã đ c chuy n tr c ti p t Web server đ n máy tính c a client. X lý client-side làm gi m t i x lý trên server và th ng c ng làm gi m t ng s l ng thông tin ph i truy n qua m ng. Các Java applet (và các công ngh t ng t khác) là ph ng ti n đ t o ra các hi u ng thú v trên trang web khi b n truy xu t vào website nào đó nh các qu banh n y lên xu ng và các chú kh đang c i và đi đi l i l i trong c a s trình duy t. Các công ngh này c ng chú ý đ n m t m t quan tr ng h n. Ví d , b n có th s d ng các k ch b n client-side đ ki m tra tính toàn v n c a m u nh p li u.
Cách đây m t vài n m, nhi u ng i đã tin r ng t ng lai c a công vi c tính toán là trong m t môi tr ng ho t đ ng d a hoàn toàn trên Java, còn client khi kh i đ ng s t i v đo n mã th c hi n trên client. Khái ni m này g n đây d ng nh đã ngu i l nh, nh ng ý t ng này m t l n n a đã nh n m nh vào ti m n ng rõ ràng c a các k thu t x lý client-side.