Help - Search - Member List - Calendar
Full Version: Создание Веб-Ресурса. Часть вторая- техническая
Форум Империи Чёрных Клинков > Неигровой форум > Сайтоводство
SLayer
Ссылка на оригинал: сайт -spg.arbse.net/?go=site_p2&namep=txt


Итак, вы определились с концепцией вашего будущего сайта, собрали команду единомышленников и запаслись изрядной долей терпения и упорства (в первый раз слышите? тогда вам сюда: сайт -spg.arbse.net/index.php?go=site&namep=txt ). Данная статья является второй по счету и затрагивает очень важную и практически самую трудоемкую часть создания ресурса: представление и написание структуры страниц, а также их кодинг. Сегодня мы познакомимся с такими понятиями, как Html, CSS, PHP и некоторыми другими. Без лишних предисловий, переходим к делу.
Вся правда о HTML-страницах
То, что вы сейчас видите в окне своего браузера, называется html- страницой. HTML- это язык разметки (но не программирования! уясните это!), на котором вашему браузеру сообщается, какие элементы и как должны отображаться. «Элементы»- понятие довольно обширное: это и текст, и картинки, и различные таблицы, формы... Не терпиться наконец увидеть что же из себя представляет html? Сами напросились: нажмите: Вид->Просмотр ввиде HTML в окне вашего браузера. Перед вами должно открыться окно текстового редактора. Внимание: не читайте то, что внутри него. Не травмируйте психику. Все равно на данный момент вы ничего не поймете. HTML- это тот язык, который надо изучать постепенно, с пониманием собственных действий. HTML- это основа. Без хотя бы приблизительного знания HTML вы никогда не напишите продуманный, удобный и красивый web-сайт. Данная стадия создания ресурса (т.е. изучение HTML и использование его на практике) является сложной, но весьма интересной. Вникните в HTML- вникните и в общее понятие html- страницы. Рекомендую остановить на этом моменте самое пристальное внимание.
Однако, стоит усвоить еще пару моментов об HTML-страницах, которые частенько не упоминают в различных on-line учебниках и печатных изданиях. Во-первых, HTML-страница - это как документ Word- его можно изменять, модифицировать, наполнять, но при открытии этого документа другими пользователями, работающими на других машинах и пусть даже с другими операционными системами, контент и структура документа останутся одинаковыми. Т.е., здесь мы столкнулись с таким понятием, как статичность, другими словами неизменяемость (неизменяемость именно при открытии, изучении этого документа, а не неизменямость вообще!), постоянность. HTML-страницы статичны. Какой бы пользователь на них ни заходил, в какое бы время суток- для всех посетителей откроется одна и та же страница с одним и тем же контентом, если администратор сайта не изменял его со стечением времени.
Во-вторых, страницы могут по-разному отображаться в различных браузерах. В том смысле, что различные браузеры по-разному рисуют, скажем, границы таблиц, кнопки форм (субмитеры), делают различные отступы от элементов и т.д. Данная область в сайтостроении, т.е. приведение страниц сайта к одному и тому же виду в различных браузерах, называется оптимизацией. Рассмотрим на примере. Вы создали некую html-страницу с уникальной и, казалось бы, правильной структурой. В вашем Internet Explorer страница отображается такой, какой вы ее задумали с самого начала. Сосед Вася попросил переписать ему эту страницу для «заценки». И тут выходит, что у Василия в его Mozilla FireFox (самом популярном после IE браузере) правая колонка разъезжается на половину экрана, текст вылазит за границу таблицы, а логотип вверху документа так вообще не отображается. Дело в том, что у каждого браузера свои тараканы в голове. Одни и те же, казалось бы, очевидные вещи, разные браузеры понимают по-разному. Поэтому запомните на всю жизнь: верстать страницы нужно максимально приближенно к основным правилам HTML. Не отклоняйтесь от них, не халтурьте! Иначе плоды вашей лени покажут себя во всей красе (читайте пример выше). Оптимизация- момент крайне тяжелый и зачастую ничем неинтересный. Только повысит ваш опыт и внимательность. А в остальном- ночной кошмар для любого веб-мастера.
Теперь поговорим о программах, необходимых для создания html-страниц. Вообще достаточно тех средств, которые предоставляет операционная система: браузер и текстовый редактор. Но текстовый редактор- это сплошное недоразумение, работать с ним крайне неудобно и "неинтересно". Поэтому настоятельно рекомендую скачать чудо-редактор для веб-разработчиков- EditPlus.
Теперь о вопросе, который, наверное, мучает вас уже не первую минуту чтения этого материала. Так где же взять хороший, бесплатный учебник по HTML? На мой взгляд, самый толковый и понятный находится на сайт -postroika.ru . ПлАтите не за трафик, а за время нахождения в Сети? Боитесь насидеть лишнего во время изучения основ html? Ничего страшного, на Постройке.Ру предусмотрена off-line версия учебника, которая заботливо упакована в ZIP-архив и вполне доступна для скачивания.
CSS-стили
Итак, вы, скорее всего, уже усвоили, что HTML-язык, предназначенный для создания и расположения элементов на странице. Конечно же, это не все- очень важно научиться форматировать (т.е. придавать нужный вид) эти элементы. HTML предоставляет хорошие возможности в этом деле, однако их зачастую не всегда достаточно. Нужен инструмент мощнее, креативнее, функциональнее. Имя ему- CSS (Cascading Style Sheets). С помощью CSS можно поотдельности форматировать определеные элементы (ссылки, таблицы, просто текст, формы и т.д) и параметры форматирования записывать в отдельный файл (с расширением *.css), который можно подключать к страницам. Т.е. такой файл служит своеобразным шаблоном- достаточно изменить в нем пару строк описания одного элемента и на всех страницах сайта редактированный элемент приобретет новый вид.<br>Для описания элементов, в CSS присутствует просто какое-то фантастическое количество параметров. В освоении CSS прост, хотя запомнить все его параметры просто нереально (да и не рекомендую вам этим заниматься). Просто зайдите на замечательный сайт сайт -htmlbook.ru, на котором представлен обширный справочник по CSS, а также краткий туториал. Редактировать CSS удобно все тем же EditPlus ( сайт -spg.arbse.net/?go=soft_list&namep=modules&cat=E )
Динамика- вот в чем сила
Современные интернет-порталы (здесь важно запомнить то, что понятие «сайт» имеет несколько иной смысл, чем понятие «портал». Сайт- это набор HTML-страниц, которые могут содержать некую хоть сколько-нибуть полезную информацию. А могут и не содержать. Количество этих страниц варьирует от пары штук, до пары десятков. А портал- это многофункциональный, информативный и довольно крупный сайт с выработанной тематикой и тенденцией развития) представляют из себя что-то вроде мощных, полноценных программ. В таких программах HTML'я- самый минимум. Большую часть кода занимают различные серверные скрипты. При запуске таких скриптов осуществляется выполнение операций, встроенных в них и, исходя из результата выполнения операций, пользователю генерируется обыкновенная, статичная HTML- страница. Скрипт- это, можно сказать, обычный программный код, который выполняет определенные операции и результат выводит пользователю. Т.е. в данном случае результатом являются HTML-страницы (хотя, очень часто результат вовсе не выводится (это различные матдействия, проверки т.д.)). С помощью скриптов на сайте можно осуществить такие сложные операции, как поиск, регистрацию посетителей, генерацию страниц по шаблону, работу с базами данных и многие-многие другие.
Для многих вышележащий текст оказался малопонятен. Оно и понятно, ведь попытаться разом объяснить в одной статье, что такое HTML и серверный язык- практически нереально. Однако, попытаюсь разъяснить основную суть проблемы.
Если вы внимательно читали этот материал, то наверняка помните о том, что HTML-страница - это объект статичный. Как ни крути, а всем без исключения пользователям такая страница будет выводить одно и то же. Так вот, со страницами, внутри которых есть серверные скрипты, дело обстоит несколько иначе. Для различных пользователей, одна и та же страница может выводить разный контент. На это влияют множество факторов. Рассмотрим на примере сайта Sarov Pro Gamers. Посмотрите в строку адреса. Вы видите что-то вроде <адреса сайта>/index.php?<различная белеберда>. Так вот через эту «белеберду» (т.е. которая следует после знака вопроса ?) для скриптов передаются всяческие команды и значения. Попробуйте перейти в какой-нибудь другой раздел сайта. Каков результат? В строке адреса будет: <адреса сайта>/index.php?<различная, немного другая белеберда>. Почувствовали? Контент страницы поменялся, а файл-то index.php остался прежним! Еще поменялись команды для этого файла. Итак, то, что мы сейчас разобрали на примере и является главным свойством страниц с включенными в их код серверными скриптами. Это динамичность. Непостоянность, изменяемость.
Теперь поговорим о том, как же пишутся эти скрипты. Осуществлется написание при помощи серверных языков программирования. Они бывают различными: PHP, ASP, Perl, SSI. У вас, наверняка, уже созрел вопрос: «Что означает слово серверных?». Серверный- значит зависящий от сервера, на котором располагается сайт. Выполнение скриптов и их результат не зависят от рода и версии вашего браузера. Браузер лишь подает запрос серверу, а тот в свою очередь выполняет скрипты и результат ввиде обычного HTML-кода посылает браузеру.
Вот такие пироги. Возможно, многое было непонятно или требует более глубоких объяснений. В данном абзаце я попытался заложить в ваши светлые головы общее понятие о динамичных страницах. Но для того, чтобы это понятие закрепилось и ужилось с общей телегой теории, необходима практика и еще раз практика. Здесь дело несколько сложнее, поскольку для выполнения серверных скриптов на собственном ПК необходимо дополнительное ПО. Такое, как: сервер Apache, специальный модуль PHP, модуль MySQL и т.д. Но не волнуйтесь, вам достаточно лишь скачать и установить уже готовый, настроенный серверный комплекс Denwer ( сайт -spg.arbse.net/?go=soft_list&namep=modules&cat=D ). Каких либо сложных действий и грандиозных знаний комплекс не требует, поэтому идем дальше. Для написания скриптов вам понадобится Блокнот. Но я бы не рекомендовал использовать данную программу, ибо она чертовски неудобна и малофункциональна. Возвращаемся к тому же EditPlus, который идеально подходит для наших целей. Еще один момент. Файл со скриптами PHP/ASP/Perl должен иметь вид: <имя_файла>.php/asp/pl . Только так все сервера в стандарте понимают, имеет ли страница включенные команды PHP/ASP/Perl.
Среди новичков существует один крайне важный вопрос: «Так какой же серверный язык изучить?». Я рекомендую PHP. Он имеет множество преимуществ перед другими языками, кроме того, он наиболее прост в изучении. PHP является самым популярным серверным языком. Учебников PHP- довольно много. Среди on-line изданий стоит попробовать цикл статей на сайт -codenet.ru/cat/Languages/PHP .
Заключение
Основная концепция данной статьи- заложение основных понятий. Теперь вы, в теории, сможете правильно объяснить, что же такое HTML, CSS и серверный язык. Дальнейшее продвижение сводится к запоминанию всевозможных тегов, команд, функций и их применению на практике. Но это уже задача различных учебников и справочников, о которых я говорил в статье.
Следующая статья будет затрагивать такую немаловажную тему, как продвижение сайта в Сети. Я расскажу вам о том, как сделать так, чтобы ваш ресурс нашли пользователи интернета. Но а в остальном- желаю успехов и удачи!
ZIRUS
Хорошая, обзорная статья по созданию сайтов. Мне понравилась.
MaD_n00b
Руспект.
А руссификатор для Dreamweather дашь?
И как форумы писать дайте плз инструкцию.
И полный, ну или почти полный, справочник XHTML тегов.
Заранее спасибо
SLayer
Руссификатора нету, т.к. я Дримвьювером не пользуюсь...

