Thursday, October 29, 2009

Lập trình web và các khái niệm

Theo VNPT

Cùng với sự phát triển của CNTT cũng như Internet, việc phát triển các ứng dụng trên một máy đơn cũng đã mang lại nhiều lợi ích và được áp dụng trong nhiều lĩnh vực của đời sống. Tuy nhiên, với sự gia tăng phát triển của ngành công nghiệp máy tính, xu hướng toàn cầu hoá nhất hiện nay, tin học phải mở rộng hơn để có thể khai thác nguồn tài nguyên Internet.

Trong mỗi doanh nghiệp việc phát triển các ứng dụng quản lý trên mạng càng có ý nghĩa hơn khi các mạng LAN hay WAN bùng nổ và ngày càng phổ biến. Các ứng dụng đó đảm bảo tính truy nhập tương tác từ nhiều phía và tài nguyên chỉ đặt một nơi mà ta gọi là server. Như thế các mạng sẽ mang lại cho chúng ta những lợi nhuận đáng kể. Và thực tế đã chứng tỏ điều đó, các ứng dụng đều hướng tới mạng và Internet, từ kinh doanh trên Internet, quảng cáo, hệ thống thư điện tử, cũng như thương mại điện tử. Các khái niệm đó đang gần gũi với chúng ta hơn.

Bài viết giới thiệu với các bạn một số khái niệm có liên quan đến lập trình Web. Đó là những khái niệm thường gặp khi làm việc với môi trường mạng và đó cũng là những nét đặc trưng khác biệt mà các bạn ít gặp khi lập trình trên các ứng dụng đơn lẻ.

1. URL

URL (Uniform Resource Locator) dùng để chỉ tài nguyên trên Internet. Sức mạnh của web là khả năng tạo ra những liên kết siêu văn bản đến các thông tin liên quan. Những thông tin này có thì là những trang web khác, những hình ảnh, âm thanh... Những liên kết này thường được biểu diễn bầng những chữ màu xanh có gạch dưới được gọi là anchor.

Các URL có thể được truy xuất thông qua một trình duyệt (Browser) như IE hay Netscape.

Ví dụ: Một URL có dạng http://www.hcmut.edu.vn/index.html

Trong đó: http: là giao thức

http://www.hcmut.edu.vn/ là địa chỉ máy chứa tài nguyên.

index.html là tên đường dẫn trên máy chứa tài nguyên.

Nhờ địa chỉ url mà ta có thể từ bất kỳ một máy nào trong mạng Internet truy nhập tới các trang web ở các website khác nhau.

2.Web Server/mail Server và hoạt động của browser WWW (World Wide Web)

Hoạt động truy xuất WWW giữa máy khách và web server theo cơ chế sau:

Server ứng dụng cung cấp dữ liệu mà người sử dụng cần đến hoặc trao đổi. Chỉ những người sử dụng đã đăng ký account mới được cấp web site chứa dữ liệu riêng của mình trên server này, mọi người sử dụng đều có thể truy xuất các URL được phép dùng chung trong server này.

Trước tiên trình duyệt thực hiện kết nối để nhận được program/server. Browser dùng địa chỉ miền tên như số điện thoại hay địa chỉ để đạt tới server.

Browser tìm địa chỉ tên miền - thông tin đi ngay sau http:// như trong http://www.hcmut.edu.vn/ ví dụ trên, trong đó http://www.hcmut.edu.vn/ là địa chỉ miền tên (cũng là địa chỉ máy chứa tài nguyên).

Sau đó browser sẽ gửi request header sau tới miền xác định:

  • Một request header xác định file hay dịch vụ đang được request.

  • Các fields request header, xác định browser.

  • Thông tin đặc biệt thêm vào request.

  • Bất kỳ dữ liệu nào đi cùng với request.

Tất cả những thông tin đó được gọi là request header HTTP. Chúng xác định đối với server thông tin căn bản mà client đang request và loại đáp ứng có thể được client chấp nhận. Scrver cũng lấy tất cả các header do client gửi tới thông qua biến môi trường (environments variables) để chương trình server xử lý. Server đáp ứng với response header. Header đáp ứng đầu tiên là dòng trạng thái cho client biết kết quả của việc tìm kiếm request url. Nếu trạng thái là thành công (Success) thì nội dung của request url được gửi trả lại client/browser và hiển thị trên màn hình máy tính của client.

3. HTML và Web page

