Sự khác biệt giữa .asp và .aspx

ASP là một khung phát triển web và hỗ trợ các mô hình khác nhau như Classic ASP, ASP.NET Web Forms, ASP.NET MVC, ASP.NET Web Pages, ASP.NET API và ASP.NET Core.

ASP và ASP.NET là các công nghệ phía máy chủ thực thi mã trên máy chủ web.

Trang máy chủ hoạt động (ASP), được phát triển bởi Microsoft, giống như các trang HTML chứa tập lệnh và phương tiện nhúng, sau đó được xử lý trên máy chủ web, trước đây (với Classic ASP), nó chỉ được triển khai trong môi trường Microsoft.

Trang máy chủ hoạt động có phần mở rộng tệp .asp (đối với ASP cổ điển) hoặc .aspx (cho ASP.NET)

Khi người dùng web bắt đầu một yêu cầu, bằng cách gọi một trang ASP hoặc ASP.NET, máy chủ web sẽ xử lý Trang máy chủ hoạt động và công cụ tạo tập lệnh tạo nội dung được hiển thị lại (đang hoạt động) cho người dùng web.  ASP hoạt động với bất kỳ trình duyệt nào hỗ trợ HTML (vì đầu ra là HTML).

Trang máy chủ hoạt động trình bày mặt trước của các ứng dụng dựa trên web bằng cách chạy ActiveX tập lệnh và các thành phần được chèn vào các trang web.

ActiveX tương tự như Java Applet và sử dụng các công nghệ hướng đối tượng cho các lập trình viên để phát triển các ứng dụng web mạnh mẽ và năng động dễ dàng hơn. Các tập lệnh và thành phần này được đóng gói dưới dạng các điều khiển ActiveX có thể tái sử dụng và có thể được chia sẻ bởi các lập trình viên và chương trình khác nhau.

ASP.NET được phát hành lần đầu tiên vào năm 2002 trong .Khung NET 1.0, và thay thế Classic ASP, đã phát hành ba phiên bản từ 1996 đến 2000.

Phiên bản cuối cùng của Classic ASP được phát hành vào tháng 11 năm 2000 với tên gọi ASP 3.0 cho IIS 5.0 và vẫn được Microsoft hỗ trợ chính thức cho đến năm 2020.

Nó có thể là một Cổ điển, nhưng ASP vẫn là một cách tiếp cận mạnh mẽ cho các trang web động.

Cổ điển ASP

Ban đầu, ASP là một tính năng bổ trợ cho Microsoft IIS (Máy chủ thông tin Internet), tuy nhiên, với việc phát hành Windows Server 2000, nó đã trở thành một thành phần vĩnh viễn và miễn phí của IIS.

Dịch vụ thông tin Internet của Microsoft là công cụ máy chủ web có thể tùy chỉnh và mô đun của Microsoft hỗ trợ các giao thức HTTP, HTTPS, FTP, FTPS, SMTP và NNTP.

Là ngôn ngữ kịch bản phía máy chủ đầu tiên của Microsoft cho các trang web động, Classic ASP (.asp) chỉ có thể chạy trên nền tảng của Microsoft khi hai ngôn ngữ được sử dụng là VBScript và JScript. Vào thời điểm đó, Microsoft không cung cấp hỗ trợ riêng cho các ngôn ngữ lập trình khác.

VBScript thực sự được thiết kế cho trình duyệt Internet Explorer và bị giới hạn chức năng trong khả năng tạo tập lệnh của nó và JScript chỉ được hỗ trợ trên trình duyệt Internet Explorer và Netscape.

.Nền tảng NET

.NET Framework của Microsoft[i] là môi trường để các nhà phát triển xây dựng các trang web động, ứng dụng web và dịch vụ web.

Nó là một khung phần mềm (môi trường) cung cấp một thư viện lớp lớn (Thư viện lớp khung - FCL) và hỗ trợ một số ngôn ngữ cho phép khung xử lý mã được viết bằng các ngôn ngữ khác.

.Các chương trình NET được thực thi trong một Thời gian chạy ngôn ngữ chung (CLR) môi trường, vì vậy về bản chất, FCL và CLR tạo nên .NET Framework.

.NET đã phát hành các bản cập nhật tích lũy và các thành phần con trong 15 năm qua, cung cấp một nền tảng web ổn định và được triển khai rộng rãi, không còn dành riêng cho môi trường Microsoft.

