Програмиране в среда Интернет

Начало
Съдържание
Въведение в Интернет
HTML
CSS
JavaScript
Perl
Полезни връзки
Речник на термините

 

Въведение в Интернет

Концепция на понятието Интернет. Основни комуникационни протоколи.
Запзнаване с езиците за програмиране в Интернет.
Доминиращи услуги в Интернет

   Интернет е най-бързо развиващата се компютърна мрежа в света. Тя включва в себе си милиони хоста включени в хиляди по-малки мрежи, разположени из целия свят. Затова специалистите дефинират Интернет като мрежа от мрежи.
   Началото на Интернет се поставя в САЩ през 1969 г. от мрежа обслужваща Министерството на отбраната на САЩ, наречена ARPANET. По-късно ( през 1972 г. ) , тя е предоставена за свободно използване на общественоста. В този момент към нея са свързани 50 университетски научни лаборатории, имащи връзка с разработки във военната област. Ключов момент в развитието на Интернет е създаването на комуникационните протоколи TCP и IP.
   Следващата стъпка в развитието на Интернет е разделянето на ARPANET на две мрежи - ARPANET и MILNET през 1983 г. Точно тогава се появява и понятието Интернет - тогава това понятие се е отнасяло за съвкупноста от ARPANET и MILNET.
   През 1990 г. ARPANET престава да съществува, но по това време Интернет вече обединява все повече мрежи от цял свят, като през 1997 г. по официални данни в Интернет са свързани над 20 милиона хоста.
   Структурата на Интернет е базирана на технологията клиент - сървър. Това е ключово понятие за разбирането на функционирането на Световната мрежа. Принципа, на който действа тази технология е следния: клиента ( това може да е браузър, FTP клиент или друга програма, в общия случай работеща на локалния компютър ) се свързва към отдалечения компютър ( наречен сървър ), който доставя услугата заявена от клиента. Този принцип може да се изясни със следния пример : когато вие щракнете върху тази връзка, вашият браузър изпраща HTTP заявка към компютъра, който доставя тази интернет страница. В този случай вашият браузър се явява клиент, а отдалечения компютър - сървър. Важно е да се отбележи, че всеки сървър може да се яви като клиент на друг сървър. В горният пример сървъра, доставящ страницата се явява клиент на сървъра на базата данни, който доставя данните необходими на WEB сървъра.
   Основната част от данни в Интернет се пренася благодарение на два основни протокола. Това са IP и TCP. IP (Internet Protocol) е прост протокол, но е сърцето на Интернет. Той има основно две задачи : да осигурява IP адресите на подателя и получателя, както и да намери път през мрежата между подателя и получателя. TCP (Transport Control Protocol) служи за разделянето на информацията на пакети и транспортирането им. С негова помощ пакетите се събират отново при получателя.
   Освен тези много важни протоколи в Интернет има още множество протоколи. Всяка от допълнителните услуги работи със собствен протокол (който пък от своя страна работи с помоща на TCP/IP ). Сега ще бъдат разгледани основните и най - често използвани услуги в Интернет.
WWW (World Wide Web) - Това е най - популярната услуга в Интернет. Тя дотолкова се е разпростряла, че незапознатите с въпроса потребители често асоциират целия Интернет, точно с тази услуга. Разпределената информационна система WWW дава достъп до документи по целия свят. Мултимедийната реализация ги прави много атрактивни за преглед и това е същноста на популярноста на WWW. WWW работи с помоща на протокола HTTP (HyperText Transport Protocol - протокол за пренасяне на хипертекст). За да осъществява комуникацията, HTTP използва модела от вида заявка/отговор. Всяка заяква включва : метода на заявяване; URL адреса на документ, програма или друг ресурс; HTTP версията, използвана от браузъра; друга помощна информация. Има няколко метода за заявяване, по използваните от които са :

  • GET - използва се за извличане на информация намираща се на даден адрес. Използва се за изпращане на данни от формуляри или за извикване на CGI програма. Данните се прехвърлят чрез URL адреса.
  • HEAD - подобен на метода GET, с тази разлика че след обработката на информацията сървъра връща само заглавната част, без информацията, която е обект на заявката. Използва се за извличане на информация от URL адреса, без да се получава информацията от последния
  • POST - използва се за информиране на сървъра, че информацията, приложена към заявката, трябва да бъде изпратена на посочения URL адрес. Обикновенно се използва за прехвръляне на информация към CGI програми от формуляри.

   Порта по подразбиране на HTTP e 80.

