Web инфо: обяснения на термини и проблеми свързани с WWW

v111p F1-bg Webmisc XHTML CSS Server-side

# Общи теми свързани с Уеб: W3C, Търсачки, Адресите в WWW, HTTP, Unicode и др.

За този документ: Предназначение, Състояние (Какво ново?), Авторски права, Начин на ползване. Помогни!

Фон: бял жълт св. сив сив
Шрифт: Arial Verdana sans-serif serif
Размер на шрифта: по подразбиране (CSS2) 12 14 16 18

Благодаря за всички коментари! Имайте в предвид че няма ли коментари - няма и ъпдейти!

## За този документ

### Предназначение

Тази страница е замислена като въведение към ръководството по XHTML, но може да бъде четена и самостоятелно. Тук са описани някои основни термини и проблеми свързани с Уеб и уебсайтовете, като много неща все още липсват.

### Състояние

Застой.

#### Какво ново?

10 септември 2007
  Промяна в секция "Авторски права": вече не се изисква сочене на v111p.com като източник.
11 януари 2005
  Публикуване в WWW!

### Авторски права

Авторските права за тези страници принадлежат на v111p.com. Материалите могат да се копират свободно (с комерсиална или некомерсиална цел) само при условие че в копието ясно е посочен източника - v111p.com.

Можете да използвате тази информация свободно и не се изисква да цитирате v111p.com като източник. (10 септември 2007 г.)

### Начин на ползване

- Секциите в този документ са предназначени за последователно четене.
- Препратки водещи към външни сайтове са означени с знак за по-голямо>.
- Ако искате да си запишете тази страница, не забравяйте и css файла! Редактирайте кода на страницата като замените `"/style.css"` със `"style.css"`.

### Всяка помощ е добре дошла!

Всички коментари, предложения, връзки към полезна информация, поправки на фактологични, правописни и/или печатни грешки, са добре дошли. За контакти можете да използвате формуляра за коментари намиращ се на дъното на всяка страница или да пишете на адрес v111p (at) v111p.com (за предпочитане, за да мога да ви отговоря).

# Уеб инфо

## W3C

W3C> (The World Wide Web Consortium) е създаден през 1994 от създателя на WWW за да се занимава с развитието ѝ. W3C създава различни стандарти, но не може да ги налага. Все пак се предполага че членовете му> - големи и известни компани, би трябвало да ги спазват.

##### Полезни инструменти:

- HTML валидатор - проверява страници за правилно използване на HTML
- CSS валидатор - проверява CSS код
- Link checker - проверява за връзки към несъществуващи страници.

## Браузъри

Тази секция не е завършена все още

Програмите с които се отварят уеб страниците се наричат браузъри (browsers).

XHTML Reference> @ w3schools.com - тук можете да видите таблица с етикетите на XHTML и в кои версии на браузърите IE и NN са били въведени за пръв път.

#### Quirks mode

За съвместимост с вече създадени страниците, браузърите показват по различен начин страниците които отговарят на стандартите и старите, неотговарящи на стандартите. Ако прецени че страницата не отговаря на стандартите браузъра автоматично минава в т. нар. Quirks mode при който позволява използването на нестандартни елементи и атрибути и емулира бъговете си от предишните версии.

## Search Engines

Тази секция не е завършена все още

Когато създавате уеб страници не трябва да забравяте че хората не са единствените които посещават уеб сайтовете. Ако искате да имате повече посетители от съществено значение е да обръщате специално внимание на търсещите машини. Писането на чист код и използването на етикетите по предназначението им значително улеснява търсачките и би могло (до някъде) да допринесе за по-добрата оценка на сайта ви.

## HTTP (Hypertext Transfer Protocol)

HTTP/1.1> е протокола по който уеб страниците се предават между сървъра и браузъра.

За подробно обяснение, съветвам ви да погледнете страницата за HTTP в Wikipedia> (en).

### HTTP headers

Тази секция не е завършена все още

При комуникацията между клиента (браузъра) и сървъра се обменя информация наречена HTTP header. Как да разберете какви хедъри праща някой сървър? Използвайте някой HTTP Header Viewer, като този напр.: Web Sniffer>.

Quick reference to HTTP headers>

## Адресите (в WWW)

Понятието което в сайта на W3C наричат URI - Uniform Resource Identifier, или Уеднаквен (?) идентификатор на ресурси, тук за кратко ще наричаме просто "адрес". Адресите могат да бъдат пълни (absolute) и относителни (relative).

#### Относителни адреси

