Chia Sẽ Kinh Nghiệm Về IT



Tìm Kiếm Với Google
-


Gởi Ðề Tài Mới  Gửi trả lời
 
Công Cụ Xếp Bài
Tuổi 07-05-2010, 05:02 PM   #1
hoctinhoc
Guest
 
Trả Lời: n/a
CGI - PHP - ASP - JSP, HTML, XHTML là gì

CGI - PHP - ASP - JSP, HTML, XHTML là gì?


Chú ý: Bài viết này chỉ mang tính giới thiệu cơ bản và tổng quan nhất. Thông tin cụ thể các bạn có thể tìm hiểu từng ngôn ngữ trên Google.

1.
Vài năm trước đây, con đường thực sự duy nhất để vận chuyển các dữ liệu động tới trang Web là kỹ thuật CGI (Common Gateway Interface). Các chương trình CGI cung cấp một sự liên hệ đơn giản để tạo các ứng dụng Web cho phép tiếp nhận các dữ liệu nhập vào, các yêu cầu truy vấn cơ sở dữ liệu từ phía người dùng và trả một vài kết quả về cho trình duyệt. Các chương trình CGI có thể được viết trên một vài ngôn ngữ, trong đó phổ biến nhất là Perl. Web server sử dụng CGI như là một cổng truy cập chặn giữa yêu cầu của người dùng và dữ liệu được yêu cầu. Nó sẽ được nạp vào bộ nhớ như một chương trình bình thường. Thông thường các web server sẽ chuyển các yêu cầu và triệu gọi chương trình CGI. Sau khi chương trình kết thúc, web server sẽ đọc dữ liệu trả về từ chương trình và gửi nó đến trình duyệt.

Nhược điểm lớn nhất của kỹ thuật CGI là nó hoạt động kém hiệu quả. Mỗi khi web server nhận một yêu cầu, một tuyến trình mới được tạo ra. Mỗi tuyến trình lại chứa trong nó các đoạn mã lệnh, dữ liệu… và không được chia sẻ lẫn nhau, do đó gây ra lãng phí bộ nhớ. Để khắc phục nhược điểm này, Microsoft và Netscape đã hợp tác và đưa ra một cải tiến đáng kể là chuyển chúng về dạng các file thư viện liên kết động (DLL ), cho phép chia sẻ mã lệnh giữa các tuyến trình. Đây chính là các kỹ thuật ISAPI và NSAPI.

Đen đủi thay, các kỹ thuật dựa trên DLL không phải là đã hoàn thiện. Chúng vẫn còn một số vấn đề:
- Khi các thư viện nền tảng được gọi, nếu muốn thoát các ứng dụng này, ta phải tắt chương trình triệu gọi (Web server) và khởi động lại máy tính.
- Các thư viện cần được đặt trong các tuyến trình bảo vệ, tức là chúng cần phải được cảnh giác về cách sử dụng các biến chung hoặc các biến tĩnh.
- Nếu chương trình triệu gọi gây ra lỗi truy cập, nó có thể dẫn đến tình trạng server bị treo tắc tử.
- Và cuối cùng: khi đã được dịch ra các file DLL, công việc gỡ lỗi cũng như bảo trì mã lệnh trở nên vất vả hơn bao giờ hết.

2.
Kỹ thuật Web mới nhất của Microsoft, kết hợp HTML, các đoạn Script, các thành phần xử lý phía server trong cùng một file, được gọi là ASP (Active Server Pages), với phiên bản mới nhất hiện nay là ASP.Net. ASP được triệu gọi bởi một thư viện liên kết động gắn với các Web server của Microsoft. Về bản chất, ta có thể coi ASP như là một ngôn ngữ thông dịch vậy. Một trang ASP có thể sử dụng HTML, JScript và VBScript. Qua các đoạn mã nhúng này, ASP có thể truy cập đến các thành phần phía server. Các thành phần này có thể được viết trên bất kỳ ngôn ngữ nào hỗ trợ các thành phần COM của Microsoft. Và đây chính là sức mạnh của ASP: nó có thể làm được bất kỳ cái gì mà máy chủ có thể làm được với các thành phần COM. Sau khi được thi hành, ASP sẽ sản sinh ra một trang Web có khuôn dạng HTML và trả nó về cho Web server.

Một bất lợi lớn đối với ASP là nó chỉ có thể hoạt động trên các họ Web server của Microsoft (bao gồm PWS trên Win9x hay IIS trên WinNT/2000/XP). Các nhà phát triển đang hướng đến những môi trường khác như Unix/Linux (hiện đã có bản Chili! ASP chạy trên các môi trường này), nhưng kết quả thì còn phải đợi thêm một thời gian nữa