FTP (File Transfer Protocol) - Тази услуга се използва за прехвърляне на файлове между сървъра и потребители или обратно. Тук могат да се задават нива на достъп на отделните потребители, които се идентифицират с потребителско име и парола. Услугата FTP се базира на протокола FTP. Той се основава на даване на команди на сървъра от клиента и тяхното изпълнение. Командите могат да бъдат за полуване или изпращане на файл, разглеждане на директории и др. Командите се изпълняват от ftp сървъра и информацията се подава към ftp клиента на потребителя. Порта по подразбиране на протокола е 21.

E-MAIL (Електронна поща) - Това е една от най - старите услуги в Интернет и все още една от най - използваните. Използва се за изпращане на текстови съобщения от един потребител на друг. С развитието си вече може да се изпращат не само текстови съобщения, но и HTML страници, както и файлове с програми и изображения. Базира се на протоколите IMAP, POP3 и SMTP. SMTP се използва за изпращане на съобщенията, a POP3 за тяхното изтегляне от пощенския сървър.

   Освен тези основни услуги, често използвани услуги са ICQ(изпращане на кратки текстови съобщения) , IRC(разговор в реално време с помоща на текст) и TELNET(отдалечено управлени на компютъра. Поради ниската сигурност на TELNET се препоръчва използването на SSH).

   Тъй като темата на материала е програмиране в среда Интернет, трябва да ви запозная и с езиците, които се използват за реализиране на програми в Интернет.
HTML (HyperText Markup Language) - Езикът за форматиране на хипертекст е езика на, който се пишат страниците. Той не е език за програмиране в прекия смисъл на думата, а по скоро език за форматиране. Повече за HTML в първата част в материала за него.
CGI (Common Gateway Interface) - Това всъщност въобще не е език за програмиране, но има огромно значение в писането на програми от страната на сървъра. CGI е стандарт, който определя как една външна програма може да комуникира с WEB сървъра. Програмите, които следват този стандарт се наричат CGI програми. Те може да са написани на произволен език за програмиране като C, C++, Pascla, Perl и др. Резултата от тази програма в общия случай е чист HTML код, който може да се визуализира от браузъра. Повече за CGI в материала за Perl и писането на CGI програми с негова помощ.
Java - Java е език разработен от Sun Microsystems първоначално за вграждане в електронни устойства за бита. По - късно благодарение на своя платформено независим формат и чудесен обекто - ориентиран модел за програмиране, той става популярен за писането на Интернет приложения. Те се наричат Java аплети и могат да се изпълняват от всеки компютър, който има инсталирана виртуалната машина на Java. Java освен това се използва и за програмиране от страната на сървъра - това са т.нар. Java сървлети. Кода на Java се компилира до платформено независим байткод. Този байткод се изпълнава от виртуалната машина на Java. Точно това е и най - големия недостатък на Java аплетите, тъй като тази операция е много бавна (20 - 30 пъти в сравнение с компилиран код). Освен това виртуалната машина на Java e сравнително тежко приложение. Като цяло е добре да използвате Java само там където е необходимо изпълнение на истински програми директно в прозореца на браузъра (например можете да направите страница с вграден в нея пълнофункционален FTP клиент).
ActiveX обекти на Microsoft - Това е подходът на Microsoft за инициализиране на обекти в прозореца на браузъра. ActiveX представлява COM (Component Object Model) обекти, които може да се изпълняват в Internet Explorer ( и само там). Например чрез ActiveX може да вградите обекти от Microsoft Word в прозореца на IE. Това е много добър метод за вграждане на обекти, но с няколко сериозни недостатъка :

  • ActiveX работят само под Windows и Internet Explorer версия 4.0 и по - късни. Никой друг браузър (включително и ранните версии на Internet Explorer) не могат да изпълняват ActiveX контролите.
  • Множство дупки в сигурността. Една ActiveX контрола може да има достъп до локалния диск на потребителя, както и до всички негови ресурси. Microsoft въведоха цифров подпис на контролите. Той не гарантира, че ActiveX контролата няма да съсипе компютъра на потребителя, а само определя кой WEB сайт е отговорен за това.

   Въпреки казаното ActiveX са подходящи за писане на интранет приложения, където всички потребители във фирмата работят под една обща операционна система, а компонентите са написани от доверен източник. Освен това обектния модел на Internet Explorer позволява достъпа на Java Script до ActiveX контроли.
