HTML - HTML
![]() Den officiella logotypen för den senaste versionen, HTML5
| |
Filnamnstillägg | |
---|---|
Internetmedietyp |
text/html
|
Skriv kod | TEXT |
Uniform Type Identifier (UTI) | public.html |
Utvecklad av | VAD |
Initial release | 1993 |
Senaste släppningen |
Levnadsstandard (2021) |
Typ av format | Dokumentfilformat |
Behållare för | HTML -element |
Innehållet av | webbläsare |
Förlängd från | SGML |
Förlängd till | XHTML |
Ja | |
Hemsida |
HTML |
---|
Jämförelser |
Den Hypertext Markup Language , eller HTML är standard markup language för dokument som är avsedda att visas i en webbläsare . Det kan biträdas av teknik som Cascading Style Sheets (CSS) och skriptspråk som JavaScript .
Webbläsare tar emot HTML -dokument från en webbserver eller från lokal lagring och gör dokumenten till multimediasidor. HTML beskriver strukturen på en webbsida semantiskt och ursprungligen inkluderade ledtrådar för dokumentets utseende.
HTML -element är byggstenarna för HTML -sidor. Med HTML -konstruktioner kan bilder och andra objekt som interaktiva formulär vara inbäddade i den renderade sidan. HTML ger ett sätt att skapa strukturerade dokument genom att beteckna strukturell semantik för text som rubriker, stycken, listor, länkar , citat och andra objekt. HTML -element avgränsas av taggar , skrivna med vinkelparenteser . Taggar som och introducerar innehåll direkt på sidan. Andra taggar som surround och ger information om dokumenttext och kan innehålla andra taggar som underelement. Webbläsare visar inte HTML -taggar, utan använder dem för att tolka innehållet på sidan.
HTML kan bädda in program skrivna på ett skriptspråk som JavaScript , vilket påverkar beteendet och innehållet på webbsidor. Införande av CSS definierar utseendet och layouten på innehåll. Den World Wide Web Consortium (W3C), tidigare ansvarig för HTML och nuvarande ansvarige för CSS standarder har uppmuntrat användningen av CSS över explicit presentations HTML sedan 1997.
Utveckling