3. Trước khi đi vào tìm hiểu lịch sử của PHP, có lẽ chúng ta cũng phải nhắc đến một tên tuổi khác là Java Server Pages hay JSP. Giống như ASP, trang JSP cho phép chứa HTML, các đoạn mã Java và các thành phần Java Bean và chúng sẽ thực hiện các công việc để sản sinh ra một trang Web để gửi về Client. Bất lợi chính của loại này là phải đi kèm với "máy ảo Java", vốn không được coi là nhanh về mặt tốc độ.

4. PHP - viết tắt của PHP Hypertext Preprocessor - một định nghĩa đệ quy khó hiểu!
Vào khoảng năm 1994, Rasmus Lerdorf đưa một số đoạn Perl Script vào trang Web để theo dõi xem ai đang đọc tài liệu của ông ta. Dần dần, người ta bắt đầu thích các đoạn Script này và sau đó đã xuất bản một gói công cụ có tên là "Personal Home Pages" (nghĩa đầu tiên của PHP). Ông ta đã viết một cơ chế nhúng và kết hợp với một số công cụ khác để phân tích đầu vào từ các mẫu biểu HTML: FI, Form Interpreter hay Phiên dịch mẫu biểu, được tạo ra theo cách đó và được đặt tên là PHP/FI hay PHP2. Nó được hoàn thành vào khoảng giữa năm 1995.

Sau đó, người ta bắt đầu sử dụng các công cụ này để xây dựng những thứ rắc rối hơn, và đội ngũ phát triển đã thay đổi từ một người duy nhất thành một nhóm các nhà phát triển nòng cốt trong dự án, và nó đã được tổ chức hoá. Đó là sự bắt đầu của PHP3. Đội ngũ các nhà phát triển (Rasmus Lerdorf, Andi Gutmans, Zeev Suraski, Stig Bakken, Shane Caraveo và Jim Winstead) đã cải tiến và mở rộng bộ máy nhúng và bổ sung thêm một số hàm API đơn giản cho phép các lập trình viên khác tự do bổ sung nhiều tính năng vào ngôn ngữ bằng cách viết các module cho nó. Cấu trúc của ngôn ngữ đã được tinh chế, được kết cấu thân thiện hơn đối với những người đến từ các ngôn ngữ hướng đối tượng hay các ngôn ngữ hướng thủ tục. Nếu bạn đã biết một vài ngôn ngữ lập trình khác thì khi đến với PHP, bạn sẽ không cảm thấy khó khăn.
Các bạn có thể tham khảo chi tiết về PHP tại trang web http://www.php.net.

5. HTML là gì ?

HTML là viết tắt của chữ HyperText Markup Language (ngôn ngữ đánh dấu siêu văn bản – Từ điển MTD-EVA 2002). Nó là ngôn ngữ chung dùng để tạo lập các tài liệu siêu văn bản (hay trang web) trong thế giới Web. Nó là một định dạng mở được xây dựng dựa trên SGML (Standard Generalized Markup Language), và có thể được tạo và xử lý bằng rất nhiều công cụ, từ trình soạn thảo văn bản thông thường (Notepad) – bạn có thể tạo nó từ những dòng lệnh cơ bản – đến những công cụ soạn thảo chuyên nghiệp phức tạp (MS FrontPage, Dreamwaver). HTML sử dụng những thẻ như <h1> và </h1> để cấu trúc những đoạn văn bản thành đầu đề, đoạn văn, danh sách, siêu liên kết...Và nó cũng được dùng để mô tả – ở một mức độ nào đó – cách thức hiển thị và ngữ nghĩa của tài liệu.
HTML ban đầu được đình nghĩa bởi Tim Berners-Lee và được phát triển thêm bởi IETF. Ngày nay, HTML đã trở thành một chuẩn quốc tế (ISO/IEC 15445:2000) và hiện đang được duy trì phát triển bởi tổ chức mạng lưới thế giới (World Wide Web W3C).

6. XHTML là gì ?


XHTML là viết tắt của chữ Extensible HyperText Markup Language (XHTML). XHTML là một họ những kiểu tài liệu của hiện tại và tương lai, nó kế thừa và mở rộng HTML, và tuân theo những chuẩn của XML. Họ các kiểu tài liệu XHTML đều dựa trên XML, và được thiết kế để làm việc với phần mềm dựa trên XML. XHTML là phiên bản kế tiếp của HTML, một loạt những đặc tả đã được phát triển cho XHTML.