"И как форумы писать дайте плз инструкцию."

Хм. Хороший вопрос. Учи любой язык серверного программинга (php, например) + язык запросов к Бд SQL . Ну а дальше все легко будет smile.gif

"XHTML тегов"

что ты понимаешь под XHTML ?
ZIRUS
QUOTE
Хм. Хороший вопрос. Учи любой язык серверного программинга (php, например) + язык запросов к Бд SQL . Ну а дальше все легко будет

Очень сомнительный совет. Создать самому стабильный и удобный форум очень тяжело. Куда эффективнее, использовать уже готовые платформы.

Хотя, без сомнения, твой вариант значительно лучше, но также и труднее.
SLayer
Простенький форум можно сделать в одиночку за месяц (а то и меньше).
XAOC
А чем вас не устраивает готовый форум/сайт с открытым кодом, как юкоз например?
SLayer
"с открытым кодом"

Такую систему похакать могут, а с уникальными скриптами жизнь становится безопаснее.
ZIRUS
Свой даже дырявый сайт/форум труднее взломать, так как твоих кодов никто не знает.
SLayer
Все зависит от того, насколько дырявый сайт. Если дыры видны, как на ладони и допущены исключительно по незнанию предмета веб-кодером, то такой сайт сломать еще легче, чем хороший двиг с открытыми исходниками. Ну, допустим, написал ты скрипт гостевухи, но "забыл" добавить фильтры переменных и в итоге всякие HTML - теги и потенциально опасные символы проходят без препятствий, не кодируясь в аски-код. А это уже, извините, прямая дорога к взлому. Но если уязвимость заключается в том, что где-то на сотой строке не фильтруется служебный ID, переданный POST-запросом, на предмет натуральности (т.е., целости) числа, то такую багу заюзать, а точнее, обнаружить гораздо сложнее.
Но в любом случае, если на сайт окрысится целая группа хацкеров и организованно начнет какую-нибудь DoS - атаку, то никакие фильтры переменных не спасут...
MaD_n00b
А модешь выложить всё как можно подробней, всё што знаешь? Как взламывать и крушить системы, на худой конец вебстранички, и как от этокго уберечь своё детище(сайт). Или хотя бы ссылки на это всё.
А так же но сайтокреатингу всё поподробней(CSS, xml, и прочие)
Вообще желательно всё
SLayer
QUOTE
всё што знаешь?