1980, fysiker Tim Berners-Lee , en entreprenör på CERN , föreslog och prototypade INQUIRE , ett system för CERN-forskare att använda och dela dokument. År 1989 skrev Berners-Lee ett memo föreslå en Internet -baserad hypersystem. Berners-Lee specificerade HTML och skrev webbläsaren och serverprogramvaran i slutet av 1990. Det året samarbetade Berners-Lee och CERN datasystemingenjör Robert Cailliau om en gemensam begäran om finansiering, men projektet antogs inte formellt av CERN. I sina personliga anteckningar från 1990 listade han "några av de många områden där hypertext används" och satte en encyklopedi först.
Den första allmänt tillgängliga beskrivningen av HTML var ett dokument som kallades "HTML-taggar" , som först nämndes på Internet av Tim Berners-Lee i slutet av 1991. Det beskriver 18 element som omfattar den initiala, relativt enkla utformningen av HTML. Med undantag för hyperlänkstaggen påverkades dessa starkt av SGMLguid , ett internt standard generaliserat markeringsspråk (SGML) -baserat dokumentationsformat på CERN. Elva av dessa element finns fortfarande i HTML 4.
(Compatible Time -Sharing System) operativsystem: dessa formateringskommandon härrörde från kommandon som används av skrivmaskiner för att formatera dokument manuellt. SGML -konceptet med generaliserad markering är emellertid baserat på element (kapslade kommenterade intervall med attribut) snarare än bara utskriftseffekter, med även separering av struktur och markup; HTML har successivt flyttats i denna riktning med CSS. konkurrerande Internet-Draft, "HTML+ (Hypertext Markup Format)", från slutet av 1993, att standardisera redan implementerade funktioner som tabeller och fyllningsformulär.Efter att HTML- och HTML+ -utkasten löpte ut i början av 1994 skapade IETF en HTML -arbetsgrupp som 1995 slutförde "HTML 2.0", den första HTML -specifikationen som skulle behandlas som en standard mot vilken framtida implementeringar bör baseras.
Vidare utveckling i IETF: s regi stannade av konkurrerande intressen. Sedan 1996 har HTML -specifikationerna bibehållits, med input från kommersiella programvaruleverantörer, av World Wide Web Consortium (W3C). Men år 2000 blev HTML också en internationell standard ( ISO / IEC 15445: 2000). HTML 4.01 publicerades i slutet av 1999, med ytterligare fel publicerade genom 2001. År 2004 började utvecklingen av HTML5 i Web Hypertext Application Technology Working Group (WHATWG), som blev en gemensam leverans med W3C 2008, och slutfördes och standardiserades på 28 oktober 2014.
HTML -versioner tidslinje
HTML 2
HTML 3
- 14 januari 1997
- HTML 3.2 publicerades som en W3C -rekommendation . Det var den första versionen som utvecklades och standardiserades uteslutande av W3C, eftersom IETF hade stängt sin HTML -arbetsgrupp den 12 september 1996.
- Ursprungligen kodnamnet "Wilbur", HTML 3.2 tappade matematiska formler helt, förenade överlappning mellan olika egna tillägg och antog de flesta av Netscapes visuella markeringstaggar. Netscapes blink inslag och Microsoft : s tält del utelämnades på grund av en överenskommelse mellan de två företagen. En markering för matematiska formler som liknar den i HTML standardiserades inte förrän 14 månader senare i MathML .
HTML 4
- 18 december 1997
- HTML 4.0 publicerades som en W3C -rekommendation. Den erbjuder tre varianter:
- Strikt, där utfasade element är förbjudna
- Övergång, där föråldrade element är tillåtna
- Ramram, där det mestadels endast är ramrelaterade element som är tillåtna.
- Ursprungligen kodnamnet "Cougar", HTML 4.0 antog många webbläsarspecifika elementtyper och attribut, men försökte samtidigt fasa ut Netscapes visuella markup-funktioner genom att markera dem som utfasade till förmån för formatmallar. HTML 4 är en SGML -applikation som överensstämmer med ISO 8879 - SGML.
- 24 april 1998
- HTML 4.0 återutgavs med mindre ändringar utan att versionsnumret ökades.
- 24 december 1999
- HTML 4.01 publicerades som en W3C -rekommendation. Den erbjuder samma tre varianter som HTML 4.0 och dess senaste errata publicerades den 12 maj 2001.
- Maj 2000
- ISO/IEC 15445: 2000 (" ISO HTML", baserat på HTML 4.01 Strict) publicerades som en ISO/IEC internationell standard. I ISO faller denna standard inom ISO/IEC JTC1/SC34 (ISO/IEC Joint Technical Committee 1, underkommitté 34 - Dokumentbeskrivning och bearbetningsspråk).
- Efter HTML 4.01 fanns det ingen ny version av HTML under många år eftersom utvecklingen av det parallella XML-baserade språket XHTML ockuperade W3C: s HTML-arbetsgrupp genom början och mitten av 2000-talet.
HTML 5
- 28 oktober 2014
- HTML5 publicerades som en W3C -rekommendation.
- 1 november 2016
- HTML 5.1 publicerades som en W3C -rekommendation.
- 14 december 2017
- HTML 5.2 publicerades som en W3C -rekommendation.
Tidslinje för HTML -utkastversion
- Oktober 1991
- HTML -taggar , ett informellt CERN -dokument med 18 HTML -taggar, nämndes först offentligt.
- Juni 1992
- Första informella utkastet till HTML DTD, med sju efterföljande revisioner (15 juli, 6 augusti, 18 augusti, 17 november, 19 november, 20 november, 22 november)
- November 1992
- HTML DTD 1.1 (den första med ett versionsnummer, baserat på RCS -revisioner, som börjar med 1.1 snarare än 1.0), ett informellt utkast
- Juni 1993
- Hypertext Markup Language publicerades av IETF IIIR Working Group som ett Internetutkast (ett grovt förslag till en standard). Den ersattes av en andra version en månad senare.
- November 1993
- HTML+ publicerades av IETF som ett Internetutkast och var ett konkurrerande förslag till Hypertext Markup Language -utkastet. Den gick ut i juli 1994.
- November 1994
- Första utkastet (revision 00) av HTML 2.0 publicerat av IETF själv (kallat "HTML 2.0" från version 02), som slutligen ledde till publicering av RFC 1866 i november 1995.
- April 1995 (författad i mars 1995)
- HTML 3.0 föreslogs som en standard för IETF, men förslaget gick ut fem månader senare (28 september 1995) utan ytterligare åtgärder. Det inkluderade många av de funktioner som fanns i Raggetts HTML+ -förslag, till exempel stöd för tabeller, textflöde runt figurer och visning av komplexa matematiska formler.
- W3C började utveckla sin egen Arena -webbläsare som en testbädd för HTML 3 och Cascading Style Sheets, men HTML 3.0 lyckades inte av flera skäl. Utkastet ansågs mycket stort på 150 sidor och takten i webbläsarutveckling, liksom antalet intresserade, hade överträffat IETF: s resurser. Webbläsarleverantörer, inklusive Microsoft och Netscape på den tiden, valde att implementera olika delmängder av HTML 3: s utkastsfunktioner samt att introducera sina egna tillägg till den. (se webbläsarkrig ). Dessa inkluderade tillägg för att styra stilistiska aspekter av dokument, i motsats till "tron [i det akademiska ingenjörssamhället] att saker som textfärg, bakgrundstextur, teckenstorlek och teckensnitt definitivt var utanför språket när deras enda uppsåt var för att ange hur ett dokument skulle organiseras. " Dave Raggett, som har varit W3C -stipendiat i många år, har till exempel kommenterat: "Till viss del byggde Microsoft sin verksamhet på webben genom att utöka HTML -funktioner."
- Januari 2008
- HTML5 publicerades som ett arbetsutkast av W3C.
- Även om dess syntax liknar SGML , har HTML5 övergett alla försök att vara en SGML-applikation och har uttryckligen definierat sin egen "html" -serialisering, förutom en alternativ XML-baserad XHTML5-serialisering.
- 2011 HTML5 - Sista samtalet
- Den 14 februari 2011 förlängde W3C stadgan för sin HTML -arbetsgrupp med tydliga milstolpar för HTML5. I maj 2011 avancerade arbetsgruppen HTML5 till "Last Call", en inbjudan till grupper inom och utanför W3C för att bekräfta specifikationen. W3C utvecklade en omfattande testsvit för att uppnå bred interoperabilitet för hela specifikationen senast 2014, vilket var måldatum för rekommendation. I januari 2011 bytte WHATWG namn på sin "HTML5" levnadsstandard till "HTML". W3C fortsätter dock sitt projekt för att släppa HTML5.
- 2012 HTML5 - Kandidatrekommendation
- I juli 2012 beslutade WHATWG och W3C om en grad av separation. W3C kommer att fortsätta HTML5 -specifikationsarbetet, med fokus på en enda definitiv standard, som betraktas som en "ögonblicksbild" av WHATWG. WHATWG -organisationen kommer att fortsätta sitt arbete med HTML5 som en "levnadsstandard". Konceptet med en levnadsstandard är att den aldrig är komplett och alltid uppdateras och förbättras. Nya funktioner kan läggas till men funktionalitet tas inte bort.
- I december 2012 utsåg W3C HTML5 som en kandidatrekommendation. Kriteriet för avancemang till W3C -rekommendationen är "två 100% fullständiga och fullständigt driftskompatibla implementeringar".
- 2014 HTML5 - Föreslagen rekommendation och rekommendation
- I september 2014 flyttade W3C HTML5 till förslag till rekommendation.
- Den 28 oktober 2014 släpptes HTML5 som en stabil W3C -rekommendation, vilket innebär att specifikationsprocessen är klar.
XHTML -versioner
XHTML är ett separat språk som började som en omformulering av HTML 4.01 med XML 1.0. Det utvecklas inte längre som en separat standard.
- XHTML 1.0 publicerades som en W3C -rekommendation den 26 januari 2000 och reviderades och publicerades senare den 1 augusti 2002. Den erbjuder samma tre varianter som HTML 4.0 och 4.01, omformulerade i XML, med mindre begränsningar.
- XHTML 1.1 publicerades som en W3C -rekommendation den 31 maj 2001. Den är baserad på XHTML 1.0 Strict, men innehåller mindre ändringar, kan anpassas och omformuleras med hjälp av moduler i W3C -rekommendationen "Modularization of XHTML", som publicerades den 10 april 2001.
- XHTML 2.0 var ett arbetsutkast, arbetet med det övergavs 2009 till förmån för arbete med HTML5 och XHTML5 . XHTML 2.0 var oförenligt med XHTML 1.x och skulle därför mer exakt beskrivas som ett XHTML-inspirerat nytt språk än en uppdatering av XHTML 1.x.
- En XHTML -syntax, känd som "XHTML5.1", definieras vid sidan av HTML5 i HTML5 -utkastet.
Övergång av HTML -publikation till WHATWG
Den 28 maj 2019 meddelade W3C att WHATWG skulle vara den enda utgivaren av HTML- och DOM -standarder. W3C och WHATWG hade publicerat konkurrerande standarder sedan 2012. Medan W3C -standarden var identisk med WHATWG 2007 har standarderna sedan successivt divergerats på grund av olika designbeslut. WHATWG "Living Standard" hade varit de facto webbstandarden under en tid.
En annan viktig komponent är HTML -dokumenttypdeklarationen , som utlöser återgivning av standardlägen .
Följande är ett exempel på klassikern "Hej, värld!" program :
<!DOCTYPE html>
<html>
<head>
<title>This is a title</title>
</head>
<body>
<div>
<p>Hello world!</p>
</div>
</body>
</html>
Dokumenttypdeklarationen
är för HTML5. Om en deklaration inte ingår kommer olika webbläsare att återgå till " quirks -läge " för återgivning.
Element
HTML -dokument innebär en struktur av kapslade HTML -element . Dessa anges i dokumentet av HTML- taggar , inneslutna i vinkelparenteser sålunda: .
I det enkla, generella fallet indikeras omfattningen av ett element med ett par taggar: en "starttagg" och "sluttagg" . Textinnehållet i elementet, om sådant finns, placeras mellan dessa taggar.
Etiketter kan också innehålla ytterligare märkning mellan start och slut, inklusive en blandning av taggar och text. Detta indikerar ytterligare (kapslade) element, som barn till det överordnade elementet.
inbäddat innehåll, antingen text eller ytterligare taggar. Dessa kräver bara en enda tom tagg (liknande en starttagg) och använder inte en sluttagg.Många taggar, särskilt den avslutande taggen för det mycket vanliga styckelementet , är valfria. En HTML -webbläsare eller annan agent kan utläsa stängningen för slutet av ett element från sammanhanget och de strukturella regler som definieras av HTML -standarden. Dessa regler är komplexa och inte allmänt förstådda av de flesta HTML -kodare. och har formen . Tomma element får inte innehålla något innehåll, till exempel taggen eller den inbyggda taggen. Namnet på ett HTML -element är namnet som används i taggarna. Observera att sluttaggens namn föregås av ett snedstreck, och att sluttaggen varken krävs eller är tillåten i tomma element. Om attribut inte nämns används standardvärden i varje fall.
Element exempel
Huvudet på HTML-dokument: . Titeln ingår i huvudet, till exempel:
<head>
<title>The Title</title>
<link rel="stylesheet" href="stylebyjimbowales.css" /> <!-- Imports Stylesheets -->
</head>
Rubriker: HTML -rubriker definieras med to -taggarna där H1 är den högsta (eller viktigaste) nivån och H6 minst:
<h1>Heading level 1</h1>
<h2>Heading level 2</h2>
<h3>Heading level 3</h3>
<h4>Heading level 4</h4>
<h5>Heading level 5</h5>
<h6>Heading level 6</h6>
Effekterna är:
Observera att CSS drastiskt kan ändra återgivningen.
Stycken:
<p>Paragraph 1</p> <p>Paragraph 2</p>
<p>This <br> is a paragraph <br> with <br> line breaks</p>
<a href="https://www.wikipedia.org/">A link to Wikipedia!</a>
Ingångar:
Det finns många möjliga sätt en användare kan ge input/s som:
<input type="text" /> <!-- This is for text input -->
<input type="file" /> <!-- This is for uploading files -->
<input type="checkbox" /> <!-- This is for checkboxes -->
<!-- This is a comment -->
Kommentarer kan hjälpa till att förstå markeringen och visas inte på webbsidan.
Det finns flera typer av markup -element som används i HTML:
- Strukturell markering anger textens syfte
- Presentationsmarkering indikerar textens utseende, oavsett dess syfte
- Hypertextmarkering gör delar av ett dokument till länkar till andra dokument
Attribut
De flesta attributen för ett element är namn-värde-par , separerade av =
och skrivna i starttaggen för ett element efter elementets namn. Värdet kan ingå i enkla eller dubbla citattecken, även om värden som består av vissa tecken kan lämnas utan citat i HTML (men inte XHTML). Att lämna attributvärden ociterade anses vara osäkert. I motsats till namn-värdeparattribut finns det några attribut som påverkar elementet helt enkelt genom att de finns i elementets starttagg, som ismap
attributet för img
elementet.
Det finns flera vanliga attribut som kan förekomma i många element:
- Den
id
attribut ger ett dokument omfattande unik identifierare för ett element. Detta används för att identifiera elementet så att formatmallar kan ändra dess presentationsegenskaper, och skript kan ändra, animera eller ta bort dess innehåll eller presentation. Den bifogas sidens URL och ger en globalt unik identifierare för elementet, vanligtvis en undersektion av sidan. Till exempel ID "Attribut" ihttps://en.wikipedia.org/wiki/HTML#Attributes
. - En författare kan använda
style
attributet för att tilldela presentationsegenskaper till ett visst element. Det anses vara bättre att använda ett elementid
ellerclass
attribut för att välja elementet från ett stilark , men ibland kan det vara för besvärligt för en enkel, specifik eller ad hoc -styling. - Den
title
attributet används för att fästa subtextual förklaring till ett element. I de flesta webbläsare visas detta attribut som ett verktygstips . - Det
lang
attribut identifierar den naturliga språket i elementets innehåll som kan vara annorlunda än resten av dokumentet. Till exempel i ett engelskspråkigt dokument:<p>Oh well,<spanlang="fr">c'est la vie</span>, as they say in France.</p>
Förkortningselementet,, abbr
kan användas för att demonstrera några av dessa attribut:
<abbr id="anId" class="jargon" style="color:purple;" title="Hypertext Markup Language">HTML</abbr>
Detta exempel visas som HTML ; i de flesta webbläsare, pekar markören på förkortningen bör titeltexten "Hypertext Markup Language" visas.
De flesta element tar det språkrelaterade attributet för dir
att ange textriktning, till exempel med "rtl" för höger-till-vänster-text i till exempel arabiska , persiska eller hebreiska .
Tecken- och entitetsreferenser
Från och med version 4.0 definierar HTML en uppsättning 252 teckenentitetsreferenser och en uppsättning 1 114 050 numeriska teckenreferenser , som båda gör det möjligt att skriva enskilda tecken via enkel markering, snarare än bokstavligen. En bokstavlig karaktär och dess tilläggsmärkning anses vara likvärdiga och återges identiskt.
Förmågan att " escape " tecken på detta sätt gör det möjligt för karaktärerna <
och &
(när skrivas som <
och &
respektive) tolkas som teckendata, snarare än uppmärkning. Exempelvis <
anger en bokstavligen normalt starten på en tagg och &
anger normalt starten på en teckenentitetsreferens eller numerisk teckenreferens; skriva det som &
eller &
eller &
tillåter &
att det ingår i innehållet i ett element eller i värdet av ett attribut. Den dubbelcitattecken ( "
), när den inte används för att citera ett attributvärde, måste också rymt som "
eller "
eller "
när den visas i attributvärdet själv. På samma sätt måste tecknet med enstaka citat ( '
), när det inte används för att citera ett attributvärde, också undvikas som '
eller '
(eller som '
i HTML5- eller XHTML-dokument) när det visas i själva attributvärdet. Om dokumentförfattare förbiser behovet av att undkomma sådana tecken kan vissa webbläsare vara mycket förlåtande och försöka använda sammanhang för att gissa deras avsikt. Resultatet är fortfarande ogiltig markering, vilket gör dokumentet mindre tillgängligt för andra webbläsare och för andra användaragenter som kan försöka analysera dokumentet för sök- och indexeringsändamål till exempel.
Med Escape kan tecken som inte är lättskrivna eller som inte är tillgängliga i dokumentets teckenkodning representeras i element- och attributinnehåll. Till exempel kan den akut accentuerade e
( é
), ett tecken som vanligtvis bara finns på västeuropeiska och sydamerikanska tangentbord, skrivas i valfritt HTML-dokument som entitetsreferens é
eller som numeriska referenser é
eller med é
hjälp av tecken som är tillgängliga på alla tangentbord och stöds i alla teckenkodningar. Unicode- teckenkodningar som UTF-8 är kompatibla med alla moderna webbläsare och ger direkt åtkomst till nästan alla karaktärer i världens skrivsystem.
Som heter | Decimal | Hexadecimal | Resultat | Beskrivning | Anteckningar |
---|---|---|---|---|---|
&
|
&
|
&
|
&
|
Ampersand | |
<
|
<
|
<
|
<
|
Mindre än | |
>
|
>
|
>
|
>
|
Större än | |
"
|
"
|
"
|
"
|
Dubbel citat | |
'
|
'
|
'
|
'
|
Enstaka citat | |
|
 
