2009-12-28 12 views
7

Jaka jest różnica między rozszerzeniami plików .html i .xhtml?Jaka jest różnica między rozszerzeniami .html i .xhtml? XHTML jest językiem znaczników lub innym rozszerzeniem również

Jaka jest korzyść z używania przedłużki .xhtml?

Dlaczego nie używamy rozszerzenia .xhtml, czy to tylko z powodu IE?

Co z rozszerzeniem .xhtml z IE 8?

Czy .xhtml jest obsługiwany w innych przeglądarkach poza IE? Jeśli tak, to jaką korzyść uzyskamy, gdy wszystkie przeglądarki obsługują rozszerzenie .xhtml. Czy przestaniemy używać .html?

Dlaczego używamy typu dokumentu XHTML, ale zapisujemy te pliki przy użyciu rozszerzenia .html?

+0

Wystarczy popatrzeć na http://hixie.ch/advocacy/xhtml to chcesz wiedzieć więcej o wysyłaniu treści z dokumentami XHTML jako HTML. – Ms2ger

Odpowiedz

13

Jeśli obsługiwany przez HTTP, rozszerzenie pliku nie ma znaczenia. Jedyne informacje, które mają znaczenie to Content-Type header field, gdzie określono media type zasobu.

Jednak w przypadku serwowania z lokalnego systemu plików typ pliku jest zwykle identyfikowany przez rozszerzenie pliku.


Edit myślę powód dlaczego rozszerzenie .html służy nawet jeśli to jest XHTML, ponieważ XHTML HTML jest tylko ze składnią XML i każdy służy do .html dla dokumentów HTML. (Chociaż większość dokumentów XHTML jest faktycznie wyświetlana jako HTML, ponieważ typ nośnika tekst/html oznacza HTML bez względu na deklarację typu dokumentu.)

Ale znowu: rozszerzenia nie są konieczne na żądanie przez HTTP. W HTTP pole nagłówka Content-Type określa typ nośnika, z którym zasób powinien być interpretowany. Więc teoretycznie możesz użyć dowolnego rozszerzenia, które chcesz lub nawet nie używać żadnego rozszerzenia (przydatne, gdy używana jest negocjacja treści).

+0

Jednak rozszerzenie zazwyczaj ma wpływ na Content-Type. – Ms2ger

+1

@ ms2ger: Nie, rozszerzenie pliku nie ma żadnego wpływu na Content-Type. – Gumbo

+1

"Ma to efekt", ponieważ serwery często mapują rozszerzenia do typów zawartości (np. Za pośrednictwem dyrektywy Apache 'AddType' lub jej pliku' mime.types'), ale masz rację, że nie zmienia ona zawartości pliku (to byłoby naprawdę dziwne). – Wevah

1

Nikt nie dba o nazwę pliku, tylko o to, z jakim typem MIME został przekazany.

-1

Myślę, że rozszerzenie xhtml jest używane tylko dla XHTML, ale jest rzadko używane, ponieważ typ HTML, którego używasz, jest zdefiniowany w elemencie DOCTYPE.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
+0

To jest idealnie poprawna odpowiedź. Dlaczego tak wiele zostało odrzucone? – mjohnsonengr

0

Przeglądarki nie polegają (tylko) na rozszerzeniu strony, ale w typie treści MIME. W ten sposób możesz na przykład utworzyć stronę PHP, która wyświetla obraz JPG.

2

IE (w tym IE8) jest jedynym (znaczące) przeglądarka nie wsparcie XHTML służył jako application/xhtml+xml (odpowiada xht lub xhtml rozszerzeń).

Czy wszyscy przejdą na XHTML, gdy IE go obsługuje? Prawdopodobnie nie. XML nie jest łatwy do uzyskania, zwłaszcza jeśli musisz uwzględnić dane dostarczone przez użytkownika, takie jak komentarze na blogu. (Chociaż można to rozwiązać za pomocą (X) HTML5 <iframe sandbox>, zanim IE zacznie grać dalej.) Jednak nie mam kryształowej kuli, więc musimy po prostu poczekać i zobaczyć, co się stanie.

3

używać rozszerzenia, które pasuje do typu MIME:

  • .xhtml jest dla application/xhtml+xml dokumentów
  • .html jest text/html dokumentów

Na przykład ePub3 wymaga .xhtml:

Zdecydowanie zaleca się używanie rozszerzenia .xhtml dla wszystkich dokumentów z zawartością EPUB. Przeglądarki nie będą interpretować treści HTML jako application/xhtml + xml bez tego rozszerzenia.

Referencje

Powiązane problemy