LimeWire и LimeWire Database Service - Това е графична среда за управление на WEB сайтове създадена от Netscape за работа с неговия WEB сървър. Една от възможностите на LimeWire е писането на сървърни програми с помоща на Java Script. Те се използват по същия начин както CGI програмите, но за разлика от тях са тясно интегрирани със сървъра и са по - бързи. LimeWire Database Service позволява LimeWire скриптове да се свързват с бази данни и да работят с данните в тях чрез езика SQL.
ASP (Active Server Pages) - Това е среда за програмиране чрез скриптове разработена от Microsoft. Те се изпълняват от страната на сървъра, като потребителя получава обикновен HTML код. Тя е подобна на LimeWire и позволява включване на сървърни скриптове и ActiveX контроли в HTML страниците. Комбинирания файл съдържа както ASP кода, така и HTML код. Когато се изиска ASP файла, сървъра извиква ASP процесора, който изпълнява всички скриптови команди и изпраща резултатите във вид на HTML.
PHP - Това е език подобен на LimeWire и ASP, но е разработка с отворен код. Работата му е подобна на ASP. PHP стана особенно популярен последните години поради своята бързина на изпълнение и леснота на писане на кода. Това е един от най - добрите езици за програмиране в Интернет със сходен с С синтаксис. Чрез него е възможен достъп до бази данни и писане на сложни динамични страници. Както и ASP, PHP кода се вгражда в тялото на страницата и резултата е чист HTML код.
Perl - Perl е чист език за програмиране. Разпространението му за създаване на HTML страници се дължи на работата на Perl с текст. Това е една от най - силните страни на този език. Той може да взаимодейства с WEB чрез CGI, което забавя до известна степен неговата работа. Това се преодолява благодарение на специално разработен модул, който позволява изпълнението на Perl код без CGI. Тъй като Perl е език за програмиране, чиято първоначална цел не е бил WEB, чрез него могат да се пишат мощни програми работещи без WEB сървър (Perl даже притежава възможност за писане на програми с графичен интерфейс). Освен това кода на Perl работи успешно(в повечето случаи) под множество операционни системи без да е нужно пренаписване.
Java Script - Въпреки наименованието си Java Script няма много общо с Java. Той е език за програмиране от страната на клиента и се изпълнява там където работи браузър поддържащ Java Script ( а това са повечето съвременни и не дотам съвременни браузъри). Той се вгражда в HTML документа и при отварянето му от браузъра, кода нa Java Script се изпълнява. С негова помощ може да се управляват повечето обекти на страниците и на прозореца на браузъра. Той е особенно подходящ за предварителна обработка на информация от формуляри преди изпращането й към сървъра, като по този начин се спестява компютърно време на натоварения ви сървър.

   В настоящия материал ще бъдат разгледани основите на програмирането в Интернет, като ще се разгледат езиците HTML, Java Script и Perl и взаимодействието му със CGI. Но да започнем с най - простото, създаването на статични страници с HTML...

Протокол IP
Протокол TCP
IP адрес
Хост
Протокол HTTP
SQL