|
 
|
|
Icke-brytande utrymme | |
©
|
©
|
©
|
©
|
upphovsrätt | |
®
|
®
|
®
|
®
|
Registrerat varumärke | |
†
|
†
|
†
|
†
|
Dolk | |
‡
|
‡
|
‡
|
‡
|
Dubbel dolk | Namn är skiftlägeskänsliga |
‡
|
‡
|
‡
|
‡
|
Dubbel dolk | Namn kan ha synonymer |
™
|
™
|
™
|
™
|
Varumärke |
Datatyper
HTML definierar flera datatyper för elementinnehåll, till exempel skriptdata och formatmalldata, och en uppsjö av typer för attributvärden, inklusive ID, namn, URI, nummer, längdenheter, språk, mediabeskrivare, färger, teckenkodningar, datum och tider osv. Alla dessa datatyper är specialiseringar av teckendata.
Dokumenttypdeklaration
.
Det ursprungliga syftet med doktypen var att möjliggöra analys och validering av HTML -dokument med SGML -verktyg baserat på Document Type Definition (DTD). DTD som DOCTYPE hänvisar till innehåller en maskinläsbar grammatik som specificerar tillåtet och förbjudet innehåll för ett dokument som överensstämmer med en sådan DTD. Webbläsare å andra sidan implementerar inte HTML som en applikation av SGML och läser följaktligen inte DTD.
HTML5 definierar inte en DTD; därför i HTML5 är doctype -deklarationen enklare och kortare:
<!DOCTYPE html>
Ett exempel på en HTML 4 doctype
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd">
Denna deklaration refererar till DTD för den "strikta" versionen av HTML 4.01. SGML-baserade validatorer läser DTD för att korrekt analysera dokumentet och utföra validering. I moderna webbläsare aktiverar en giltig doctype standardläge i motsats till quirks -läge .
Dessutom tillhandahåller HTML 4.01 övergångs- och ramuppsättning DTD: er, som förklaras nedan . Övergångstyp är den mest inkluderande, som innehåller såväl aktuella taggar som äldre eller "utfasade" taggar, med den strikta DTD exklusive utfasade taggar. Frameset har alla taggar som behövs för att skapa ramar på en sida tillsammans med taggarna som ingår i övergångstypen.
I en diskussion 2001 om Semantic Web gav Tim Berners-Lee och andra exempel på sätt på vilka intelligenta programvaru "agenter" en dag automatiskt kan genomsöka webben och hitta, filtrera och korrelera tidigare orelaterade, publicerade fakta till förmån för mänskliga användare . Sådana agenter är inte vanliga även nu, men några av idéerna med Web 2.0 , mashups och prisjämförelsewebbplatser kan komma nära. Huvudskillnaden mellan dessa webbapplikationshybrider och Berners-Lees semantiska agenter ligger i det faktum att den nuvarande aggregeringen och hybridiseringen av information vanligtvis utformas av webbutvecklare , som redan känner till webbplatserna och API-semantiken för den specifika data de önskar att mosa, jämföra och kombinera.
En viktig typ av webbagent som genomsöker och läser webbsidor automatiskt, utan förkunskap om vad den kan hitta, är webbsökaren eller sökmotorspindeln. Dessa programvaruagenter är beroende av den semantiska klarheten i webbsidor de hittar när de använder olika tekniker och algoritmer för att läsa och indexera miljontals webbsidor om dagen och förse webbanvändare med sökfunktioner utan vilka World Wide Webs användbarhet skulle minska kraftigt.
För att sökmotorspindlar ska kunna betygsätta betydelsen av textbitar de hittar i HTML-dokument, och även för dem som skapar mashups och andra hybrider samt för mer automatiserade agenter när de utvecklas, de semantiska strukturer som finns i HTML måste tillämpas brett och enhetligt för att få fram meningen med publicerad text.
Presentationsmarkeringstaggar utfasas i nuvarande HTML- och XHTML -rekommendationer. Majoriteten av presentationsfunktionerna från tidigare versioner av HTML är inte längre tillåtna eftersom de leder till sämre tillgänglighet, högre kostnader för webbplatsunderhåll och större dokumentstorlekar.
God semantisk HTML förbättrar också tillgängligheten för webbdokument (se även riktlinjer för tillgänglighet för webbinnehåll ). Till exempel, när en skärmläsare eller ljudläsare korrekt kan kontrollera strukturen i ett dokument, kommer det inte att slösa bort synskadade användares tid genom att läsa upp upprepad eller irrelevant information när den har märkts korrekt.
HTML -dokument kan levereras på samma sätt som alla andra datorfiler. De levereras dock oftast antingen via HTTP från en webbserver eller via e -post .
HTTP
Den World Wide Web består huvudsakligen av HTML-dokument som överförs från webbservrar till webbläsare som använder Hypertext Transfer Protocol (HTTP). HTTP används dock för att visa bilder, ljud och annat innehåll, förutom HTML. För att webbläsaren ska kunna veta hur han ska hantera varje dokument som den tar emot, överförs annan information tillsammans med dokumentet. Denna metadata innefattar vanligtvis MIME-typ (t ex, text/htmleller application/xhtml+xml) och teckenkodning (se Teckenkodning i HTML ).
I moderna webbläsare kan den MIME -typ som skickas med HTML -dokumentet påverka hur dokumentet först tolkas. Ett dokument som skickas med XHTML MIME-typen förväntas vara välformat XML; syntaxfel kan orsaka att webbläsaren misslyckas med att återge den. Samma dokument som skickats med HTML MIME -typen kan visas framgångsrikt, eftersom vissa webbläsare är mer lätta med HTML.
W3C -rekommendationerna anger att XHTML 1.0 -dokument som följer riktlinjerna i rekommendationens bilaga C kan vara märkta med antingen MIME -typ. XHTML 1.1 anger också att XHTML 1.1 -dokument ska vara märkta med antingen MIME -typ.
HTML-e-post
De flesta grafiska e-postklienter tillåter användning av en delmängd av HTML (ofta dåligt definierade) för att tillhandahålla formatering och semantisk markering som inte är tillgänglig med vanlig text . Detta kan inkludera typografisk information som färgade rubriker, betonad och citerad text, inline bilder och diagram. Många sådana klienter inkluderar både en GUI- editor för att komponera HTML-e-postmeddelanden och en återgivningsmotor för att visa dem. Användning av HTML i e-post kritiseras av vissa på grund av kompatibilitetsproblem, eftersom det kan hjälpa till att dölja nätfiskeattacker , på grund av tillgänglighetsproblem för blinda eller synskadade, eftersom det kan förvirra skräppostfilter och eftersom meddelandestorleken är större än vanlig text.
Namnkonventioner
Det vanligaste filnamnstillägget för filer som innehåller HTML är .html. En vanlig förkortning av detta är .htm, som har sitt ursprung eftersom vissa tidiga operativsystem och filsystem, till exempel DOS och begränsningarna i FAT -datastrukturen, begränsade filtillägg till tre bokstäver .
HTML -applikation
Ett HTML -program (HTA; filtillägg ".hta") är ett Microsoft Windows -program som använder HTML och dynamisk HTML i en webbläsare för att tillhandahålla programmets grafiska gränssnitt. En vanlig HTML -fil är begränsad till säkerhetsmodellen för webbläsarens säkerhet , kommunicerar endast till webbservrar och manipulerar endast webbsidesobjekt och webbplatscookies . En HTA körs som ett fullt betrodt program och har därför fler privilegier, som att skapa/redigera/ta bort filer och Windows -registerposter. Eftersom de fungerar utanför webbläsarens säkerhetsmodell kan HTA inte köras via HTTP utan måste laddas ner (precis som en EXE -fil ) och köras från det lokala filsystemet.
Sedan starten har HTML och dess tillhörande protokoll fått acceptans relativt snabbt. Men det fanns inga tydliga standarder i språkets första år. Även om dess skapare ursprungligen uppfattade HTML som ett semantiskt språk utan presentationsdetaljer, pressade praktiska användningsområden många presentationselement och attribut in i språket, till stor del drivna av de olika webbläsarleverantörerna. De senaste standarderna kring HTML återspeglar ansträngningar att övervinna språkets ibland kaotiska utveckling och skapa en rationell grund för att bygga både meningsfulla och väl presenterade dokument. För att återställa HTML till sin roll som semantiskt språk har W3C utvecklat stilspråk som CSS och XSL för att bära presentationsbördan. Tillsammans har HTML -specifikationen långsamt tyglat i presentationselementen.
Det finns två axlar som skiljer olika varianter av HTML enligt nuvarande specificering: SGML-baserad HTML kontra XML-baserad HTML (kallad XHTML) på ena axeln och strikt kontra övergångs (lös) kontra ramuppsättning på den andra axeln.
SGML-baserad kontra XML-baserad HTML
En skillnad i de senaste HTML-specifikationerna ligger i skillnaden mellan den SGML-baserade specifikationen och den XML-baserade specifikationen. Den XML-baserade specifikationen brukar kallas XHTML för att tydligt skilja den från den mer traditionella definitionen. Dock fortsätter rotelementnamnet att vara "html" även i den XHTML-angivna HTML. W3C avsåg att XHTML 1.0 skulle vara identisk med HTML 4.01 utom när begränsningar av XML över den mer komplexa SGML kräver lösningar. Eftersom XHTML och HTML är nära besläktade dokumenteras de ibland parallellt. Under sådana omständigheter kombinerar vissa författare de två namnen som (X) HTML eller X (HTML).
Precis som HTML 4.01 har XHTML 1.0 tre delspecifikationer: strikt, övergångs- och ramuppsättning.
Bortsett från de olika öppningsdeklarationerna för ett dokument, är skillnaderna mellan ett HTML 4.01- och XHTML 1.0 -dokument - i var och en av motsvarande DTD - till stor del syntaktiska. Den bakomliggande syntaxen för HTML tillåter många genvägar som XHTML inte gör, till exempel element med valfria öppnings- eller stängningstaggar, och till och med tomma element som inte får ha en sluttagg. Däremot kräver XHTML att alla element har en öppningstagg och en stängande tagg. XHTML, dock införs också en ny genväg: ett XHTML tag kan öppnas och stängas inom samma tagg, genom att inkludera ett snedstreck före slutet av taggen så här: . Införandet av denna stenografi, som inte används i SGML -deklarationen för HTML 4.01, kan förvirra tidigare programvara som är obekant med denna nya konvention. En fix för detta är att inkludera ett mellanslag före stängning taggen som sådan: .
För att förstå de subtila skillnaderna mellan HTML och XHTML, överväg omvandlingen av ett giltigt och välformat XHTML 1.0-dokument som följer bilaga C (se nedan) till ett giltigt HTML 4.01-dokument. För att göra denna översättning krävs följande steg:
-
Språket för ett element bör anges med ett
lang
attribut snarare än XHTMLxml:lang
-attributet. XHTML använder XML: s inbyggda språkdefinierande funktionalitetsattribut. -
Ta bort XML -namnutrymmet (
xmlns=URI
). HTML har inga faciliteter för namnområden. - Ändra dokumenttypdeklarationen från XHTML 1.0 till HTML 4.01. (se DTD -avsnittet för ytterligare förklaring).
- Ta bort XML -deklarationen om den finns. (Vanligtvis är detta:)
.<?xml version="1.0" encoding="utf-8"?> -
Se till att dokumentets MIME -typ är inställd på
text/html
. För både HTML och XHTML kommer detta från HTTPContent-Type
-rubriken som skickas av servern.
Det är de viktigaste förändringarna som är nödvändiga för att översätta ett dokument från XHTML 1.0 till HTML 4.01. För att översätta från HTML till XHTML krävs också att alla uteslutna taggar öppnas eller stängs. Oavsett om du kodar i HTML eller XHTML kan det vara bäst att alltid inkludera de valfria taggarna i ett HTML -dokument i stället för att komma ihåg vilka taggar som kan utelämnas.
Ett välformat XHTML-dokument följer alla syntaxkrav för XML. Ett giltigt dokument följer innehållsspecifikationen för XHTML, som beskriver dokumentstrukturen.
W3C rekommenderar flera konventioner för att säkerställa en enkel migrering mellan HTML och XHTML (se HTML Compatibility Guidelines ). Följande steg kan endast tillämpas på XHTML 1.0 -dokument:
- Inkludera både
xml:lang
ochlang
attribut för alla element som tilldelar språk. - Använd syntaxen med tomma element endast för element som anges som tomma i HTML.
- Utelämna XML -deklarationen.
Genom att noggrant följa W3C: s kompatibilitetsriktlinjer bör en användaragent kunna tolka dokumentet lika som HTML eller XHTML. För dokument som är XHTML 1.0 och har gjorts kompatibla på detta sätt tillåter W3C att de kan visas antingen som HTML (med en text/html
MIME -typ ) eller som XHTML (med en application/xhtml+xml
eller application/xml
MIME -typ). När de levereras som XHTML bör webbläsare använda en XML -parser, som strikt följer XML -specifikationerna för analys av dokumentets innehåll.
Övergång kontra strikt
HTML 4 definierade tre olika versioner av språket: Strict, Transitional (en gång kallad Loose) och Frameset. Den strikta versionen är avsedd för nya dokument och anses vara bästa praxis, medan övergångs- och ramramsversionerna utvecklades för att göra det lättare att överföra dokument som överensstämde med äldre HTML -specifikation eller som inte överensstämde med någon specifikation till en version av HTML 4. Transitions- och Frameset -versionerna möjliggör presentationsmarkering, som utelämnas i den strikta versionen. Istället Cascading Style Sheets uppmuntras att förbättra presentationen av HTML-dokument. Eftersom XHTML 1 endast definierar en XML -syntax för det språk som definieras av HTML 4, gäller samma skillnader även för XHTML 1.
Övergångsversionen tillåter följande delar av ordförrådet, som inte ingår i den strikta versionen:
-
En lösare innehållsmodell
- Inline element och klartext tillåts direkt i:
body
,blockquote
,form
,noscript
ochnoframes
- Inline element och klartext tillåts direkt i:
-
Presentationsrelaterade element
- underline (
u
) (Utfasad. kan förvirra en besökare med en hyperlänk.) - genomslag (
s
) -
center
(Utfasad. Använd CSS istället.)
- underline (
-
Presentationsrelaterade attribut
-
background
(Utfasad. Använd CSS istället.) Ochbgcolor
(Utfasad. Använd CSS istället.) Attribut förbody
(obligatoriskt element enligt W3C.) -Elementet. -
align
Attribut på (använd CSS längre. Istället.)div
,form
, Punkt (p
) och rubrik (h1
...h6
) element -
align
(Utfasad. Använd CSS istället.),noshade
(Utfasad. Använd CSS istället.),size
(Utfasad. Använd CSS istället.) Ochwidth
(Utfasad. Använd CSS istället.) Attribut påhr
element -
align
, (Använd CSS Deprecated istället..)border
,vspace
Ochhspace
attribut omimg
ochobject
(försiktighet: detobject
elementet är endast stöds i Internet Explorer (från de stora webbläsarna)) element -
align
(Utfasad. Använd CSS istället.) Attribut pålegend
ochcaption
element -
align
(Utfasad. Använd CSS istället.) Ochbgcolor
(Utfasad. Använd CSS istället.) Påtable
element -
nowrap
(Föråldrad),bgcolor
(Utfasad. Använd CSS istället.)width
,,height
Påtd
ochth
element -
bgcolor
(Utfasad. Använd CSS istället.) Attribut påtr
element -
clear
(Föråldrad) attribut påbr
element -
compact
attributetdl
,dir
ochmenu
elementen -
type
(Utfasad. Använd CSS istället.),compact
(Utfasad. Använd CSS istället.) Ochstart
(Utfasad. Använd CSS istället.) Attribut påol
ochul
element -
type
ochvalue
attribut påli
element -
width
attribut påpre
element
-
-
Ytterligare element i övergångsspecifikationen
-
menu
(Utfasad. Använd CSS istället.) Lista (inget substitut, även om oordnad lista rekommenderas) -
dir
(Utfasad. Använd CSS istället.) Lista (inget substitut, även om oordnad lista rekommenderas) -
isindex
(Utfasad.) (Element kräver support på serversidan och läggs vanligtvis till dokument på serversidanform
ochinput
element kan användas som ett substitut) -
applet
(Utfasad. Användobject
elementet istället.)
-
-
Den
language
(Obsolete) attributet på script elementet (redundant medtype
attribut). -
Ramrelaterade enheter
iframe
noframes
-
target
(Tagen imap
,link
ochform
elementen.) Attributeta
, klientsidan bild-map (map
),link
,form
ochbase
elementen
Frameset -versionen innehåller allt i övergångsversionen, liksom frameset
elementet (används istället för body
) och frame
elementet.
Ramuppsättning kontra övergång
Förutom ovanstående övergångsskillnader anger ramuppsättningsspecifikationerna (antingen XHTML 1.0 eller HTML 4.01) en annan innehållsmodell, med frameset
ersättning body
, som innehåller antingen frame
element eller eventuellt noframes
med a body
.
Sammanfattning av specifikationsversioner
Som listan visar behålls de lösa versionerna av specifikationen för äldre stöd. Men i motsats till populära missuppfattningar innebär övergången till XHTML inte att detta gamla stöd tas bort. Snarare står X i XML för extensible och W3C modulerar hela specifikationen och öppnar den för oberoende tillägg. Den främsta prestationen i flytten från XHTML 1.0 till XHTML 1.1 är moduleringen av hela specifikationen. Den strikta versionen av HTML distribueras i XHTML 1.1 genom en uppsättning modulära tillägg till bas XHTML 1.1 -specifikationen. På samma sätt kommer någon som letar efter de lösa (övergångs) eller ramuppsättningarna att hitta liknande utökat XHTML 1.1 -stöd (mycket av det finns i äldre eller rammoduler). Modulariseringen möjliggör också att separata funktioner kan utvecklas på sin egen tidtabell. Så till exempel kommer XHTML 1.1 att möjliggöra snabbare migration till nya XML-standarder som MathML (ett presentations- och semantiskt matematiskt språk baserat på XML) och XForms- en ny mycket avancerad webbformulärsteknik för att ersätta befintliga HTML-formulär.
Sammanfattningsvis tygade HTML 4 -specifikationen främst i alla de olika HTML -implementeringarna till en enda tydligt skriven specifikation baserad på SGML. XHTML 1.0 överförde denna specifikation som den är till den nya XML -definierade specifikationen. Därefter utnyttjar XHTML 1.1 XML: s utökbara natur och modulerar hela specifikationen. XHTML 2.0 var tänkt att vara det första steget i att lägga till nya funktioner i specifikationen i en standard-kroppsbaserad strategi.
HTML Living Standard, som utvecklats av WHATWG, är den officiella versionen, medan W3C HTML5 inte längre är separat från WHATWG.
Det finns några WYSIWYG -redaktörer (What You See Is What You Get) där användaren lägger ut allt som det ska visas i HTML -dokumentet med ett grafiskt användargränssnitt (GUI), ofta liknande ordbehandlare . Redaktören gör dokumentet istället för att visa koden, så författare kräver inte omfattande kunskap om HTML.
WYSIWYG -redigeringsmodellen har kritiserats, främst på grund av den genererade kodens låga kvalitet; det finns röster som förespråkar en ändring av WYSIWYM -modellen (What You See is What You Mean).
WYSIWYG -redaktörer är fortfarande ett kontroversiellt ämne på grund av deras upplevda brister som:
- Förlitar sig huvudsakligen på layout i motsats till mening, ofta med markup som inte förmedlar den avsedda meningen utan bara kopierar layouten.
- Ger ofta extremt omfattande och redundant kod som inte använder HTML och CSS kaskad karaktär .
- Eftersom en stor del av informationen i HTML-dokument inte finns i layouten har modellen kritiserats för dess "vad du ser är allt du får" -natur.