Mặc dù các bản phát hành ASP.NET song song chặt chẽ với các bản phát hành IIS, nhưng nó có thể được phát triển trên các khung công tác khác như Spring.NET (khung cho Java).

Di chuyển từ ASP sang ASPX

Với .aspx thay thế .asp, các nhà phát triển được khuyến khích tập trung vào việc thiết kế các ứng dụng với mô hình GUI hướng sự kiện, thay vì tập lệnh web bằng cách sử dụng ASP (và PHP). PHP vẫn đang được tích cực phát triển không giống như ASP, đơn giản là được thay thế bởi ASP.NET.

Có một danh sách đầy đủ các cải tiến có thể thúc đẩy quyết định di chuyển, với rất ít lý do để không - hãy xem xét một số yếu tố thúc đẩy:

  • Với ASP.NET được biên dịch mã, nó chạy nhanh hơn với phát hiện lỗi sớm hơn trong giai đoạn phát triển. Ngoài ra, việc xử lý lỗi đã được cải thiện đáng kể từ ASP.
  • NET có thể lưu trữ toàn bộ trang web (hoặc chỉ một phần), có cải thiện đáng chú ý về hiệu suất - trong đó việc tải trang nhanh hơn nhiều nếu nội dung đã ở đó, chờ được gọi lại.
  • NET có Kỳ họp để lưu dữ liệu đã nhập và trong một số trường hợp, điều này trở nên cần thiết khi một hoạt động hoặc nhiệm vụ phải được theo dõi trực tuyến (ví dụ: chụp bảng chấm công hoặc mua sắm trực tuyến) hoặc thậm chí chỉ để ghi nhớ chi tiết đăng nhập.
  • Từ ASP.NET 4.6, có hỗ trợ HTTP / 2 [ii] trên Windows 10. HTTP / 2 là bản sửa đổi của HTTP - giao thức web như chúng ta biết. Tốc độ và hiệu suất được công nhận là yếu tố thúc đẩy để chuyển sang HTTP / 2.
  • NET cung cấp các điều khiển mở rộng và thư viện lớp và các điều khiển do người dùng định nghĩa, được trình bày bằng các trình soạn thảo trực quan.
  • NET xử lý rò rỉ bộ nhớ bằng cách tải và tải lại ứng dụng.
  • Các cải tiến đã được thực hiện từ ASP.NET 2.0 để giải quyết việc tuân thủ các tiêu chuẩn vì mã được tạo hiển thị lại cho người dùng web không nhất quán xác nhận theo các tiêu chuẩn W3C / ECMA.

ASP.NET trên các nền tảng không phải của Microsoft

ASP.NET và Apache

Các mod_mono Mô-đun Apache chạy các ứng dụng ASP.NET trên Máy chủ Web Apache và quản lý các yêu cầu giữa ứng dụng và quy trình Mono bên ngoài lưu trữ ứng dụng ASP.NET. Máy chủ bên ngoài này là một phần của mô-đun XSP, được gọi là mod-mono-server.

ASP.NET và XSP

Được phát triển trong C #, XSP là một máy chủ web độc lập chạy các ứng dụng ASP.NET. Nó có thư viện trang và điều khiển riêng được sử dụng để kiểm tra máy chủ và ứng dụng ASP.NET.

ASP.NET với Nginx

ASP.NET có thể được lưu trữ trên Nginx (engine X), đây là máy chủ HTTP và proxy ngược hiệu năng cao hỗ trợ các ứng dụng web ASP.NET và ASP.NET MVC.

Tương lai của ASP.NET

Ngành công nghiệp đang kỳ vọng ASP.NET 5 sẽ là sự phát triển lớn tiếp theo cho ASP.NET, tuy nhiên, Microsoft đã ngừng phát triển tích cực để tập trung vào Lõi ASP.NET thay thế.

ASP.NET Core là một khung công tác đa nền tảng nguồn mở để phát triển và triển khai các ứng dụng dựa trên đám mây. Các ứng dụng được phát triển trong ASP.NET Core có thể chạy trên Windows, Mac và Linux.

ASP.NET vẫn là phương pháp ưa thích của các doanh nghiệp vì đây là một nền tảng an toàn với sự hỗ trợ và bảo trì rộng rãi; tuy nhiên với sự phát triển của các nền tảng MVC, Azure, Signal R, v.v., .NET sẽ cần tiếp tục phát triển để nắm lấy các công nghệ mới.