Относителните адреси в HTML документ са такива спрямо пълния адрес на документа. При относителните адреси "текущата" директория, или ако адреса е в HTML документ - директорията която съдържа документа, може да се означи с една точка, а директорията съдържаща текущата директория се означава с две (последователни) точки. Ако към тези две точки се добави разделител (наклонена на дясно черта - `/`) и нови две точки се достига до още по-горната директория. За да се достигне най-горната директория се използва разделителя в началото на адреса.

##### Примери за относителни адреси

`./`
  адреса на текущата директорията.
`index.html`
  адреса на файл в текущата директорията.
`../`
  адреса на директорията, едно ниво над текущата.
`../../index.html`
  адреса на файл в директорията, две нива над текущата.
`/`
  адреса на главната директория
`/index.html`
  адреса на файл в главната директория

#### Пълни адреси

Пълните адреси в WWW започват с `http://` , имената на домейните (от най-малкия към най-главния, разделени с точки) и разделителя, показващ най-главната директория.

Пример: `http://www.v111p.com/`

В случая `http` е протокола, `www` е област от трето ниво, `v111p` е област от второ ниво, а `com` е област от първо ниво.

Забележка: Винаги слагайте наклонената черта накрая, когато пишете адрес на директория. Дори и да не го правите сървъра автоматично препраща браузъра на правилния адрес, но се губи излишно време (изключение е главната директория).

## Безплатен хостинг

#### Невалиден HTML при хостинг с реклами

На много места в уеб се предлага безплатен хостинг. Обикновено в замяна на това към страниците ви ще бъдат добавени реклами. За съжаление тези реклами автоматично правят страниците ви невалидни (X)HTML документи, но по този въпрос не може да се направи нищо. Просто не слагайте връзки към валидатора на w3c>. :)

#### Сайтове недостъпни извън България

В България сайтовете на някои free хостинг услуги не са видими от чужбина. Обикновено те могат да се разпознаят по това че предлагат много пространство и позволяват качване на големи файлове като mp3, филми и т. н. Сайтове на hit.bg се виждат от чужбина, но само понякога.

## Кодировки на символите и Unicode

Писмените знаци в компютъра се съхраняват, естествено, като числа. Съществуват различни кодировки (encodings), които определят начина по който тези числа се превръщат в символи. Най-използваната кодировка, която поддържа буквите от латиницата, е по стандарта ISO-8859-1 (наричан още ISO Latin-1), който отговаря и на американския стандарт ASCII. В България най-често използваната кодировка за писане на кирилица е Windows-1251. Старите кодировки поддържат само ограничено количество писмени знаци, например Windows-1251 поддържа кирилица и латиница.

### Unicode

Unicode (Юникоуд) е таблица със знаци която съдържа повечето азбуки на света и много други символи. (Вижте Какво е Unicode>). (Версии на Unicode са идентични със съответни версии на стандарта ISO10646).

Забележка: Unicode определя номера и името на отделните символи, но не и тяхното графично представяне. Графичното представяне зависи от използвания шрифт.

Всяка буква или символ в Unicode си има точно определен номер, но съществуват различни кодировки според това как този номер се съхранява в файловете и паметта.

#### Кодировки за Unicode

UTF-8
  Използва 8 бита (1 байт) за знаците от американския стандарт ASCII, което го прави съвместим с всички стари програми когато се използват само знаците от ASCII.
UTF-16
  Използва най-малко 16 бита (2 байта) за знаците.
UTF-32
  Всички знаци заемат 32 бита.

И трите варианта работят с всички знаци от Unicode, използват едни и същи номера на знаците и използват най-много 32 бита за запис на номерата им. Разликата е че ако в UTF-8 знака с номер 1 се съхранява като 1 (0001), в UTF-16 той се съхранява като 01 (0000 0001), а в UTF-32 като 0001 (0000 0000 0000 0001).

Обърнете внимание, че ако ползвате UTF-8 за страници на кирилица документите ви ще бъдат по-големи, отколкото ако използвате кодировка като Windows-1251. Това е така защото номерата на символите за кирилица в Unicode се изписват с 2 байта.

#### Как да пишете на Unicode?

Тази секция не е завършена все още

За да пишете с кодировка на Unicode трябва да използвате операционна система (като Windows XP напр.) и текстов редактор които поддържат Unicode. В OS които не поддържат Unicode - ??

#### Използвайте правилния символ!

В Юникоуд има много символи със сходно или идентично графично представяне. За да разберете дали използвате правилния символ погледнете името му.