Ngôn ngữ siêu văn bản (Hyper Text Markup Language) là một ngôn ngữ dùng để tạo trang web, chứa các trang văn bản và những tag (thẻ) định dạng báo cho web browser biết làm thế nào thông dịch và thể hiện trang web trên màn hình.

Web page là trang văn bản thô (text only), nhưng về mặt ngữ nghĩa gồm 2 nội dung:

- Đoạn văn bản cụ thể.

- Các tag (trường văn bản được viết theo qui định) miêu tả một hành vi nào đó, thường là một mối liên kết (hyperlink) đến trang web khác.

4. E-mail

  • e-mail (electronic mail - thư điện tử) là hình thức gửi thông điệp (messages) ở dạng điện tử từ máy này sang máy khác trong mạng.

  • Format của một e-mail:


Dạng format một e-mail cơ bản gồm hai thành phần: header + body:

  • header: chứa các hàng text kiểm soát e-mail.

  • body: nội dung cụ thể của e-mail.


Phần header gồm các nội dung cụ thể sau:

To: địa chỉ người nhận e-mail

Cc: địa chỉ người nhận cộng thêm

Bcc: địa chỉ những người nhận cộng thêm

From: thông tin về người gửi e-mail (địa chỉ)

Sender: địa chỉ người trực tiếp gửi e-mail

Rcceived: danh sách các Mail- Server trung chuyển

Return path: đường dẫn ngược trở lại Received

Date: ngày giờ gửi nhận e-mail

Reply to: địa chỉ hồi âm

Message: chỉ số nhận dạng e- mail

In Reply to: chỉ số nhận dạng e-mail này quay trở lại

Referece: những chỉ số e-mail tham khảo khác

Keywords: các keywords chính về nội dung

Subject: chủ đề chính của e-mail.

- Để nới rộng thêm ra ngoài văn bản thô người ta thêm vào các field kiểm soát gọi là MIME nới rộng sau:

Mime-Version: chỉ số version của MIME

Content-Description: chú thích về nội dung e-mail

Content-Id: chỉ số duy nhất

Content-Transfer-Encoding: cách thức mã hóa nội dung e-mail

Text: Text Only

Image : ảnh dạng .GIF, .JPEG

Audio: âm thanh WAVE

Video: Film Mfeg/chương trình bất kỳ (Octet-stream)

Application: Post Scripts chương trình dàn trang.

Chú ý: Các thông tin về phần header của e-mail trình bày ở đây rất cần để xử lý mail.

5. Lập trình CGI

- CGI (viết tắt của Common Gateway Interface) là một phương pháp cho phép giao tiếp giữa server và chương trình nhờ các định dạng đặc tả thông tin.

- Lập trình CGI cho phép viết chương trình nhận lệnh khởi đầu từ trang web, trang web dùng định dạng HTML để khởi tạo chương trình. Định dạng HTML trở thành phương pháp được chọn để gửi dữ liệu qua mạng vì dễ thiết lập một giao diện người sử dụng HTML định dạng và thẻ Input.

- Chương trình CGI chạy dưới biến môi trường duy nhất. Khi WWW khởi tạo chương trình CGI nó tạo ra một số thông tin đặc biệt cho chương trình và đáp ứng trở lại từ chương trình CGI. Trước khi chương trình CGI được khởi tạo, server WWW đã tạo ra một môi trường xử lý đặc biệt, môi trường này chứa các dữ liệu từ HTTP request header truyền đến. Sau đó server xác định loại file chương trình cần thực thi.

- Nói tóm lại lập trình CGI là viết chương trình nhận và truyền dữ liệu qua Internet tới WWW server. Chương trình CGI sử dụng dữ liệu đó và gửi đáp ứng HTML trở lại máy khách.

- Vai trò của HTML rất quan trọng trong lập trình CGI. Chương trình CGI được gọi qua một tag định dạng HTML chẳng hạn:

<a href="http://www.blogger.com/%27%27index.cgi%27%27M%E1%BB%A5c">

trong thông qua tag </a><a> ..</a> chương trình index.cgi sẽ được thực hiện.

- Dùng thuộc tính HTML định dạng method:

Form tag bắt đầu với một thuộc tính Method để báo cho browser biết cách thức mã hoá dữ liệu và nơi đặt dữ liệu chuyển tới server, nó được dùng để định nghĩa phần gì của file HTML được sử dụng cho người sử dụng input.

Cú pháp: <form method="[post/get]" action="''URL''" enctype="..">