Những câu hỏi thường gặp (FAQs)

Trả lời
  1. Tại sao lại cần XHTML? HTML không đủ tốt sao?

    HTML chắc chắn là ngôn ngữ đánh dấu tài liệu thành công nhất trên thế giới. Nhưng kể từ khi XML được giới thiệu, một cuộc họp đã được tổ chức để thảo luận liệu rằng một phiên bản mới của HTML theo chuẩn XML có cần thiết. Những ý kiến tại cuộc họp đó là "Có": với HTML dựa trên XML, những ngôn ngữ XML khác có thể bao gồm những mẩu tin của XHTML, và tài liệu XHTML có thể bao gồm những mẫu tin của các ngôn ngữ đánh dấu khác. Chúng ta cũng có thể lợi dụng việc thiết kế lại để dọn dẹp một vài phần lộn xộn của HTML, và thêm vào những chức năng cần thiết mới, giống như biểu mẫu tốt hơn.
  2. Đâu là ưu điểm của XHTML so với HTML?

    Nếu tài liệu của bạn chỉ đơn thuần là XHTML 1.0 (không bao gồm những ngôn ngữ đánh dấu khác) thì bạn sẽ không nhận thấy sự khác biệt rõ rệt. Tuy nhiên, khi mà ngày càng nhiều công cụ XML ra đời, như XSLT để biến đổi các tài liệu, bạn sẽ bắt đầu nhận ra những lợi điểm của XHTML. Ví dụ Xforms sẽ cho phép bạn soạn thảo tài liệu XHTML (hoặc là bất kỳ tài liệu nào thuộc loại XML) theo một cách vô cùng đơn giản. Các ứng dụng Web cũng có thể tận dụng những lợi thế này của tài liệu XHTML.

    Nếu tài liệu của bạn chứa đựng nhiều hơn XHTML 1.0, ví dụ nó bao gồm cả MathML, SMIL, hay SVG, thì ưu điểm sẽ xuất hiện rõ rệt: bạn không thể làm những công việc địa loại như vậy với HTML.
  3. Cách dễ nhất để chuyển đồi tài liệu của tôi từ HTML sang XHTML là gì?

    Phần mềm HTML Tidy sẽ cho bạn một lựa chọn trong việc chuyển đổi bất kỳ một tài liệu HTML sang dạng XHTML. Amaya là một trình duyệt kiêm soạn thảo tài liệu web và có thể lưu tài liệu HTML của bạn dưới dạng XHTML.
  4. Tại sao tôi phải quan tâm XHTML nếu tài liệu HTML của tôi hiển thị tốt trên trình duyệt web của tôi?

    Tất cả các trình duyệt web biết phải làm thế nào để xử lý tài liệu HTML chính xác. Tuy nhiên, nếu như tài liệu HTML không chính xác, trình duyệt web phải sửa tài liệu, và bởi vì không phải trình duyệt nào cũng sửa tài liệu HTML không chính xác này theo một cách giống nhau, điều này làm nảy sinh những khác biệt, do đó tài liệu của bạn sẽ trông và hoạt động một cách khác nhau trên những trình duyệt khác nhau. Vì có đến hàng trăm trình duyệt web khác nhau, và nhiều cái khác đang xuất hiện dần (không chỉ trên PC, mà còn cả trên PDA, điện thoại di động, ti vi, máy in, và ngay cả tủ lạnh). Bên cạnh đó, bạn không thể thử nghiệm tài liệu HTML trên mọi trình duyệt. Nếu bạn dùng tài liệu HTML có lỗi và tài liệu này không hiển thị được trên một trình duyệt nào đó, thì lỗi là do bạn; nếu bạn dùng tài liệu tài liệu HTML không có lỗi và nó cũng không hiển thị được trên một trình duyệt nào đó, thì đây là một lỗi của trình duyệt.
  5. Tôi có thể kiểm tra tài liệu của tôi có được định dạng chính xác hay không ở đâu?

    W3C cung cấp một dịch vụ tại địa chỉ http://validator.w3.org/. Tại địa chỉ này, bạn có thể kiểm tra tính đúng đắn của một tệp xhtml (.html,.htm) hay một web site trên internet.
    Bên cạnh đó phần mềm Amaya cũng có khả năng kiểm tra tài liệu đánh dấu (HTML/XHTML) của bạn có đúng đắn hay không.
  6. Đâu là sự khác biệt giữa "user agent" và "browser" (trình duyệt)?

    Mặc dù trình duyệt thật sự là một chương trình quan trọng sử dụng tài liệu HTML/XHTML, nhưng có những chương trình khác và những hệ thống khác có thể đọc được những tài liệu này. Những máy tìm kiếm (Search engines) chẳng hạn, chúng đọc những tài liệu này để tìm kiếm tài liệu nhưng chúng không phải là các trình duyệt web. Bằng cách sử dụng thuật ngữ “user agent” chúng tôi muốn nhắc cho mọi người về sự khác biệt này.

    Ví dụ, khi bạn tìm kiếm với Google, bạn thường thấy ở phía dưới mỗi dòng kết quả tìm kiếm một dòng chữ đại loại như “This web page uses frames, but your browser doesn’t support them” (trang web này có sử các khung, nhưng trình duyệt của bạn không hỗ trợ nó), điểu này khiến cho một vài người e ngại không nhắp chuột vào liên kết đó. Tác giả của những trang web này đã không nhận ra rằng có các chương trình khác cũng đọc tài liệu HTML/XHTML chứ không chỉ có mỗi trình duyệt mà thôi. Do đó họ nên thêm vào những đoạn văn vào đoạn <noframes>, để trang web của họ sẽ không hiện ra một cách ngớ ngẩn khi người ta tìm thấy trang web của họ.
  7. Tại sao tôi lại phải sử dụng khái niệm "namespace" trong tài liệu XHTML?Trong những ngày đầu của HTML, nhiều nhóm và công ty đã thêm vào những thành phần (elements) và thuộc tính vào HTML để sắn sàng. Điều này đe dọa sẽ tao ra một cuộc hỗn loạn về các phiên bản HTML khác nhau không tương thích. XML (chữ X đại diện cho chữ Extensible) cho phép mọi người sử dụng các thành phần (elements) từ những ngôn ngữ khác nhau, nhưng để cho một trình duyệt hoặc chương trình đọc HTML khác (user agent) biết thành phần nào thuộc về ngôn ngữ nào thì bạn phải nói cho nó biết. Phần khai báo không gian tên (namespace) làm việc đó.
  8. Tại sao lại cho phép gửi tài liệu XHTML 1.0 dưới dạng text/html?XHTML là định dạng XML; điều này có nghĩa là lý ra no phải được gửi đi với một kiểu truyền thông liên quan đến XML (application/xhtml+xml, application/xml, hoặc text/xml). Tuy nhiên XHTML 1.0 đã được thiết kế một cách kỹ lưỡng để mà nó có thể hoạt động được với cả những phần mềm tác nhân HTML cũ. Nếu bạn tuân theo một số chỉ dẫn đơn giản, bạn có thể có được nhiều tài liệu XHTML 1.0 để làm việc với những trình duyệt cũ. Tuy nhiên những trình duyệt cũ chỉ có thể hiểu được kiểu truyền thông text/html, do đó bạn phải sử dụng kiểu truyền thông này nếu bạn muốn gửi tài liệu XHTML 1.0 tới chúng. Những cũng phải nên lưu ý rằng, gửi những tài liệu XHTML đến những trình duyệt dưới dạng text/html đồng nghĩa với việc những trình duyệt đó sẽ hiểu và hiển thị những tài liệu này dưới dạng HTML, chứ không phải XHTML.
  9. Tại sao lại cho phép gửi tài liệu XHTML 1.1 dưới dạng text/html?XHTML 1.1 là XML thuần túy, và chỉ được dùng như XML. Nó không thể gửi một cách tin cậy đến những trình duyệt cũ. Do đó tài liệu XHTML 1.1 phải được gửi với kiểu truyền thông liên quan đến XML, như application/xhtml+xml.
  10. CSS có rất nhiều quy tắc đặc biệt chỉ áp dụng đối với HTML. Liệu những quy tắc này có còn áp dụng đối với XHTML?Không, các quy tắc của CSS (Cascade Style Sheet) chỉ áp dụng đối với HTML, và với những tài liệu mà nó kế thừa từ text/html.



  Trả lời ngay kèm theo trích dẫn này
Gửi trả lời



Quyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Hình Cảm xúc đang Mở
[IMG] đang Mở
Mã HTML đang Tắt




Bây giờ là 07:27 PM. Giờ GMT +7



Diễn đàn tin học QuantriNet
quantrinet.com | quantrimang.co.cc
Founded by Trương Văn Phương | Developed by QuantriNet's members.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.