Давай конкретнее. Что тебя в данный момент интересует. Все свои знания здесь катать я не в состоянии ... smile.gif

QUOTE
Как взламывать и крушить системы


Искать уязвимости, исследовать и следить за работой движка.

QUOTE
на худой конец вебстранички


laugh.gif Ну ты сказал smile.gif Веб-странички (я так понимаю, ты имел ввиду обычные HTML - документы) взломать вообще невозможно. На то она и статика, что не юзает серверных скриптов. В которых и пристутствуют уязвимости, о которых сейчас и идет речь.

QUOTE
и как от этокго уберечь своё детище(сайт)


Как-как... сначала изучи php и SQL (это стандартный набор, от него можно и отклониться слегка). Тогда ты поймешь, что и как работает, что следует защищать, а что можно оставить без изменений. Так на пальцах всё трудно объяснить, я даже не знаю, с чего начать (по скольку ты, я так понимаю, еще не в курсе дела).

QUOTE
А так же но сайтокреатингу всё поподробней(CSS, xml, и прочие)


postroika.ru
Надо больше - погугли.
MaD_n00b
"на худой конец вебстранички" - просто увидев в нете нехорошую страницу и хочу её тупо убить(между тегами боди стереть содержимое)
SLayer
"и хочу её тупо убить(между тегами боди стереть содержимое)"

Это невозможно, если страница статичная.
Но если ты, конечно, сможешь убить весь сервер - тогда путь открыт.
MaD_n00b
Не подскажешь как? я ведь нуб(на ник посмотри)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.