Thêm vào input tag cho định dạng HTML này ta được một active form:

<input type="''Submit''">

- Input tag:

Có thể tạo input text, radio buttons, check boxes và một số loại khác.

Cú pháp: <input value="''...''" size="''...''" maxlength="..." type="[text/radio...]">

- Submit button:

Với tag _<input type="''submit''..."> dùng để kích khởi gửi dữ liệu.

CGI và tag FORM trong HTML phối hợp với nhau tạo ra submit button dùng để kích hoạt chương trình CGI trên server cùng với các phương pháp.

- Method GET và POST:

Có 2 cách thức cho phép dữ liệu được chuyển tới chương trình CGI trên server.

GET gửi dữ liệu với mã URI header (Uniform Resource Identifier), dùng với HTML định dạng tag ở dạng sau:

6. PERL - ngôn ngữ lập trình cho CGI

- Có thể dùng nhiều ngôn ngữ lập trình khác nhau trên CGI:

Bourne shell; C shell; C/C++; Perl; Python; Visual basic; JavaScripts.

- Ngôn ngữ lập trình PERL (viết tắt của Practical Extraction and Report Languages) do Larry Wall xây dựng được dùng là một công cụ lập trình trên web vì Perl có nhiều ưu điểm:

+ Perl có sức mạnh và sự linh hoạt của ngôn ngữ lập trình cấp cao C.

+ Giống như các ngôn ngữ shell scripts, Perl không đòi hỏi biên dịch và link mã nguồn, thay vào đó chỉ cần gọi Perl thực thi chương trình đó.

+ Chạy được trên nhiều platfrom: UNIX, DOS, WINDOWS.

+ Perl chuyên về xử lý text, có nhiều hàm build-in, thích hợp với xử lý trang web trong thế giới WWW.

Ngoài ra Perl còn rất nhiều điểm mạnh như của các ngôn ngữ lập trình khác.

7. SQUID và WEBMIN

SQUID:

Squid là một proxy caching server cao cấp cho web máy khách, trợ giúp FTP, gopher, HTTP dữ liệu objects. Không giống như các caching software khác, Squid xử lý mọi request bằng quá trình đơn, non-blocking.

Squit chứa chương trình server chính là squid, một chương trình tìm kiếm hệ thống tên miền dnsserver (DNS - Domain Name System), một số chương trình và công cụ quản lý máy khách khác.

WEBMIN:

Webmin là một phần mềm quản trị trên UNIX thông qua web. Webmin có cấu trúc module mở và được cài đặt trên máy có cấu hình thấp, biến nó thành miniserver rất hữu dụng.

Webmin phát hành phiên bản đầu tiên (ver 0.1) ngày 05/10/1997 và phiên bản được sử dụng ở đây là ver 0.72.

Webmin được thiết kế cho phép dễ dàng thêm vào các module mới mà không làm thay đổi bất kỳ mã nguồn nào đã có.

8. Web Server Log Files và thông tin về người sử dụng dịch vụ web

Để quản lý các khách hàng trong dịch vụ của mình, người quản trị cần biết các thông tin về người sử dụng đã sử dụng các dịch vụ Internet thế nào: Số lần request, khối lượng, loại dịch vụ (HTTP, Email), thời gian sử dụng bao lâu và nhiều thông tin liên quan khác. Lấy các thông tin này từ đâu và xử lý nó thế nào? WWW server sẽ ghi lại thông tin về request của người sử dụng đó vào một file gọi là log file. Chẳng hạn như ta muốn tìm các thông tin về những người tới site của mình, dịch vụ HTTP (Hyper Text Transfer Protocol) cho phép giao tiếp giữa browser và web server qua một loạt các kết nối rời rạc để lấy text trên web page và thể hiện chúng, mỗi một lần request được thực hiện thì một bản ghi cho lần request đó được ghi vào một file log. Các request về web được http ghi vào file access_log còn e-mail được ghi vào file syslog trên UNIX.

Tuỳ thuộc vào từng loại mạng và server mà cấu trúc file log có thể khác nhau ở một vài điểm nhưng nhìn chung thông tin ghi lại đều phản ánh tên người sử dụng, ngày giờ sử dụng dịch vụ, khối lượng request và nhiều thông tin khác.

Dựa vào các fields của file log này người quản trị có thể thực hiện các thao tác monitor để quản lý khách hàng của mình.

No comments:

Post a Comment