На сайта на Юникоуд можете да намерите диаграми на всички Юникоуд символи и техните имена> (във формат PDF).

#### UTF-8 и BOM

Съществуват някои проблеми с някои програми когато UTF-8 документ се записва с BOM (Byte Order Mark). BOM представлява три определени символа в началото на документа които по-новите програми игнорират, но по-старите няма да разпознаят. Notepad в Win XP включва BOM в UTF-8 документите, в други редактори това е опция. BOM може да се използва в UTF-8 за да указва че документа е с такава кодировка, но в HTML имаме други методи за указване на кодировката, затова BOM не е необходим (за UTF-8, понеже е съвместим с ASCII).

## JavaScript

Скриптовете са малки програми които могат да бъдат изпълнявани при определени събития в страницата - зареждане, преместване на мишката, натискане на бутон, промяна на стойност във формуляр и т. н. Единственият език, който се разбира от всички браузъри е JavaScript (измислен от Netscape). Съществуват различни вариации и версии на този език. Например версията на Microsoft се нарича JScript, а стандартизираната форма - ECMAScript, но в основата си различните версии са съвместими помежду си.

Забележка: Скриптове в уеб страниците би трябвало да се използват само за добавяне на допълнителна функционалност. Страниците би трябвало да работят дори и браузъра да не поддържа JavaScript.

Забележка: Скриптовете могат или да се вграждат в главата на HTML-документите или да се поставят в отделни `.js` файлове. Ако един и същи скрипт се използва на няколко различни страници, за препоръчване е той да е в отделен файл. По този начин браузъра на посетителя трябва да го свали само веднъж, пести се време и трафик.

## HTML

Първоначално HTML е замислен като структурен език. С него се означават отделни елементи в страницата като заглавия, параграфи, препратки и т. н. Постепенно обаче в него се въвеждат елементи и атрибути за форматиране - напр.: за цвят, шрифт и размери. От HTML 4 насам обаче стремежа е форматирането да се отдели от структурата. Специално за форматирането се използват други методи. Идеята е информацията да може да се използва навсякъде, а допълненията - като стилове, скриптове и дори картинки, само където е възможо и желателно.

### История на HTML

HTML първоначално е измислен от Tim Berners-Lee. През ноември 1995 се появява HTML 2.0 (RFC1866/HTML 2>) под егидата на организацията Internet Engineering Task Force (IETF). HTML+ (1993) и HTML 3.0> (1995) предлагат много по-богати версии на HTML. Въпреки че никога не се постига консенсус в дискусиите по стандартите, новите проекти водят до приемането на много нови неща. Усилията на работната група по HTML на консорциума за WWW да систематизира начина на употреба на езика през 1996 водят до препоръката за HTML 3.2> (януари 1997). HTML 4.0> се появява през декември 1997.

## XHTML

XHTML 1.0> е препоръка на W3C от януари 2000 г. Това е език съвместим както с HTML (за да е разбираем за по-старите браузъри), така и с XML. За разлика от HTML, XML е средство за организиране на данни, напълно отделени от визуализацията. XHTML 1 е преформулировка на HTML 4.01 (последната версия на HTML).

XHTML 1.0 (също както и HTML 4) бива три вида: Transitional, Frameset и Strict. Transitional се използва за съвместимост със стари браузъри които не поддържат CSS - средството за отделяне на структурата от резултата който се показва в браузъра. Frameset е за комбиниране на различни страници.

Техническо описание на всички елементи, какви атрибути и др. елементи могат да съдържат + кратък коментар за какво служат можете да намерите тук: XHTML 1.0 DTDs>

XHTML 1.1 е преформулировка на XHTML 1.0 Strict. XHTML 1.1 не е обратно-съвместим с HTML и затова е на практика неприложим в WWW за момента. Докато 1.0 може да се изпраща на браузърите като HTML или XML, XHTML 1.1 (според W3C) трябва да се изпраща само като XML.

Промените в XHTML 1.1> (en) като език са следните - премахват се атрибутите `lang` (от всички елементи) и `name` (от елементите `a` и `map`) и се добавя една нова възможност, наречена "ruby", която се използва в азиатските текстове за добавяне на надпис над основния текст (и която, естествено, не се поддържа от браузърите за сега).

XHTML 2.0> е все още работен проект на W3C. Можете да прегледате една статия за XHTML 2> от 2002 г. преведена на български.

HTML and XHTML Frequently Answered Questions>.

Следваща страница: XHTML 1.0 Strict - пълен справочник