2008-11-27 33 views

Trả lời

0

Rất nhiều người đang sử dụng kiến ​​trúc kiểu "RESTful" nhiều hơn ... hoặc ít nhất, URL tìm kiếm.

Trang web này (StackOverflow) không hiển thị phần mở rộng tệp ... đang sử dụng ASP.NET MVC.

5

Đối với trang web sử dụng Apache, họ có thể sử dụng mod_rewrite cho phép họ viết lại URL (và làm cho họ với người dùng hơn và thân thiện với SEO)

Bạn có thể đọc thêm ở đây http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html và đây http://www.sitepoint.com/article/apache-mod_rewrite-examples/

EDIT: Có các mô-đun viết lại cho IIS.

+0

+1 Có, chắc chắn mod_rewrite hoặc mô-đun tương tự tùy thuộc vào phần mềm máy chủ của họ –

+1

Lưu ý rằng Amazon chạy một máy chủ ứng dụng web tùy chỉnh được gọi là "obidos". – Rob

+0

@Rob, không có ý tưởng rằng họ đã có một ứng dụng web tùy chỉnh ... thnx – Kostis

0

Tùy thuộc vào cài đặt của máy chủ của bạn, bạn có thể sử dụng (hoặc không) bất kỳ tiện ích nào bạn muốn. Bạn thậm chí có thể đặt các tiện ích mở rộng thành ".JamesRocks" nhưng nó sẽ không hữu ích lắm :)

Bất kỳ trường hợp nào bạn mới sử dụng lập trình web tất cả những điều vô nghĩa khi kết thúc đều có đối số cho phép toán GET, chứ không phải phần mở rộng của trang.

9

Thông thường, nó được triển khai bằng cách sử dụng lược đồ viết lại URL của một số mô tả. Khái niệm cơ bản là web nên di chuyển để giải quyết các tài nguyên với các URI thích hợp, không phải các URL cũ cổ điển, làm rò rỉ chi tiết triển khai và dễ bị tổn thương trước các thay đổi trong tương lai. Có thể tìm thấy một cuộc thảo luận kỹ lưỡng về chủ đề này trong bài viết Cool URIs Don't Change của Tim Berners-Lee, điều này có lợi cho việc giảm các chuyến bay không liên quan trong URI như một phương tiện giúp tránh các vấn đề xảy ra khi triển khai thay đổi, và khi nào tài nguyên di chuyển đến một URL khác. Bản thân bài viết có lời khuyên chung chung về việc lên kế hoạch cho một lược đồ URI, và cũng đáng đọc.

22

Trình duyệt của bạn không quan tâm đến phần mở rộng của tệp, chỉ loại nội dung mà máy chủ báo cáo. (Vâng, trừ khi bạn sử dụng IE vì tại Microsoft họ nghĩ rằng họ biết nhiều hơn về những gì bạn đang phục vụ lên hơn bạn làm). Nếu máy chủ của bạn báo cáo rằng nội dung đang được phân phát là Content-Type: text/html, thì trình duyệt của bạn được coi là xử lý nó như HTML của nó bất kể tên tệp là gì.

-1

Trong Django (một khung ứng dụng web cho python), bạn tự thiết kế các URL, độc lập với bất kỳ tên tệp nào hoặc thậm chí bất kỳ đường dẫn nào trên máy chủ cho vấn đề đó.

Bạn chỉ cần nói điều gì đó như "Tôi muốn /news/<number>/ url để được xử lý bởi chức năng này"

3

Theo truyền thống, mở rộng tập tin đại diện cho tập tin đó đang được phục vụ.

Ví dụ

http://someserver/somepath/image.jpg

Sau đó phương pháp tương tự đã được sử dụng để cho phép một quá trình kịch bản tham số

http://somerverser/somepath/script.php?param=1234&other=7890

Trong trường hợp này t anh ta là một tập lệnh php xử lý "yêu cầu" và trình bày một tập tin được tạo ra từ thực tế.

Ngày nay, các ứng dụng rất phức tạp nhiều hơn thế (cụ thể là amazon mà bạn metioned)

Sau đó, không có một kịch bản duy nhất để xử lý yêu cầu (nhưng một phức tạp hơn rất nhiều ứng dụng wit file nhiều/phương pháp/chức năng/đối tượng, vv) và url giống với điểm nhập cho ứng dụng web (có thể có tập lệnh phía sau nhưng một thứ khác) vì vậy hiện tại các ứng dụng web như amazon và stackoverflow có không hiển thị tệp trong URL nhưng bất cứ điều gì comming được xử lý bởi các ứng dụng ở phía máy chủ.

websites urls without file extension?

Ở đây tôi câu hỏi đại diện cho webapp và 322.747 tham số

Tôi hy vọng lời giải thích này ít giúp bạn hiểu rõ hơn về tất cả các câu trả lời khác.

0

Một số bài đăng đã đề cập đến điều này và tôi sẽ cân nhắc. Nó hoàn toàn là hệ thống viết lại URL và một số nền tảng có cách để thực hiện điều này.

Tôi đã làm việc cho một số trang web thương mại điện tử lớn hơn và bây giờ nó là một phần rất quan trọng của sự hiện diện web và cung cấp một số lợi thế.

Tôi khuyên bạn nên sử dụng công nghệ bạn muốn làm việc cùng và nghiên cứu các mẫu của cơ chế viết lại URL cho nền tảng đó. Đối với .NET, ví dụ, có google 'asp.net url viết lại' hoặc sử dụng một khung công cụ bổ sung như MVC, mà chức năng này ra khỏi hộp.

5

Cụ thể hơn so với hầu hết các câu trả lời:

nội dung Web không sử dụng phần mở rộng tập tin để xác định loại tập tin đang được phục vụ (trừ khi bạn trình duyệt Internet Explorer). Thay vào đó, họ sử dụng tiêu đề HTTP Content-type, được gửi xuống dây trước nội dung của hình ảnh, trang HTML, tải xuống hoặc bất kỳ thứ gì. Ví dụ:

Content-type: text/html 

biểu thị rằng trang web mà bạn đang xem nên được hiểu dưới dạng HTML, và

Content-type: image/png 

biểu thị rằng trang này là một hình ảnh PNG.

máy chủ Web thường sử dụng phần mở rộng tập tin nếu tập tin được phục vụ trực tiếp từ đĩa vào xác địnhContent-type chuyển nhượng, nhưng các ứng dụng web cũng có thể tạo các trang với bất kỳ Content-type họ thích để đáp ứng với yêu cầu. Bất kể cấu trúc hoặc phần mở rộng của tên tệp, miễn là nội dung thực tế của trang phù hợp với khai báo Content-type, dữ liệu sẽ hiển thị như dự định.

1

Làm thế nào để có tệp index.html trong thư mục và sau đó bạn nhập đường dẫn vào trình duyệt? Tôi thấy rằng cả Firefox và IE7 đều tự động đặt dấu gạch chéo, tôi không phải gõ nó. Điều này là phù hợp hơn với những người như tôi mà không nghĩ rằng mỗi url duy nhất trên trái đất nên gọi php, perl, cgi và 10.000 ứng dụng khác chỉ để gửi một vài kilobyte dữ liệu.

Các vấn đề liên quan