Статик ба динамик вэб хуудас. Статик ба динамик вэб хуудас. Өгөгдлийн сангийн загвар боловсруулах

Сайт руу шууд индексжүүлсэн холбоос- энэ бол хориглогчид хориглоогүй холбоос юм HTML шошгоба/эсвэл шинж чанарууд, түүнчлэн ямар ч дахин чиглүүлэлт (дахин чиглүүлэлт) байхгүй. Жишээлбэл, хэрэв та вэбсайт/блог дээрээ миний сайтын холбоосыг байрлуулахаар шийдсэн бол үүнийг хориглох nofollow шинж чанар бүхий хайлтын роботуудаас нуухгүй байхыг зөвлөж байна. Хэрэв та миний аль нэг хуудас руу холбохоор шийдсэн бол индексжүүлэх холбоосыг нээнэ үү. Миний сайт руу шууд индексжүүлсэн холбоосууд нь би талархах болно.
Хэрэв та өөрийн вэбсайт/блог дээрээ энэ сайтаас авсан график/текст контент эсвэл ямар нэгэн фрагмент/ишлэл ашигладаг бол вэб сайтын холбоос нь ямар ч хориглосон шинж чанар болон/эсвэл дахин чиглүүлэлтгүй байх ёстой.

TFP ба FTP гэж юу вэ, ялгаа нь юу вэ?

TFP ба FTP гэсэн товчлолууд хоорондоо ямар ч нийтлэг зүйлгүй. Тэднийг нэгтгэдэг цорын ганц зүйл бол дуудлагын эв нэгдэл бөгөөд хэн нэгнийг төөрөлдүүлж чаддаг.
TFP - (Хэвлэх цаг), "хэвлэх хугацаа" гэж орчуулагдсан. Энэ нэр томъёог гэрэл зурагчин, загвар өмсөгчид ашигладаг. TFP бол гэрэл зургийн салбарын төлөөлөгчдийн хэрэглэдэг мөнгөн тэмдэгт юм. Зохиогчийн эрх гэх мэт бүх төрлийн бэрхшээлээс зайлсхийхийн тулд TFP нь дүрмээр бол загвар өмсөгч ба гэрэл зурагчин хоёрын хооронд байгуулсан гэрээгээр баталгааждаг.
Загвар өмсөгч TFP-ийг зөвшөөрвөл энэ нь тэр тодорхой хугацаанд үнэ төлбөргүй ажиллахад бэлэн байна гэсэн үг бөгөөд ажлынхаа төлөө өөрийн гэрэл зургуудыг (бүх эсвэл заримыг нь, боловсруулалттай эсвэл боловсруулаагүй) хүлээн авна гэсэн үг юм.
Одоо FTP-ийн тухай.
FTP (Файл дамжуулах протокол)нь вэб хөгжүүлэгчид болон бусад хүмүүсийн ашигладаг файл дамжуулах протокол бөгөөд энэ протоколоор дамжуулан сервертэй ажиллахын тулд FTP үйлчлүүлэгчнь FTP сервертэй шууд ажилладаг програм юм.
FTP протокол нь HTML, PHP, CSS, JPEG гэх мэт сүлжээний баримт бичгүүдийг хөгжүүлэгчийн хувийн төхөөрөмжөөс хост сервер рүү шилжүүлэхэд ашиглагддаг. Сүлжээний баримт бичгийг серверээс хөгжүүлэгчийн хувийн төхөөрөмж рүү татаж авахад ижил протокол ашигладаг.

Файлын өргөтгөл гэж юу вэ?

Файлын өргөтгөл, эс тэгвээс файлын нэрийн өргөтгөл нь файлын нэр дээр нэмсэн тодорхой тэмдэгтүүдийн дараалал юм. Эдгээр тэмдэгтүүд нь файлын төрлийг тодорхойлох зорилготой юм. Файлын нэрийн өргөтгөл нь файлын нэрний сүүлчийн цэгийн дараа ирдэг үсэг ба/эсвэл тоонуудын хослолоос өөр зүйл биш, жишээлбэл fotograf.gif, энд “fotograf” нь файлын нэр, “.gif” нь өргөтгөл юм. . Маш олон тооны файлын өргөтгөлүүд байдаг боловч тэдгээр нь бүгд тодорхой стандарт, хэрэглээний талбарт нийцдэг. Гэхдээ хэрэв та файлын нэр, фотограф гэх мэт файлын анхны өргөтгөлтэй болохыг хүсч байвал асуудалгүй болно! Гэхдээ таны машин дээр энэ өргөтгөлийг хардаг тохирох програм байхгүй бол Windows үйлдлийн систем нь ийм файлыг нээх боломжгүй болно. Жишээлбэл, хэрэв та Windows үйлдлийн систем дээр .gif өргөтгөлтэй файл нээхийг хүсвэл энэ үйлдлийн систем нь энэ өргөтгөлийн талаар мэддэг бөгөөд зарим зургийг нээх болно. Гэхдээ хэрэв та .fotograf өргөтгөлтэй файл нээхийг хүсвэл Windows үйлдлийн систем нь ийм өргөтгөлийг мэддэггүй тул ийм файл нээгдэхгүй. Энэ өргөтгөлтэй файлыг энэ өргөтгөлийг дэмждэг програм дээр нээх боломжтой.

Нэрийн хуудас гэж юу вэ, тэнд юу байдаг вэ?

Бизнес картын вэбсайткомпани, хувь хүний ​​талаарх мэдээллийг олон нийтэд хүргэх үндсэн зорилго бүхий цахим хуудас юм. Ийм сайт нь ихэвчлэн цөөн тооны статик эсвэл динамик хуудаснаас бүрддэг.
Нэрийн хуудасны хуудас нь тухайн компани/хувь хүн, тэдний үйлдвэрлэсэн бараа бүтээгдэхүүн, үйлчилгээний талаарх үндсэн мэдээллийг агуулсан байх ёстой. Эдгээр нь үнийн жагсаалт, холбоо барих мэдээлэл, мэдээжийн хэрэг маягт бүхий хуудас байж болно санал хүсэлт. Гэрэл зурагчны нэрийн хуудасны вэбсайт нь дүрмээр бол бусад ижил төстэй сайтуудаас гоёмсог дизайн, олон тооны гэрэл зургуудаараа ялгаатай байдаг. Гэрэл зурагчны вэбсайтад түүний багц, харилцагчид байх ёстой. IN Сүүлийн үедЗарим хуудсууд нь FLASH технологи дээр бүтээгдсэн эсвэл бүхэлдээ FLASH дээр бүтээгдсэн нэрийн хуудасны вэбсайтыг улам бүр олох болно.
FLASH сайтуудсайхан харагдаж байна, гэхдээ ийм сайтууд одоогоор хайлтын системээр маш муу индексжүүлсэн, эсвэл огт индексжүүлээгүй байна.

Динамик вэб хуудас/вэбсайт гэж юу вэ?

Динамик вэб хуудас- энэ бол контент эсвэл түүний зарим хэсгийг биеийн нэмэлт хөдөлгөөнгүйгээр бодит цаг хугацаанд үүсгэх (өөрчлөх) боломжтой хуудас юм. Динамикаар холбогдсон хуудсуудын хувьд CMS (агуулгын удирдлагын систем) гэж нэрлэгддэг хөдөлгүүрийг ашигладаг.
Хэрхэн ажилладаг? Жишээлбэл, таны харж буй хуудас Энэ мөчхөтчийн цонхонд энэ хэлбэрээр байхгүй байна. Энэ нь серверээр нэг бүхэлд нь угсардаг тусдаа хэсгүүдээс (загварууд) угсардаг. Өөрөөр хэлбэл, хуудас хүсэх үед вэб сервер нь хүсэлтийг боловсруулж, тэр даруй "ямар байдлаар" вэб хуудсыг салангид хэсгүүдээс цуглуулж, хөтөч дээр үзэхээр бидэнд илгээдэг. Зөвхөн хуудасны агуулга өөрчлөгдөх боловч хуудасны загвар өөрчлөгдөөгүй хэвээр байна.
Хэд хэдэн тавиуртай шүүгээг төсөөлөөд үз дээ янз бүрийн зүйл. Нэг тавиур дээр текстийн агуулга (мэдээллийн сан), нөгөө талд нь - график файлууд(зураг, график дизайны элементүүд), гуравдугаарт - скриптүүд (жишээ нь, PHP скриптүүд), дөрөвдүгээрт - CSS загварууд гэх мэт ... Энэ нь сервер энэ эсвэл бусад контентын хүсэлтийг хүлээн авах үед энэ нь гэсэн үг юм. бүх зүйл хаана байгааг мэддэг бөгөөд шаардлагатай хэсгүүдээс бидэнд зориулж хуудсыг хурдан цуглуулдаг: мэдээллийн сангаас шаардлагатай текстийн агуулгыг, график тавиураас шаардлагатай график файлуудыг гэх мэт. Загварын зарим хэсгийг нэг газар өөрчилснөөр эдгээр өөрчлөлтүүд нь сайтын бүх хуудсанд хэрэгжинэ.

Статик вэб хуудас/вэбсайт гэж юу вэ?

Статик вэб хуудасЭнэ нь хэрэглэгч өөрийн хөтөч дээрээ хардаг хэлбэрээр сервер дээр байрладаг вэб баримт бичиг юм. Өөрөөр хэлбэл, ийм баримт бичгийг салангид хэсгүүдээс (загваруудаас) угсардаггүй, харин угсарсан хэлбэрээр сервер дээр байрладаг бөгөөд серверээс түүнтэй холбогдсон нэг файл болгон татаж авдаг. CSS загваруудба/эсвэл скриптүүд.
Ийм баримт бичгийн агуулгыг өөрчлөхийн тулд эхлээд ажлын компьютер дээрээ HTML засварлагч дээр засварлаж, дараа нь серверт дахин байршуулах хэрэгтэй. Загварын зарим хэсгийг өөрчлөх эсвэл жишээлбэл, навигацийн цэсийн зүйлийг нэмэх/ хасахын тулд сайтын бүх хуудсыг өөрчлөх (өөрчлөх) шаардлагатай болно.

Вэб дизайнер, вэб програмист хоёрын ялгаа нь юу вэ?

Вэб дизайнер, вэб программист хоёр нэг чиглэлээр ажилладаг боловч өөр өөр үүрэг гүйцэтгэдэг. Вэб дизайнер нь хуудасны дизайны прототип хийх, вэбсайтын дизайны загварыг боловсруулах, график дизайны зохион байгуулалтыг бий болгох, түүнийг салангид хэсгүүдэд хуваах, оновчтой болгох, фонт, өнгө сонгох зэрэгт оролцдог. Вэб дизайнер нь вэбсайтын хуудасны зохион байгуулалтыг хийж чадна, гэхдээ энэ нь түүний үүрэг биш юм - layout designers.
Вэб програмист гэж хэн бэ?
Вэб програмист, эс тэгвээс вэб хөгжүүлэгч (сервер хөгжүүлэгч) нь вэб хуудасны тодорхой модулиудад зориулж өөр өөр програмчлалын хэлээр скрипт бичдэг тусгай вэб програмуудыг хөгжүүлдэг хүн юм.
Дүгнэлт, вэбсайт нь үзэсгэлэнтэй, ажиллагаатай байхын тулд вэб дизайнер, вэб програмист хоёулаа хэрэгтэй. Мөн сайт нь хэрэглэгчдэд ээлтэй байхын тулд түүнд хэрэгтэй

Вэбсайтыг сурталчлах (сурталчлах) нь хайлтын систем дэх тодорхой түлхүүр үгсийн хайлтын үр дүнгийн дээд хэсэгт вэбсайтыг шилжүүлэх гэж ойлгогддог. Google системүүд, Yandex гэх мэт.
Шилдэг хайлтын үр дүн- энэ бол сайтын эхний хуудас юм Хайлтын системсайтуудын эхний 10 холбоостой. Эдгээр 10 албан тушаалын төлөө нэг сэдэвтэй сайтуудын хооронд эвлэршгүй тэмцэл өрнөж байна. Статистикийн мэдээгээр, дээд талд байгаа сайтууд (эхний гурван байрыг эзэлдэг) хамгийн олон тооны зочдыг цуглуулдаг. Энэ оргилд гарахын тулд зарим эх үүсвэрүүд асар их мөнгө төлдөг. Гэхдээ тэнд очиход хангалттай биш, та тэнд үлдэх хэрэгтэй бөгөөд энэ нь зөвхөн томоохон SEO компаниудын дунд төдийгүй хувийн хэвшлийнхний дунд байнгын тэмцэлд хүргэдэг.

статик хуудсууд нь вэб серверийн лавлахуудад байрладаг файлуудын яг хуулбар бөгөөд хөгжүүлэгч өөрөө ямар нэг зүйлийг өөрчлөх хүртэл өөрчлөгддөггүй. Гэсэн хэдий ч хуудсуудыг динамик байдлаар үүсгэж болно, өөрөөр хэлбэл дискэн дээрх бэлэн файлаас биш харин зарим програмыг ашиглан хүсэлтийг боловсруулах үед. Ийм хуудас үүсгэх хэд хэдэн арга байдаг:

хүсэлтээр шууд вэб сервер дээр үүсгэх. Вэб хуудсуудыг динамикаар үүсгэх боломжийг хэрэгжүүлэхийн тулд серверт ямар файлууд нь "ердийн" вэ, тэдгээрийн програмыг боловсруулах зааврыг агуулсан заавар өгөх шаардлагатай. Тиймээс вэб сайтын холбогдох лавлах дахь хандалтын эрхийн жагсаалтад "гүйцэтгэх" боломжтой бүх файлуудыг динамик гэж үздэг бөгөөд сервер өөрөө ийм файлд хандахдаа түүний шинж чанар болон / дээр үндэслэн тодорхой хуудас үүсгэх хэрэгслийг сонгодог. эсвэл түүний нэрийн өргөтгөл. Энэ тохиолдолд хуудсыг сервер өөрөө (тусгай тушаалуудыг ашиглан) эсвэл шууд эхлүүлсэн гадаад програмаар эсвэл CGI интерфейсээр (нийтлэг гарцын интерфейс) үүсгэж болно. Динамик хуудас үүсгэх програмыг хөрвүүлсэн эсвэл тайлбарласан хэлээр бичиж болно. Хуудсуудыг динамикаар үүсгэх командуудыг агуулсан програмын текстийг скрипт гэж нэрлэдэг. Скриптийн шинж чанарууд болон тэдгээрийг боловсруулах гадаад програмуудын хоорондын захидал харилцааны жагсаалтыг вэб сервер/скрипт процессорын хэсэгт заасан болно. Жишээлбэл, *.pl болон *.cgi өргөтгөлтэй скриптүүдийг Perl хэлний орчуулагчаар боловсруулдаг;

хэрэглэгчийн компьютер дээр үүсэх. Энэ тохиолдолд динамик вэб хуудас үүсгэх програмын текстийг эхлээд дамжуулдаг орон нутгийн компьютерВэб хуудсыг боловсруулж, хүлээн авахын тулд хөтөч нь тохирох хэрэгслийг дуудах ёстой хэрэглэгч. Динамик хуудас үүсгэх програмыг хөрвүүлсэн эсвэл орчуулсан хэлээр бичиж болно.

    1. cgi технологи

Та урьд өмнө нь байгаагүй, таны хүсэлтээр динамикаар үүсгэгдсэн хуудсуудтай таарсан байх.

Жишээлбэл, аливаа тойм ном нь танд шүүмжээ нэмэх тодорхой маягтыг өгдөг бөгөөд дараа нь та тэр хуудсыг дараагийн удаа нээхэд шинэ мессеж агуулна.

Вэб хуудсанд динамик контент нэмэх боломжийг олгодог нэг технологийг CGI гэж нэрлэдэг. Энэ нь тодорхой URL-тай зөвхөн статик баримт бичиг төдийгүй программтай холбогдох боломжийг олгодог бөгөөд үүний үр дүнд бодит цаг хугацаанд өгөгдлийг үүсгэх боломжтой болно.

Цаг агаарын мэдээлэл өгөх жишээг авч үзье. Цаг агаарын мэдээ өдөр бүр өөрчлөгдөж, шинэ статик мэдээний хуудсыг өдөр бүр үүсгэж болно. Гэсэн хэдий ч, хэрэв та шуурхай өгөгдөл өгөхийг хүсч байвал тэр бүрдээ шинэ хуудас үүсгэх ёстой. Үүнийг CGI технологийг ашиглан хэрэгжүүлж болно. Сервертэй холбогдох үед CGI програмыг ажиллуулж, тоон хэмжих төхөөрөмжид нэвтэрч, температур, даралт гэх мэт мэдээллийг өгдөг. Дараагийн удаа та энэ хаягаар холбогдоход шинэ мэдээлэл хүлээн авах болно.

Өөр нэг жишээ: хайлтын систем дэх хүсэлт гэх мэт хүсэлтийг бөглөхөд та CGI програмын үр дүнг хайсан хаягийн багц хэлбэрээр хүлээн авах болно.

CGI программыг вэб серверийн бодит цаг хугацаанд гүйцэтгэдэг вэб серверийн нэг хэсэг гэж үзэж болно. Сервер нь хэрэглэгчийн хүсэлтийг CGI программ руу дамжуулж, түүнийг боловсруулж, ажлынхаа үр дүнг хэрэглэгчийн дэлгэц рүү буцаана (Зураг 3). Ихэнх вэб серверүүд дээр CGI механизмыг дараах байдлаар зохион байгуулдаг: ийм програмуудыг хадгалдаг тусгай дэд лавлах үүсгэсэн бөгөөд вэб серверийн администратор нь түүнд хандах хандалтыг түүн дээрх файлуудыг уншихгүй, харин ажиллуулахаар тохируулдаг. гүйцэтгэл. Хөтөлбөрийн үр дүнг хүсэлтийн хариуд хөтөч рүү илгээдэг. Үйлчлүүлэгчийн үүднээс авч үзвэл өгөгдсөн URL нь статик баримт бичиг эсвэл CGI програм байх нь ямар ч ялгаагүй. Хөтөч нь мэдээллийг шууд үүсгэсэн эсвэл статик хуудас эсэхээс үл хамааран ижил аргаар хүлээн авдаг. CGI програмын гаралт нь статик баримт бичигтэй ижил форматтай байна.

Та аялж байхдаа хөтөч дээрээ CGI товчлолтой тааралдсан байх World Wide Web, мөн та cgi программууд ихэвчлэн байрладаг лавлах /cgi-bin/ холбоосыг харсан байх. Зочны ном, форум гэх мэт олон интерактив үйлчилгээг CGI программ дээр тусгайлан бүтээдэг.

"CGI" гэсэн нэр томъёо нь зөвхөн програмыг төдийгүй протоколыг хэлдэг. Энэ утгаараа CGI нь вэб сервер нь хэрэглэгчийн хүсэлтийг хэрэглээний программ руу дамжуулж, хэрэглэгчдэд дамжуулахаар өгөгдлийг буцааж авах стандарт арга юм. Сервер болон програмын хооронд өгөгдөл дамжуулах CGI протокол нь HTTP протоколын нэг хэсэг юм.

Хэрэв та өөрийн хуудсаа үнэгүй байршуулах сервер дээр байршуулах гэж байгаа бол CGI скриптийг эдгээр серверүүд дээр дэмждэггүй байж магадгүй гэдгийг тэмдэглэх нь зүйтэй.

CGI-ийн өөр хувилбар бол Microsoft-ын Active Server Page (ASP) технологи бөгөөд энэ нь ижил зарчмаар бүтээгдсэн: вэб хуудсанд орсон скрипт нь тухайн хуудсыг хэрэглэгч рүү илгээхээс өмнө сервер дээр гүйцэтгэгддэг.

Үүнтэй ижил зарчмаар ажилладаг өөр технологиуд байдаг.

Зураг дээр харж болно. 3, CGI програм нь сервер тал дээр ажилладаг.

Зураг 3.

Гэсэн хэдий ч клиент тал дээр динамик хуудасны контент үүсгэдэг програмуудыг клиент компьютерт шилжүүлэх замаар динамик хуудсыг зохион байгуулах боломжтой (Зураг 4).

Цагаан будаа. 4

Энэ технологи нь дараах байдлаар хэрэгждэг: идэвхтэй баримт бичгүүдийг вэб серверүүд дээр хадгалж, статик хуудсуудын нэгэн адил локал компьютерт татаж авдаг боловч идэвхтэй баримт бичгийн програм локал компьютер дээр ажилласны дараа тухайн хэрэглэгчийн компьютер дээр ажиллаж, тодорхой тооцооллыг гүйцэтгэдэг. , орон нутгийн тооцооллын нөөцөд тулгуурлан. Мөн эдгээр тооцооллын үр дүн аль хэдийн дэлгэцэн дээр гарч байна. Үүний дагуу дэлгэцэн дээр өгөгдлийг харуулах хурд нь алсын сервертэй харилцах хурдаас хамаардаггүй, учир нь идэвхтэй баримт бичгийн гаралт нь зөвхөн локал компьютерт татаж авсны дараа л гардаг. Идэвхтэй баримт бичгийг үүсгэхийн тулд янз бүрийн технологийг ашиглаж болно: JavaScript дээр бичигдсэн програмууд, Java апплетууд, ActiveX удирдлага.

Вэб сайтынхаа агуулгыг шинэчлэхийн тулд өдөр бүр ажиллана сонирхолтой материалууд, та өдөр бүр хэдэн зуун шинэ вэб сайт бий болж, өдөр бүр хэдэн зуун шинэ баримт бичиг нэмэгддэг гэж та бодож байгаа байх. Эдгээр бүх шинэ хуудасны массивууд хэрхэн бүтээгдсэн бөгөөд тэдгээр нь хэрхэн хурдан шинэчлэгддэг вэ? Энэ бүхэн нь динамик вэб хуудасны тухай ойлголтыг ашигладаг тул эхлээд харахад тийм ч хэцүү биш юм.

Энэ нийтлэлд бид вэб сайт дээр хэвлэлийн мэдээ нийтлэх механизмыг бий болгох алхмуудыг авч үзэх болно. Манай сайт мэдээллийн санд хадгалагдсан хэвлэлийн мэдээг загвар вэб хуудсуудаар шууд холбох болно. Энэ талаар олон ном, нийтлэл бичсэн тул бидний зорилго бол уншигчдад вэб сайт боловсруулах хэрэгслийн үндсийг танилцуулах явдал биш байв. Энэ нийтлэл нь вэб хуудас, энгийн сайт үүсгэх туршлагатай хэрэглэгчдэд зориулагдсан болно. Бидний гол зорилго бол анхны динамик вэб сайтаа хэрхэн хөгжүүлж эхлэхийг харуулах явдал юм. Өгүүллийг ойлгохын тулд үүнийг хийхийг зөвлөж байна үндсэн мэдлэгмэдээллийн системийн архитектур, гипертекст тэмдэглэгээний хэл (HTML) болон Perl програмчлалын хэлний тухай. Энэ сайтыг үүсгэхийн тулд бид гурван хүчирхэг нээлттэй эхийн технологийг ашиглах болно: Apache, MySQL болон Perl/DBI.

Статик вэбсайт гэж юу вэ?

Динамик вэб сайтыг хөгжүүлэхийн өмнө статик вэб сайт гэж юу болох, түүний үндсэн хэсгийг бүрдүүлдэг статик вэб хуудсуудыг ойлгох нь чухал. Статик вэб хуудсуудыг гараар үүсгэж, дараа нь хадгалж, сайтад байршуулдаг. Ийм хуудасны агуулгыг өөрчлөх шаардлагатай үед хэрэглэгч үүнийг ажлын компьютер дээрээ ихэвчлэн HTML засварлагч ашиглан өөрчилж, хадгалаад дараа нь вэб сайтад дахин байршуулдаг. CNN.com эсвэл BBC.co.uk гэх мэт зарим порталыг сайтар ажиглавал эдгээр компаниуд өөрсдийн сайтын агуулгыг шинэчлэхийн тулд зохион бүтээгчдийн армийг татдаг гэж бодож магадгүй юм. Үнэндээ байдаг Хамгийн зөв зам- динамик вэб сайтын тухай ойлголтыг ашиглах.

Динамик вэб сайт гэж юу вэ?

Динамик вэб сайтуудын үзүүлсэн хуудас бүр нь байнга өөрчлөгддөг агуулгыг оруулдаг загвар хуудас дээр суурилдаг бөгөөд энэ нь ихэвчлэн мэдээллийн санд хадгалагддаг. Хэрэглэгч хуудас хүсэх үед холбогдох мэдээллийг өгөгдлийн сангаас гаргаж авч загварт оруулан шинэ вэб хуудас үүсгэн вэб серверээр тухайн хэрэглэгчийн хөтөч рүү илгээж, зөв ​​харуулах болно. Мэдээллийн агуулгаас гадна вэб сайтын навигацийн элементүүдийг динамик байдлаар үүсгэж болно. Ингэснээр та сайтынхаа агуулгыг шинэчлэх шаардлагатай бол шинэ хуудасны текстийг нэмж, дараа нь тодорхой механизм ашиглан мэдээллийн санд оруулна. Үүний үр дүнд вэб сайт өөрөө шинэчлэгдэж байх шиг байна.

Динамик сайт үүсгэх

Динамик сайт үүсгэхийн тулд хамгийн түрүүнд хийх зүйл бол Apache гэх мэт вэб сервер юм.

Вэб серверийг цахим дэлгүүр, мэдээний сервер, хайлтын систем, системд үйлчлэхэд ашиглаж болно алсын зайн сургалттэр ч байтугай жагсаасан газруудын бүхэл бүтэн багцын хувьд. Вэб серверийн сонголт нь хувь хүн эсвэл байгууллага интернетэд ямар төрлийн үйл ажиллагаа явуулахаар төлөвлөж байгаагаас хамаарна.

Цөөн хэдэн стратегийн бизнесийн шийдвэрүүд вэб серверийн платформыг сонгохтой адил чухал байдаг. Серверийн шинж чанар нь зангилааны найдвартай байдал, түүний "хариу" -ыг тодорхойлдог маш чухал хүчин зүйл юм хэрэглэгчийн хүсэлт, түүнчлэн түүнийг хэвийн байлгахын тулд ямар хүчин чармайлт гаргах ёстой. At зөв сонголт хийхБүрэлдэхүүн хэсэг, чанартай төслийн хувьд вэб сайт нь үйлчлүүлэгчид болон түншүүдэд танай компанитай харилцах шинэ, илүү тохиромжтой арга болж чадна. Вэб серверийг хэт ачаалснаар өгөгдлийн сангийн сервер эсвэл бусад эх сурвалжийг үйлчлүүлэгчид ашиглах боломжгүй болгож болзошгүй.

Томоохон компаниуд саяхныг хүртэл Microsoft Internet Information Server, Netscape FastTrack, IBM WebSphere, Apache-д тулгуурлаж жижиг компаниуд голчлон ашигладаг байсан. Гэсэн хэдий ч одоо нөхцөл байдал бага зэрэг өөрчлөгдсөн бөгөөд Apache нь зарим томоохон интернет төслүүд, ялангуяа Yahoo-ийн гүйцэтгэлийг дэмжиж эхэлж байна.

Та нийтлэлийн бүрэн хувилбарыг манай CD-ROM дээрээс авах боломжтой.

Apache нь хувийн болон байгууллагын хэрэглэгчдийн хэрэгцээнд нийцүүлэн вэб серверээ өөрчлөх боломжийг олгодог баялаг боломжуудыг олгодог. Тохиргоог доторх зааврыг ашиглан хийдэг тохиргооны файлууд. Apache нь танд виртуал вэб сайт үүсгэх боломжийг олгодог бөгөөд мөн прокси серверийн үүрэг гүйцэтгэдэг. Хэрэв та зөвхөн серверийн контентод хандах эрх олгох шаардлагатай бол хязгаарлагдмал тойрогхувь хүмүүсийн хувьд вэб серверийг тохируулах боломжтой бөгөөд ингэснээр сервер нь заасан лавлах руу нэвтрэх үед өөрийн мэдээллийн сан эсвэл түүнтэй холбогдсон мэдээллийн санд нэвтрэх нэр, нууц үгээ шалгадаг.

Дараа нь та вэб хуудсан дээр гарч буй агуулгыг хэрхэн хадгалахаа шийдэх хэрэгтэй. Энэ нийтлэлд бид тодорхой жишээ ашиглан мэдээллийн сан хэрхэн үүсгэхийг харуулах болно MySQL DBMS, энэ нь бидэнд вэб агуулгыг талбарууд болон өгөгдлийн бүртгэл агуулсан хүснэгт болгон хуваах боломжийг олгоно. Талбар нь хүснэгт дэх өгөгдлийн салангид нэгж юм. Жишээлбэл, бид tbl_news_items хүснэгтийг col_title, col_date, col_fullstory, col_author гэсэн талбараар үүсгэж болно. MySQL DBMS нь ашиглах, удирдахад хялбар, Linux болон Windows зэрэг төрөл бүрийн платформуудад үнэ төлбөргүй түгээх, хурдацтай өсөн нэмэгдэж буй алдар нэр зэргээс шалтгаалан ийм мэдээллийн санг бий болгоход маш сайн сонголт юм.

Үүний дараа бид динамик HTML загвар хуудас үүсгэх болно. Өгөгдлийн сан болон загваруудтай харилцах програмуудыг хөгжүүлэхийн тулд бид Perl хэлийг ашиглана.

Үнэн хэрэгтээ бид гурван Perl програм буюу скрипт үүсгэх хэрэгтэй: нэг нь боломжтой бүх хэвлэлийн мэдээний холбоосыг харуулах болно (pr-list-dbi.pl), нөгөө нь сонгосон хэвлэлийн мэдээний агуулгыг харуулах болно (pr-content-dbi). .pl) , гурав дахь нь мэдээллийн санд (pr-add-dbi.pl) хамгийн сүүлийн үеийн хэвлэлийн мэдээг нэмэх боломжийг олгоно. Байршлын ажлыг өөрийн дуртай HTML редакторт даатгаж болно, жишээлбэл Allaire HomeSite (http://www.allaire.com/). Загвар үүсгэхдээ динамик контент оруулах хоосон хэсгүүдийг (мэдээжийн урт нь хувьсах боломжтой) орхих ёстой гэдгийг санаарай.

Хэвлэлийн мэдээний ерөнхий загварыг гаргасны дараа дээрх хоосон зайд тодорхой түлхүүр үгсээ оруулна уу (энэ талаар дэлгэрэнгүйг доороос үзнэ үү). Хэрэглэгч хэвлэлийн мэдээ гаргах хүсэлт гаргасны дараа вэб сервер нь Perl кодыг боловсруулж, загвар дахь түлхүүр үгсийг мэдээллийн баазаас татаж авсан контентоор, өөрөөр хэлбэл тусгай хэвлэлийн мэдээгээр солих болно.

Хамгийн сүүлд хийх зүйл бол загваруудаа вэб серверт тодорхой лавлахуудад байршуулах явдал юм. Та FTP клиент CuteFTP (http://www.cuteftp.com/) ашиглаж болно, гэхдээ бид FAR файлын бүрхүүлийг ашиглахыг илүүд үздэг. Хоёр чухал зүйлийг санаж байх хэрэгтэй: нэгдүгээрт, загвар файлууд нь .pl-ээр төгссөн нэрийг агуулсан байх ёстой, хоёрдугаарт, тэдгээр нь гүйцэтгэх зөвшөөрөлтэй байх ёстой (UNIX систем дээр та chmod тушаал 0755 template_name.pl). Энэ бүгд!

Функцийг нэмж байна

Үүнийг нэмэх нь тийм ч хэцүү биш юм функциональ байдалхэвлэлийн мэдээг нийтлэх механизмд. Та мэдээллийн санд байгаа хэвлэлийн мэдээний холбоосыг огноо, гарчигаар нь ангилж, жилээр нь ангилж болно. Эсвэл, жишээлбэл, та өөрийн вэб хуудсандаа санамсаргүй хэвлэлийн мэдээг үзүүлж, хэзээ хэвлэгдсэнээс үл хамааран зочдод үе үе мэдээлэл өгөхийг хүсч болно. Гэхдээ хамгийн чухал бөгөөд хэрэгтэй функц бол хэвлэлийн мэдээний агуулгыг оруулах HTML маягтыг нэмж, Perl дээр CGI програмыг боловсруулж, энэ маягтыг боловсруулж, дараа нь баримтыг мэдээллийн санд байрлуулах явдал юм. CGI (Common Gateway Interface) нь вэб сервер болон тусдаа программ хоорондын протокол, механизм эсвэл албан ёсны гэрээ гэдгийг санаарай. Сервер нь HTML маягтууд гэх мэт оролтын өгөгдлийг кодчилдог ба CGI програм нь үүнийг тайлж гаралтын өгөгдлийн урсгалыг үүсгэдэг. Протоколын тодорхойлолтод ямар нэгэн тодорхой програмчлалын хэлний талаар юу ч хэлээгүй. Тиймээс энэ протоколд нийцсэн программыг бараг ямар ч хэлээр бичиж болно - C, C++, Visual Basic, Delphi, Tcl, Python эсвэл бидний хувьд Perl.

Зарим үр дүнг нэгтгэн хэлье. Энэ нийтлэл нь динамик вэб хуудасны үзэл баримтлалын статик хуудаснаас давуу талыг ойлгоход тусална гэж найдаж байна. Энэхүү үзэл баримтлалыг хэрэгжүүлснээр гар ажиллагаа багасч, серверийн ачааллыг хуваарилж, сайт дээрх агуулгын хэмжээг хурдан нэмэгдүүлэх боломжтой болно. Apache, MySQL болон Perl-ийн хослол нь бараг үнэ төлбөргүй, хэрэглэхэд хялбар, суулгах, тохируулахад уян хатан, платформ хоорондын болон өргөтгөх боломжтой хөгжүүлэлтийн орчинг бүрдүүлэх болно. Энд бид тэдгээрийн суурилуулалтын онцлогийг авч үзэхгүй, учир нь нэгдүгээрт, энэ нийтлэлд хангалттай зай байхгүй, хоёрдугаарт, эдгээр хэрэгсэл бүр нь маш нарийн баримт бичигтэй ирдэг.

MySQL DBMS дээр мэдээллийн сан үүсгэх

Өгөгдлийн сангийн загвар боловсруулах

Мэдээллийн сан үүсгэх эхний бөгөөд хамгийн чухал алхам бол түүний загварыг боловсруулах явдал юм. Ингээд эхэлцгээе.

1-р алхам

Бид мэдээллийн санг ямар нэгэн байдлаар нэрлэх хэрэгтэй. Үүнийг db_website гэж нэрлэе.

Алхам 2

Өгөгдлийн сангийн хүснэгтэд яг юу агуулагдахыг тодорхойлох шаардлагатай. Өгөгдлийн сан нь хэдэн зуун хүснэгт агуулж болно. Хэвлэлийн мэдээг хадгалахын тулд эхлээд бидэнд нэг ширээ хэрэгтэй болно. Үүнийг tbl_news_items гэж нэрлэе.

Алхам 3

Бид хүснэгтэд агуулагдах талбаруудыг тодорхойлох хэрэгтэй. Эдгээр талбарууд нь хэвлэлийн мэдээний бүх элементүүдийг төлөөлөх болно. Манай жишээнд col_id (хэвлэлийн мэдээний тоон танигч), col_title (гарчиг), col_date (хэвлэгдсэн огноо), col_fullstory (агуулга), col_author (зохиогчийн нэр) гэсэн таван талбарыг ашигладаг. col_id талбар нь хэрэглэгч тодорхой хэвлэлийн мэдээний агуулгыг асуух боломжтой өвөрмөц танигчийг агуулна.

Өгөгдлийн сан үүсгэх

Одоо бид MySQL DBMS-тэй холбогдож мэдээллийн сангаа үүсгэх хэрэгтэй. Доор бид үүнийг командын мөрөөс хэрхэн хийхийг харуулах болно. Гэсэн хэдий ч хэрэглэгчдэд ээлтэй график интерфэйсийг ашиглан удирдах боломжийг олгодог олон удирдлагын системүүд буюу MySQL DBMS менежерүүд байдаг.

Юуны өмнө та хэлний анхан шатны мэдлэгтэй байх ёстой SQL асуулга(Бүтэцлэгдсэн асуулгын хэл). MySQL DBMS багц нь дэмжигдсэн SQL тодорхойлолтын бүрэн тайлбарыг агуулдаг. Энэ хэлийг ойлгоход хялбар байдаг, учир нь түүний операторууд болон тэдгээрийн бүтцийг ойлгох, санахад хялбар байдаг. Ажиллахын тулд танд өгөгдөл үүсгэх (CREATE эсвэл INSERT), сонгох (СОНГОХ) болон устгах (DROP эсвэл УСТГАХ) операторууд, мөн тэдгээрийг өөрчлөх (ШИНЭЧЛЭХ, ӨӨРЧЛӨХ) хэрэгтэй болно. Тодорхой жишээн дээр бид зөвхөн заримыг нь ашиглах болно.

Хэрэглэгчийн бүртгэлийг тохируулах, шаардлагатай нэвтрэх эрхийг олгохоос зайлсхийхийн тулд та администраторын бүртгэл (root) ашиглаж байна гэж бодъё.

1-р алхам

Терминал цонхыг нээж (хэрэв та Linux үйлдлийн систем эсвэл Windows 9x/NT/2000 үйлдлийн системийн X Цонхны график бүрхүүлд ажиллаж байгаа бол) MySQL DBMS-тэй холболт үүсгэнэ үү. тушаалын мөр mysql. Хариуд нь mysql> командуудыг оруулахыг танаас хүсэх ёстой.

Алхам 2

Мэдээллийн сангаа дараах байдлаар оруулцгаая.

өгөгдлийн санг үүсгэх db_website;

Команд бүрийг оруулсны дараа тэмдэг (;) бичихээ бүү мартаарай. Энэ нь MySQL-д оруулах командын төгсгөлийг илтгэдэг тул маш чухал юм.

Usedb_website;

Алхам 4

Түүний талбарт хадгалагдах өгөгдлийн төрлийг тодорхойлсон tbl_news_items хүснэгтийг үүсгэцгээе. Оруулна уу:

1. CREATE TABLE tbl_news_items (2. col_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 3. col_title VARCHAR(100), 4. col_author VARCHAR(100), 5. col_body TEXT, 6. col_7te);

Алхам 5

Одоо бид өгөгдлийг хадгалах хүснэгтийг үүсгэсэн тул бид үүнийг зарим жишээ мэдээллээр дүүргэх хэрэгтэй. Дараах тушаалд бид col_id талбарыг тодорхойлохгүй гэдгийг анхаарна уу, учир нь энэ нь шинэ өгөгдөл нэмэгдэхэд автоматаар бөглөгддөг. Огнооны синтакс нь мөн гэдгийг санаарай<год/месяц/день>. Тиймээс mysql> командын мөрөнд дараах командыг оруулна уу.

8. INSERT INTO tbl_news_items (col_title, _ col_author, col_body, col_date) 9. VALUES (10. 'Миний анхны хэвлэлийн мэдээ', 11. 'Таны нэр', 12. 'Энэ хэвлэлийн мэдээ MySQL13 мэдээллийн санд хадгалагдаж байна', '2001/4/15' 14.);

Өөр хэдэн оруулаарай ижил төстэй хүсэлтүүдоруулах. Өгөгдлийн санд юу хадгалагдаж байгааг харахын тулд mysql> командын мөрөнд дараахыг оруулна уу:

tbl_news_items-аас * СОНГОХ;

Perl дээр динамик вэб хуудас үүсгэх

Ажилдаа бэлдэж байна

Perl програмуудыг ажиллуулахын тулд танд Perl Standard буюу UNIX эсвэл Win32-д зориулсан ActiveState Perl түгээлтийн 5.005 эсвэл 5.6 хувилбар Perl орчуулагч хэрэгтэй болно. Хэрэв та Win32 дээр ажиллах програмуудыг хөгжүүлж байгаа бол ActiveState-ийн багцыг ашиглахад илүү тохиромжтой бөгөөд нэмэлт модулиудыг суулгах PPM хэрэгслийг багтаасан болно.

Манай Perl программуудын MySQL DBMS-тэй харилцан үйлчлэлийг зохион байгуулахын тулд DBI модулийг Perl түгээлтэд оруулах шаардлагатай. Модуль нь үндсэндээ өөрөө юу ч хийдэггүй, харин мэдээллийн сантай харилцах бүх үйлдлүүдийг харгалзах драйвер руу шилжүүлдэг тул DBD-Mysql номын сан (DBI модулийн MySQL мэдээллийн сангийн драйвер) суулгах шаардлагатай. Заасан модулийн зохиогч, хөгжүүлэгч Тим Бэнсийн хэлснээр, "DBI нь Perl програмуудаас мэдээллийн санд хандах хандалтыг зохион байгуулах API юм. DBI API тодорхойлолт нь өгөгдлийн сантай ил тод интерфэйс хийхэд ашигладаг функц, хувьсагч, дүрмийн багцыг тодорхойлдог."

Өгөгдлийн сангийн драйверуудын тухай ойлголт нь маш тохиромжтой, учир нь та Perl програм дээрээ стандарт DBI дуудлагуудыг ашигладаг бөгөөд дараа нь модулиудыг тохирох драйвер руу дамжуулдаг бөгөөд энэ нь эргээд таныг суралцах шаардлагагүйгээр мэдээллийн сантай шууд харьцах болно. техникийн шинж чанаруудтодорхой DBMS бүр. Тэгэхээр DBD::Sybase, DBD::Oracle, DBD::Informix гэх мэт драйверууд байдаг. (Зураг 1,).

Өгүүллийн хамрах хүрээнээс жаахан хальцгаая. DBI багцад тодорхой DBMS-д зориулсан драйвер байхгүй гэж үзье. Энэ тохиолдолд DBD-ODBC гүүр аврах ажилд ирнэ. ODBC (Нээлттэй өгөгдлийн сангийн холболт) драйверын шинэ мэдээллийн эх үүсвэрийг (өгөгдлийн эх сурвалжийн нэр) үүсгэхэд хангалттай бөгөөд та энэ DBMS-ийн төрөл, холболт үүсгэхийг хүссэн хост хаяг, өгөгдлийн сангийн нэрийг сонгох хэрэгтэй. болон зөвшөөрлийн өгөгдөл, өөрөөр хэлбэл хэрэглэгчийн нэр, нууц үг (Зураг .3). Дараа нь DBI модулийг ашиглан мэдээллийн сантай харьцана. Нэмж дурдахад ActiveState Perl нь ихэвчлэн Win32::ODBC (Win32-ODBC) модулийн хамт ирдэг. Түүнтэй ажиллах нь DBI-тэй ажиллахаас арай өөр боловч ерөнхийдөө маш төстэй. Ганц ялгаа нь Win32::ODBC нь зөвхөн Win32 системд зориулагдсан модуль бөгөөд DBD::ODBC-ээс илүү ODBC функцуудтай ажиллах боломжийг олгодог.

ODBC болон DBI хооронд параллель зурж болно. DBI нь ODBC Administrator (өгөгдлийн сангийн драйвер менежер)-ийн аналог юм. DBD драйвер бүр функцээрээ ODBC драйвертай тохирдог. Таныг төөрөгдөлд оруулж болзошгүй цорын ганц зүйл бол дээр дурдсанчлан DBD::ODBC драйвер байгаа явдал юм. Гэхдээ энэ нь зөвхөн ODBC драйверуудтай DBI холбоо тогтоох боломжийг олгодог.

Win32 орчинд PPM хэрэгслийг ашиглан DBI болон DBD-Mysql-г суулгахын тулд тушаалын мөрөнд оруулна уу:

Ppm DBI суулгана

Энэ үед таны компьютер интернетэд холбогдсон байх ёстойг анхаарна уу. Хэрэв танд тохирох модуль байгаа бол локал диск, ашиглах суурь мэдээлэлкомандыг оруулснаар:

ppm суулгахад тусална

UNIX хэрэглэгчдийн хувьд DBI модулийг суулгах нь бусад Perl модулиудыг суулгахтай бараг ижил байх болно.

Tar –zxvf DBI-1.06.tar.gz cd DBI-1.06/ perl Makefile.PL make make test хийх суулгах

Та мөн CPAN бүрхүүлийг ашиглаж болно. Хэрэв та ActiveState багцын UNIX хувилбарыг компьютер дээрээ суулгасан бол PPM суулгах хэрэгсэлтэй ажиллах боломжтой. Заримдаа таны компьютер холбогдсон аж ахуйн нэгжийн сүлжээнд галт хана суулгасан бол CPAN болон PPM бүрхүүлүүд ажиллахгүй байх тохиолдол гардаг. галт хана(галт хана). Энэ тохиолдолд зөвхөн гараар татаж авсан эх код бүхий модулиуд танд туслах болно. Тэдгээрийг суулгаж, Perl эсвэл Apache-д холбогдохын тулд танд Perl орчуулагч, C/C++ эсвэл GCC/PGCC хөрвүүлэгч, мөн make build хэрэгслүүдийн нэг (UNIX клон, мөн Microsoft Visual C++) хэрэгтэй болно. nmake эсвэл dmake. Тиймээс модулиудыг суулгах журам нь арай илүү төвөгтэй болдог. Бараг бүгдээрээ "бүтээх" баримт бичигтэй ирдэг тул та нэг их төвөг учруулахгүй.

Нийтлэлийн жагсаалтыг харуулж байна

Одоо та хэвлэлийн мэдээний мэдээллийн сантай болсон тул үүнийг өөрийн вэб хуудас руу хялбархан холбож болно. Бүтээж эхэлцгээе хамгийн энгийн хуудас, энэ нь боломжтой бүх хэвлэлийн мэдээний жагсаалтыг харуулдаг. Анхдагч байдлаар Apache вэб сервер нь таны бүх бичиг баримтыг өөрийн htdocs директорт байх ёстой гэж "бодог" гэдгийг анхаарна уу. гүйцэтгэх боломжтой файлууд- cgi-bin дотор. Тиймээс та .pl өргөтгөлтэй бүх файлыг cgi-bin директорт байрлуулах хэрэгтэй. Эргээд, үүсгэсэн файлууд HTML загваруудыг tpl санд байрлуулах ёстой. Лавлах шатлал нь дараах байдлаар харагдах болно.

/ (ямар ч дискний үндэс) /local /local/usr /local/usr/bin /local/usr/cgi-bin /local/usr/htdocs /local/usr/tpl

DOS/Windows системүүдийн хувьд cgi-bin руу орох зам дараах байдалтай байж болно.

C:\local\usr\cgi-bin

1-р алхам

Өөрийн дуртай зүйлийг ашиглаж байна текст засварлагч, pr-list-tpl.htm файл үүсгэх:

15. 16. 17. Хэвлэлийн мэдээ 2001 18. 19. 20. @BLOCK@ 21. 22.

Энэ файл нь боломжтой бүх хэвлэлийн мэдээний жагсаалтыг харуулах зорилготой юм.

Алхам 2

Олдсон хэвлэлийн мэдээний хамт блок бүрийг хүснэгт хэлбэрээр харуулах pr-list-block-tpl.htm файл үүсгэ.

23.

24. 25. 26.
@TITLE@
@AUTHOR@, _ @DATE@

Алхам 3

Хэвлэлийн мэдээний агуулгыг харуулах pr-content-tpl.htm файл үүсгэнэ үү:

27. 28. 29. Хэвлэлийн мэдээ 2001: @TITLE@ 30. 31. 32.

@TITLE@

33. 34. 35. 36. 37.
@TITLE@
Зохиогч: @AUTHOR@Огноо: @DATE@
@BODY@
38. Хэвлэлийн мэдээний жагсаалтыг харуул.. 39. 40.

Алхам 4

Perl pr-list-dbi.pl скрипт үүсгэж, db_website мэдээллийн баазаас өгөгдлийг уншиж, загвар HTML файлуудыг ашиглан хэвлэлийн мэдээний жагсаалтыг харуулна (та энэ скриптийн текстийг манай CD дээрээс олж болно).

Одоо кодын жагсаалттай танилцаж, хэвлэлийн мэдээний жагсаалтыг харуулах програм хэрхэн ажилладагийг харцгаая.

1-9-р мөрүүд нь бүх глобал хувьсагч болон тогтмолуудыг зарласан эхлүүлэх блоктой адил юм.

41. #!/local/usr/bin/perl 42. 43. DBI ашиглах; 44. $dbh = DBI->холбох('dbi:mysql:db_website','root',''); 45. $path = "/local/usr/tpl"; 46. ​​$TPL_LIST = "$path/pr-list-tpl.htm"; 47. $TPL_LIST_BLOCK = "$path/pr-list-block-tpl.htm"; 48. 49. "Content-type:text/html\n\n" хэвлэх;

Бид эхлээд Apache вэб серверт скриптийг хүсэх үед ажиллаж, алдаа байгаа эсэхийг шалгаж, дараа нь ажиллуулдаг Perl орчуулагч хаана байрлах замыг зааж өгдөг. Дараа нь бид өгөгдлийн сантай харилцахын тулд программ дахь аргуудыг ашиглах DBI (DataBase Interface) модулийг зарлаж байна (мөр 3). Дараа нь бид нэвтрэх хэрэглэгчийн нэрээр root (администратор), нууц үг болгон хоосон мөр (анхдагч) ашиглан өөрийн db_website(4) мэдээллийн сантай холбогдоно. $path хувьсагч дээр бид HTML загвар файлууд байрладаг замыг заана (5). $TPL_LIST болон $TPL_LIST_BLOCK хувьсагчдад бид тэдгээрийн нэрийг (6, 7) тус тус зааж өгнө. Дараа нь бид вэб серверт бүх гарч буй өгөгдлийг текст/html MIME форматаар үзүүлж, HTML урсгалыг хэрэглэгчийн хөтөч рүү (9) гаргах ёстойг хэлнэ.

11-22 мөрүүд нь хөтөлбөрийн үндсэн хэсгийг илэрхийлнэ.

50. 51. нээлттэй(L, "$TPL_LIST"); 52. байхад ($line1= ) ( 53. chomp($line1); 54. if ($line1=~/\@BLOCK\@/) ( 55. read_db(); 56. ins_data(); 57. ) else ( 58. "$line1" гэж хэвлэ. \n"; 59. ) 60. ) 61. хаах(L); 62. 63. $dbh->таслах;

Загварын файлыг pr-list-tpl.htm (11) нээгээд түүнийг (12-20) гогцоонд харан уншсан мөр бүрийг $line хувьсагч руу бичнэ. Давталт бүрийн явцад бид энэ мөрөнд байгаа эсэхийг шалгадаг түлхүүр үг@BLOCK@ (14-19), гэсэн үг энэ газарта хэвлэлийн мэдээ бүхий блок оруулах хэрэгтэй. Үүнийг олмогц бид read_db() болон ins_data() процедурыг дууддаг.

26-39-р мөрүүд нь манай хэвлэлийн мэдээг хадгалдаг tbl_news_items хүснэгтийн агуулгыг уншихад зориулагдсан read_db() процедурын үндсэн хэсэг юм:

64. 65. 66. sub read_db ( 67. $c=0; 68. my($sql) = "SELECT * FROM tbl_news_items"; 69. $rs = $dbh->prepare($sql); 70. $rs ->execute 71. while (my $ref = $rs->fetchrow_hashref()) ( 72. $id[$c] = "$ref->('col_id')"; 73. $title[$c] = "$ref->('col_title')" 74. $author[$c] = "$ref->('col_author')" 75. $date[$c] = "$ref->('; col_date')"; 76. $c++; 77. ) 78. $rs->finish(); 79. )

Бид $c=0 тоолуурыг эхлүүлж, хүснэгтээс (28) бүх өгөгдлийг сонгох хүсэлт гаргаж, хүсэлтийг (29, 30) гүйцэтгэж $rs бичлэгийн багц (recordset) руу өгөгдлийг оруулна. Дараа нь гогцоонд (31-37) бид fetshrow_hashref аргыг ашиглан бичлэгийн багцаас өгөгдлийг гаргаж аваад, одоогийн бичлэгийн талбаруудын нэр, утгыг агуулсан %ref (31) ассоциатив массив руу линк буцаана. Бид задалсан өгөгдлийг (32-35) тэдгээрийн төрлүүдэд тохирох ердийн @id, @title, @author, @date массивуудад бичдэг. Бид дээд амжилтыг хаадаг (38).

41-53-р мөрүүд - мэдээллийн сангаас гаргаж авсан өгөгдлийг гадагш өгөгдлийн урсгал руу оруулахыг хэрэгжүүлдэг ins_data() процедурын бие; 55-63 мөр - ins_data() процедураас давталтаар дуудагдсан pr_block() процедурын бие:

80. 81. sub ins_data ( 82. $toread = "pr-read-dbi.pl"; 83. ($i=0; $i)<$c; $i++) { 84. $line = &pr_block; 85. 86. $line =~ s/\@NUMBER\@/$id[$i]/; 87. $line =~ s/\@TITLE\@/$title[$i]/; 88. $line =~ s/\@AUTHOR\@/$author[$i]/; 89. $line =~ s/\@DATE\@/$date[$i]/; 90. $line =~ s/\@READ\@/$toread/; 91. print "$line"; 92. } 93. } 94. 95. sub pr_block { 96. my($block) = ‘’; 97. open (B, "$TPL_LIST_BLOCK"); 98. while ($line=) ( 99. $блок = $блок.$мөр; 100. ) 101. хаах(B); 102. буцах ($блок); 103.)

Тиймээс read_db() процедурын үр дүнд $c тоологчийн хамгийн их утгыг хүлээн авсны дараа (43-52) гогцоонд бид HTML загварын pr-list-ийн агуулгыг уншдаг pr_block() процедурыг эхлүүлнэ. block-tpl.htm ба $block (59) хувьсагч руу бичдэг ба үүний утгыг (62) ins_data() процедурын $line хувьсагч (44) руу буцаана. Цаашид ижил гогцоонд бид (46-50) гарч буй урсгалын $ мөрөнд олдсон @NUMBER@, @TITLE@, @AUTHOR@, @DATE@, @READ@ гэсэн түлхүүр үгсийг энэ давталттай харгалзах массивын утгуудаар солино. давталтын ($i) @id, @title, @author, @date болон $toread хувьсагч.

Хэвлэлийн мэдээний текстийг хэвлэж байна

Мэдээллийн санд байгаа бүх хэвлэлийн мэдээний жагсаалтыг гаргасны дараа (Зураг 4) бид хэрэглэгчдэд тэдгээрийн аль нэгнийх нь текстийг үзэх боломжийг олгох хэрэгтэй (мөн та холбогдох скриптийг манай CD-ээс олох боломжтой).

Шинэ pr-read-dbi.pl скрипт нь бидний аль хэдийн үүсгэсэн pr-list-dbi.pl-ээс бага зэрэг ялгаатай байх болно.

Энэ жагсаалт нь Жагсаалт 1-тэй 98% төстэй боловч бага зэргийн ялгаа байдаг:

  • CGI номын сан нь асуулгын мөрөөс id параметрийг (9) уншихаар холбогдсон (жишээлбэл, http://localhost/cgi-bin/pr-content-dbi.pl?id=1);
  • зөвхөн нэг HTML загварыг ашигладаг (pr-content-tpl.htm);
  • Өгөгдлийн сангийн асуулга нь col_id-ийн тодорхой хэвлэлийн мэдээнд харгалзах бүх өгөгдлийг авахын тулд нөхцөлт SQL WHERE мэдэгдлээр нэмэгддэг;
  • Сонгосон хэвлэлийн мэдээний текст бүхий col_body талбарыг мөн мэдээллийн сангаас уншина.

Шинэ хэвлэлийн мэдээ үүсгэж байна

tbl_news_items хүснэгтийг шинэ мэдээллээр дүүргэхийн тулд мэдээллийн сантай шууд ажиллах шаардлагагүйгээр шинэ хэвлэлийн мэдээ үүсгэх боломжийг нэмж системийнхээ үйл ажиллагааг өргөжүүлцгээе.

Тиймээс шинэ Perl програм (өмнөх хоёрын нэгэн адил CD дээр байдаг) нь өгөгдлийг харуулах бус харин мэдээллийн санд нэмэх зорилготой гэдгээрээ өмнөх програмуудаас ялгаатай байх болно. Тиймээс бид INSERT SQL асуулга болон холбогдох DBI модулийн операторуудыг ашиглан мэдээллийн сантай харилцах үүрэгтэй хэсгийг бага зэрэг өөрчлөх ёстой.

12-18-р мөрүүд нь үндсэн хөтөлбөрийн хэсэг юм.

12. if ($cmd ne "add") ( 13. &show_form; 14. ) else ( 15. $dbh = DBI->connect('dbi:mysql:db_website', _ 'root',''); 16. &add_pr 17. dbh->таслах;

Энд бид мэдээллийн санд хэвлэлийн мэдээ нэмэх командыг хүлээн авсан эсэхийг шалгана. Энэ нь ирсэн даруйд бид мэдээллийн сантай (15) холболт үүсгэж, app_pr() дэд программыг (16) ажиллуулж (17) холболтыг зогсооно. Хэрэв команд байхгүй байсан бол бид зүгээр л хэвлэлийн мэдээний өгөгдлийн бөглөх маягтыг (13) харуулна - show_form() процедур.

20-36 мөрүүд нь pr_add() нэмэх процедурын хэвлэлийн мэдээний үндсэн хэсэг юм:

19. 20. sub add_pr ( 21. $title = $q->param("pr_title"); 22. $author = $q->param("pr_author"); 23. $body = $q->param( "pr_body"); 24. $body =~ s/\r\n/
/г; 25. 26. my($sql) = "tbl_news_items (col_title,col_author,col_body,col_date) INSERT INTO VALUES (\'$title\',\'$author\',\'$body\',CURDATE()) "; 27. $rs = $dbh->do($sql); 28. 29. if ($@) ( 30. $rc = $dbh->буцах; 31. ) else ( 32. $rc = $dbh->commit; 33. ) 34. 35. "Байршил: /cgi" гэж хэвлэнэ. -bin/pr-list-dbi.pl\n\n"; 36.)

Эхлээд бид маягтын өгөгдлийг (22-25) боловсруулж, SQL query (27) үүсгэж, DBI аргыг $dbh->do() ашиглан гүйцэтгэнэ (27). Өгөгдлийн санд өгөгдөл оруулах процедурыг энд гүйцэтгэдэг тул алдаа гарсан тохиолдолд үйл ажиллагааг цуцлах боломжийг анхаарч үзэх хэрэгтэй. Үүнийг хийхийн тулд бид гүйлгээг цуцалж, өмнөх төлөв рүү буцах кодыг оруулсан (30-34). Хэрэв $dbh->do() амжилтгүй болвол бид хийсэн өөрчлөлтүүдийг (31) устгана. Хэрэв алдаа гараагүй бол бид хийсэн өөрчлөлтийг баталгаажуулна (33). Дараа нь бүх алхмуудыг хийсний дараа бид бүх хэвлэлийн мэдээний жагсаалт бүхий хуудас руу очно (36).

37-55-р мөрүүд нь шинэ хэвлэлийн мэдээний тухай мэдээлэл оруулах маягтын гаралтын процедурын үндсэн хэсэг юм (нэр нь $TPL_INSERT хувьсагч, pr-add-tpl.htm-д заасан HTML загварыг ашиглан):

37. 38. sub show_form ( 39. "Агуулгын төрөл:текст/html\n\n" хэвлэх; 40. 41. нээх (L, "$TPL_INSERT"); 42. while ($line= ) ( 43. chomp($line); 44. if ($line=~/\@/) ( 45. if ($line=~/\@ADD\@/) ( 46. $toadd = "pr-add -dbi.pl"; 47. $line =~ s/\@ADD\@/$toadd/; 48. ) else ( 49. $tolist = "pr-list-dbi.pl"; 50. $line =~ s/\@LIST\@/$tolist/; 51. ) 52. ) 53. "$line\n" хэвлэх 54. ) 55. close(L);

Системийн хэт ачаалал

Та динамик вэб сайтыг хөгжүүлж байгаа тул түүн дээрх мэдээллийн хэмжээ маш хурдан өсөх болно. Нэмж дурдахад, таны нөөцийн нэр хүнд өсөх тусам түүний зочдын тоо нэмэгдэж байгаа нь серверийн хэт ачаалал, өөрөөр хэлбэл системийн гүйцэтгэл буурахад хүргэдэг. Та техник хангамжийн хүчийг нэмэгдүүлэх арга замыг хайж эхлэхээсээ өмнө тохиргоог хайж үзээрэй шинэ систем, та аль нэгийг нь арилгахыг оролдож болно боломжит шалтгаанууд RAM-ийн хэт их хэрэглээ. Буруутан нь мөн л Перл байж магадгүй. Таныг Perl скриптэд нэвтрэх болгонд вэб сервер орчуулагчийг ачаалдаг RAM(хатуу диск дээр 500-1000 KB хүртэл зай эзэлдэг) бөгөөд сүүлийнх нь синтаксийн алдаа хайхын тулд програмыг эхнээс нь дуустал задалдаг. Үүний дараа үүнийг дахин уншиж, хувьсагч, функцийг эхлүүлж, оролтын өгөгдлийг (параметрүүдийг) уншиж, боловсруулж, үр дүнг буцаана. Хэрэв танай сайтад хэдэн зуун зочин нэгэн зэрэг таны хэвлэлийн мэдээг үзэхийг хүсвэл юу болохыг та төсөөлж байна уу?

Энэ үйл явцыг хурдасгахын тулд төлөөлөх тусгай шийдлүүдийг бий болгосон нэмэлт модулиуд Apache вэб серверийн хувьд - mod_fastcgi болон mod_perl.

FastCGI модуль (mod_fastcgi) нь ажиллаж байгаа процессууд (даалгаварууд) хооронд өгөгдөл солилцох хэрэгслийг өргөнөөр ашиглах явдал юм. үйлдлийн систем. Ажиллаж эхлэх үед вэб сервер CGI програмыг идэвхжүүлж, энэ програм болон түүний хэд хэдэн хуулбарыг ажиллуулж орхино. дэвсгэр. Програмын аливаа хүсэлтийг аль хэдийн идэвхтэй хуулбар руу шилжүүлэх бөгөөд энэ нь процессыг дахин идэвхжүүлэхтэй холбоотой нэмэлт ачааллаас серверийг чөлөөлөх болно.

Mod_perl модуль нь Perl-г Apache вэб сервертэй ижил хаягийн зайд RAM-д ачаалж, CGI програм руу нэвтрэх үед орчуулагчийн дараагийн хуулбарыг ачаалахаас сэргийлж, сүүлийнх нь дуусах хүртэл санах ойд Perl-г үлдээх боломжийг олгодог. Энэ модулийг FastCGI-аас илүү олон удаа ашигладаг, учир нь энэ нь програмд ​​ямар нэгэн өөрчлөлт оруулах шаардлагагүй юм.

ComputerPress 6" 2001

Интернет дээр асар олон тооны өөр өөр эх сурвалжууд байдаг. Төсөл бүр нь HTML баримт бичгийн хуудасны ихэнх хэсгийг бүрдүүлдэг бөгөөд тэдгээр нь хөтөч дээрх баримт бичгийн үйлдлээс хамааран статик болон динамик гэж хуваагддаг. Нөгөөтэйгүүр, эдгээр ойлголтыг ихэвчлэн өөр утгаар ашигладаг. Тиймээс, үүсгэх аргын дагуу баримт бичгийг статик ба динамик гэж хуваадаг.

Статик сайтуудын тодорхойлолт нь хэрэглэгчийн үйлдлээс үл хамааран хуудсууд нь үргэлж ижилхэн харагддаг. Дүрмээр бол статик сайтууд нь динамик сайтуудаас ялгаатай нь бараг интерактив элементгүй тул хэрэглэгчдэд сонирхол багатай байдаг.

Динамик сайтууд нь хөтчийн хүсэлтээр "шууд" үүсгэгддэг динамик хуудсуудыг агуулдаг. Эдгээр нь хэрэглэгчийн үйлдэл, өөрчлөлтөд аль хэдийн хариу өгөх боломжтой хуудаснууд юм. Жишээлбэл, та текст дээр дарахад тухайн үгийн орчуулгатай текстийн блок гарч ирж болно. Хэрэглэгч динамик хуудсуудтай харилцаж, үйлдлийнхээ үр дүнг шууд харуулах боломжтой.

Статик сайтын хуудсууд

Статик сайтнь нэг бүхэлийг бүрдүүлдэг статик хуудсуудыг (html, htm, dhtml, xhtml) агуулсан сүлжээний нөөц гэж үздэг. Энэ нь (HTML тэмдэглэгээ хэлбэрээр) текст, зураг, мультимедиа контент (аудио, видео) болон HTML хаягуудыг агуулдаг. Шошго нь хөтөчид зориулагдсан үйлчилгээний шошго эсвэл мэдээллийн харагдах байдал, дэлгэцийг хэлбэржүүлэхэд зориулагдсан байж болно. Статик сайтын бүх өөрчлөлтүүд нь вэб сервер дээрх файлуудад хандах шаардлагатай нөөцийн баримт бичгийн (хуудас) эх кодонд хийгдсэн болно.

Статик сайтуудын хуудсууд сервер дээр хадгалагддаг HTML баримтууд. Статик сайтуудын хуудсыг гараар бүтээдэг. Хэрэв та хуудасны агуулгыг өөрчлөх шаардлагатай бол хуудас бүрийн HTML кодыг засах хэрэгтэй.

Ерөнхийдөө статик сайт нь нэг юм уу цөөн тооны хуудас агуулдаг, эсвэл жишээлбэл, энэ нь компанийн нэрийн хуудас бөгөөд түүн дээрх мэдээлэл хэзээ ч өөрчлөгддөггүй эсвэл маш ховор шинэчлэгддэг бол. Ийм сүлжээний нөөц дээр тайлбар бичих, бүртгүүлэх гэх мэт боломж байхгүй.

Эцсийн эцэст, статик нөөцийг зөвхөн вэб хөгжүүлэлтийг сайн мэддэг хүн л шинэчлэх боломжтой, учир нь удирдлагын самбар байхгүй тул төслийн бүх шинэчлэлтийг эх кодоор нь хийх шаардлагатай болно.

Статик сайтууд нь хямд бөгөөд байршуулах зай багатай байдаг тул олон жижиг компаниуд динамик сайтуудыг илүүд үздэг хэвээр байна.

Статик сайтуудын давуу талууд нь:

  1. Тэд энгийн бөгөөд хурдан хөгждөг
  2. Хөгжүүлэхэд хямд, вэб сервер дээр хамгийн бага ачаалал үүсгэж, хурдан ачаална.
  3. Хостинг нөөцийг шаарддаггүй.
  4. Статик вэбсайтыг шинэ хостинг руу шилжүүлэх нь маш хялбар юм.

Давуу талуудаас гадна статик сайтууд нь сул талуудтай:

  1. Төслийг шинэчлэхийн тулд вэб хөгжүүлэлтийн туршлага шаардлагатай. Ийм нөөцийн хамгийн жижиг нарийн ширийн зүйлийг ч шинэчлэхийн тулд та HTML болон CSS кодыг өөрөө шийдэх эсвэл вэбмастерын үйлчилгээнд хандах хэрэгтэй болно.
  1. Агуулгын зогсонги байдал. Статик сайтын контент маш ховор шинэчлэгддэг тул энэ нь замын хөдөлгөөн болон төслийн сурталчилгаанд маш сөрөг нөлөө үзүүлдэг. Мэдээжийн хэрэг, та ийм нөөцийг сурталчилж болно, гэхдээ голчлон төлбөртэй аргуудаар дамжуулан.
  1. Мөн статик сайтыг том төслүүдэд ашиглахыг зөвлөдөггүй.

Эндээс харахад сервер нь ердийнхтэй байх нь ойлгомжтой html хуудас, тэгвэл энэ арга нь маш хязгаарлагдмал байдаг. Жишээлбэл, шинэ бүтээгдэхүүн нэмэгдсэн онлайн дэлгүүр байдаг. Хэрэв ийм онлайн дэлгүүр нь "статик" хуудсуудаас бүрддэг бол та өөр хэд хэдэн хуудсыг гараар засах хэрэгтэй болно. Наад зах нь энэ бол бүтээгдэхүүний каталог бөгөөд захиалгын маягт юм. Хэрэв бүтээгдэхүүн дуусвал статик сайтыг дахин шинэчлэх хэрэгтэй бөгөөд энэ нь маш тохиромжгүй юм. Үүнтэй холбогдуулан интернетээс "цэвэр" HTML код ашигладаг онлайн дэлгүүр олоход хэцүү байдаг.

Динамик сайт

Динамик сайт- маягт дахь загвар, агуулга, скрипт болон бусад зүйлс - динамик хуудаснаас бүрдэх сүлжээний нөөц. тусдаа файлууд. Динамик хуудсууд нь эцсийн эцэст хэрэглэгчийн хөтөч дээр харагдах бөгөөд хүсэлтийн дагуу загвар хуудас болон тусад нь хадгалагдсан контентоос (мэдээлэл, скрипт гэх мэт) серверийн талд үүсдэг. Дүрмээр бол ижил төрлийн хэд хэдэн хуудсыг харуулахын тулд холбогдох контентыг ачаалах нэг загварын хуудсыг ашигладаг бөгөөд энэ нь нэг удаагийн тохируулга хийх боломжийг олгодог. Гадаад төрхдинамик сайт (түүний олон хуудас), зөвхөн нэг загварыг засварлах.

Динамик хуудсыг вэб сервер хэд хэдэн файлаас (загвар) үүсгэнэ. Бүх мэдээлэл нь ихэвчлэн мэдээллийн санд хадгалагддаг. Бараг бүх блог нь динамик сайтууд юм. Хэрэглэгч хуудас хүсэх үед холбогдох мэдээллийг өгөгдлийн сангаас авч, загварт оруулан вэб хуудас үүсгэн, вэб серверээр хэрэглэгчийн хөтөч рүү илгээдэг. Тиймээс, динамик нөөцийн агуулгыг шинэчлэхдээ та зүгээр л текст нэмэх хэрэгтэй шинэ хуудас, дараа нь мэдээллийн сан руу орно. Эцэст нь динамик сайт өөрөө шинэчлэгдэж байх шиг байна.


Динамик сайтуудын давуу талууд нь:

  1. Агуулга нь мэдээллийг нэмэх, засварлах, устгахад хялбар болгодог тусгай маягтаар удирддаг тул нөөц нь илүү ажиллагаатай байдаг.
  2. Агуулга нэмэх, засварлахдаа вэб мастерын (HTML, CSS) чиглэлээр тусгай мэдлэг шаардагдахгүй.
  3. Динамик хуудас нь зочдын үйлдлийн хариуд агуулгыг өөрчлөх чадвар.
  4. Томоохон олон үйлдэлт төслүүдийг бий болгох чадвар.
  5. Динамик хуудсыг өөрчлөх, шинэчлэхэд илүү хялбар байдаг.
  6. Динамик сайт дээрх мэдээлэл, дизайныг салгах нь илүү уян хатан менежмент хийх боломжийг олгодог.
  7. Динамик сайтыг байнга шинэчилж байх нь сурталчлах томоохон боломжийг олгодог бөгөөд энэ нь төслийг сурталчлахад эерэгээр нөлөөлж, илүү олон зочинтой байдаг.

Давуу талуудаас гадна динамик сайтууд нь сул талуудаас ангид биш юм.

  1. Нэмэлт ашиглах хэрэгцээ програм хангамж, энэ нь динамик хуудсуудыг үүсгэх, хадгалахад өндөр өртөгтэй гэсэн үг юм.
  2. Техник хангамжийн шаардлага нэмэгдсэн серверийн системүүд. Энэ асуудал ялангуяа ачаалал ихтэй динамик сайтуудад мэдэгдэхүйц болдог.
  3. Хостинг нь арай илүү үнэтэй байх болно, учир нь ийм төслийн хувьд та холбогдох хэрэгтэй болно нэмэлт функцууд.
  4. Динамик хуудасны бүтцийн томоохон өөрчлөлтүүдийн нарийн төвөгтэй байдал. Энэ тохиолдолд бүх зүйл үүнээс хамаарна програм хангамжнөөцийн ашиглаж байгаа . Аливаа программ өөрийн гэсэн хязгаарлалттай байдаг бөгөөд үүнээс зайлсхийхийн тулд та програмаа өөрчлөх, хуучин програмаа өөрчлөх эсвэл шинийг хайх хэрэгтэй.
  5. Динамик хуудсуудын ажиллагааг хангахын тулд та зохих мэдлэгтэй байх хэрэгтэй.

Динамик хуудас үүсгэх хэрэгслүүд

Хэрэв статик сайтууд бараг өөрчлөгдөөгүй бөгөөд энэ хуудас нь зочны дэлгэц дээр "анхны" хэлбэрээр гарч байвал тухайн хүний ​​үзэж байгаагаар динамик хуудас сервер дээр байхгүй болно. Тэр хэд хэд явна янз бүрийн арга замуудсервер дээр хадгалагдсан өгөгдлөөс, зөвхөн үүний дараа зочдод харагдана.

Эхний сонголт нь хэд хэдэн (хоёр ба түүнээс дээш) салангид хэсгүүдийг нэг болгон нэгтгэх явдал байж болно - энэ нь үүсгэх хамгийн энгийн арга юм.

Хоёрдахь сонголт бол загвар хуудсыг тусад нь хадгалсан эсвэл алгоритмын үр дүнд олж авсан зарим мэдээллээр дүүргэх явдал юм (жишээлбэл, тооцооллын үр дүнд).

Гурав дахь, магадгүй хамгийн түгээмэл сонголт бол бүх боломжит хувилбаруудын эхний хоёрыг хослуулах явдал юм. хуудсыг хэд хэдэн хэсгээс угсарч, янз бүрийн өөрчлөлтүүдийг оруулсан болно.

Динамик хуудас үүсгэх хамгийн түгээмэл хэрэгсэл бол JavaScript програмчлалын хэл юм. VBscript-ийг бага ашигладаг ( харааны суурьскрипт).

Хэрэв нөөц нь байнга өөрчлөгддөг контентыг агуулж байвал JavaScript-ээс ялгаатай нь сервер дээр ажилладаг скриптүүдийг ихэвчлэн ашигладаг.

Энэ тохиолдолд динамик сайт дараах байдлаар ажиллана.

  1. Хөтөч нь серверээс баримт бичгийг хүсдэг.
  2. Сервер нь баримт бичгийг скрипт гэдгийг тодорхойлж, түүнийг ажиллуулахаар ажиллуулдаг.
  3. Скрипт нь html хуудас үүсгэдэг.
  4. Сервер нь үүсгэсэн хуудсыг хөтөч рүү илгээдэг бөгөөд ингэснээр хөтөч нь скриптийг сервер дээр гүйцэтгэсэн талаар ямар ч ойлголтгүй болно.

Динамик хуудсанд скрипт бичих боломжийг олгодог хэд хэдэн програмчлалын хэлүүд байдаг. Тэдгээрийн хамгийн түгээмэл нь:

Перл
SSI
PHP
A.S.P.
Python
Java
Хоёртын код (гүйцэтгэх код болгон эмхэтгэсэн C эсвэл C++ програм).

Эдгээр програмчлалын хэл бүр өөрийн гэсэн хэрэглээний онцлогтой. Та ямар ч хэлээр скрипт бичиж болно. Хамгийн гол нь түүний давуу талыг мэдэх явдал юм сул талуудмөн тэдгээрийг үр дүнтэй ашиглах.

Динамик сайтууд нь зөвхөн бий болгох, засвар үйлчилгээ хийхэд шинэ шаардлагуудыг дэвшүүлээд зогсохгүй тэдгээрийг боловсруулахад илүү үнэтэй байдаг бөгөөд шинэ боловсон хүчний нэгж - програмист засвар үйлчилгээ шаарддаг. Үүний зэрэгцээ технологи нь зогсохгүй байгаа тул динамик хуудас үүсгэх боломжууд бас хөгжиж байгааг тэмдэглэх нь зүйтэй. Эндээс CMS дээр өндөр чанартай нөөц бий болгох шийдэл олдсон бөгөөд энэ нь одоо улам бүр түгээмэл болж байна.

CMS нь Content Management System гэсэн үгийн товчлол бөгөөд шууд утгаараа Resource Content Management System гэж орчуулагддаг. Энгийнээр хэлбэл, энэ нь динамик хуудасны дизайн, агуулгыг хэрэглэгчийн хүссэнээр өөрчлөх боломжийг олгодог програм хангамжийн багц юм. Дашрамд хэлэхэд SMS нь дээр дурдсан програмчлалын хэлнүүдийн нэг буюу хэд хэдэн хэл дээр суурилдаг.

Одоогоор интернетэд ийм олон систем ажиллаж байгаа бөгөөд тэдгээрийн зарим нь үнэ төлбөргүй, зарим нь төлбөртэй байдаг. Ихэнхдээ ийм системийг холбогдох хөгжүүлэгчид үйлчлүүлэгчдэдээ өгдөг. Систем бүр хувь хүн бөгөөд өөрийн давуу болон сул талуудтай.

Тиймээс динамик сайтууд менежментийн хувьд илүү уян хатан байдаг. Динамик хуудсууд нь статик сайтуудын нэгэн адил текст болон график, тэмдэглэгээний хэллэгийн хослол юм. Гэсэн хэдий ч үүнээс гадна динамик хуудсууд нь вэб хуудсуудыг шууд "угсрах" боломжийг олгодог янз бүрийн технологийг ашигладаг. Ийм нөөц нь эзэддээ эргэн тойрон дахь зочдын нийгэмлэгийг нэгтгэхэд тусалдаг бөгөөд үзэгчидтэйгээ харилцах илүү их боломжийг олгодог бөгөөд энэ нь янз бүрийн функцээр дамжуулан зочдод илүү сонирхолтой болгох боломжийг олгодог.

Динамик нөөцийг эхнээс нь боловсруулж, шаардлагатай бүх зүйлийг гараар үүсгэж болно програмын кодууд, скрипт гэх мэт. Гэсэн хэдий ч динамик хуудас үүсгэхийн тулд тусгай агуулгын удирдлагын системийг ихэвчлэн ашигладаг. CMS. CMS нь танд бэлэн програм хангамжийн модулиуд болон бүрэлдэхүүн хэсгүүдийг эхнээс нь үүсгэх шаардлагагүйгээр ашиглах боломжийг олгодог. Та нэг CMS дээр үндэслэн хэдэн ч төсөл үүсгэж болно.

Үүний зэрэгцээ, динамик хуудсуудын тодорхой давуу талыг үл харгалзан та динамик сайтууд нь үргэлж зөв шийдэл гэж үзэж, статик сайтуудын хуудсыг бүрмөсөн орхих ёсгүй. Та нөхцөл байдлаасаа үргэлж урагшлах хэрэгтэй. Төмөр замтай байсан ч тоглолт хэрэгтэй гэж тэд учиргүй ярьдаг. Төсөлд статик хуудас ашиглах нь ихэвчлэн шаардлагатай байдаг. Хэрэв төсөл нь жижиг, хэдхэн хуудаснаас бүрдэх бөгөөд агуулга нь шинэчлэгдээгүй бол нөөцөд зориулж хөдөлгүүр үүсгэх нь утгагүй юм - шаардлагатай бүх хуудсыг нэг удаа байрлуулах нь илүү хялбар болно. Гэхдээ энэ нь бүх тохиолдолд боломжгүй юм.

"Статик сайт", "динамик сайт" гэсэн хэллэгийг анхлан суралцагчид ч мэддэг байх. Гэхдээ эдгээр хэллэгүүд нь яг юу гэсэн үг вэ, тэдгээрийн хоорондох ялгаа нь юу вэ, нэг эсвэл өөр төрлийн сайтын давуу тал юу вэ?

Бид тааварлах хэрэггүй, зүгээр л нэг бүрчлэн харж, харьцуулж үзье.

Статик ба динамик сайтууд - ялгаа нь юу вэ?

Хэдийгээр өнөөдөр динамик сайтуудын тоо нэмэгдсээр байгаа ч таны нээсэн сайтыг эхлээд харахад статик эсвэл динамик гэдгийг тодорхой хэлэх боломжгүй юм.

Статик сайтуудын жишээ

Жишээлбэл, нэг юм уу цөөн тооны хуудас агуулсан, эсвэл жишээлбэл, энэ нь компанийн нэрийн хуудас бөгөөд түүн дээрх мэдээлэл нь хэзээ ч өөрчлөгддөггүй эсвэл өөрчлөгддөггүй бол сайтыг анх харахад хөдөлгөөнгүй гэж үзэж болно. Хэрэв энэ нь жишээлбэл, сэтгэгдэл бичих, бүртгүүлэх гэх мэт функцгүй бол маш ховор шинэчлэгддэг.

Үнэн хэрэгтээ статик сайтыг зөвхөн вэб хөгжүүлэлтийг сайн мэддэг хүн л шинэчлэх боломжтой, учир нь энэ нь админ самбаргүй тул сайтын бүх шинэчлэлтийг эх кодоор нь хийх шаардлагатай болно.

Статик сайтууд нь хямд бөгөөд байршуулах зай багатай байдаг тул олон жижиг компаниуд динамик сайтуудыг илүүд үздэг хэвээр байна.

Тиймээс бид харж болно Статик сайтуудын давуу талууд:

  1. Тэд энгийн бөгөөд хурдан хөгждөг
  2. Хөгжүүлэхэд хямд, ачаалал багатай.

Давуу талуудаас гадна бид бас онцлон тэмдэглэж болно Статик сайтуудын сул талууд:

  1. Сайтыг шинэчлэхийн тулд вэб хөгжүүлэлтийн туршлага шаардлагатай.
  2. Ийм сайтын хамгийн жижиг нарийн ширийн зүйлийг ч шинэчлэхийн тулд та кодыг өөрөө ухах хэрэгтэй болно, эсвэл HTML болон CSS-ийг өөрөө мэдэхгүй бол вэбмастерын үйлчилгээнд байнга хандах хэрэгтэй болно.

  3. Агуулгын зогсонги байдал.
  4. Ийм сайтын контент маш ховор шинэчлэгддэг тул тэдгээрийн агуулга "зогсонги" байдаг тул энэ нь хайлтын системд маш таагүй нөлөө үзүүлдэг. Мэдээжийн хэрэг, та ийм сайтыг сурталчилж болно, гэхдээ голчлон төлбөртэй аргуудаар дамжуулан.

Динамик вэбсайтуудын жишээ

Нөгөөтэйгүүр, динамик сайтууд, ялангуяа эхнээс нь хөгжүүлсэн бол илүү их зардал гарах болно. Та нэмэлт функцуудыг холбох шаардлагатай тул байршуулах нь арай илүү үнэтэй байх болно. Гэхдээ динамик сайтуудын олон давуу тал нь эдгээр сул талуудыг нөхөхөөс илүү байдаг.

Динамик вэб сайт нь эзэмшигчдээ сайтдаа агуулгыг хялбархан шинэчлэх, нэмэх боломжийг олгодог. Жишээлбэл, мэдээ, үйл явдлыг кодын файлыг засварлах шаардлагагүйгээр хөтөч дээрх админ самбараар дамжуулан нэмж болно.

Динамик вэб сайтын боломжууд зөвхөн бидний төсөөллөөр хязгаарлагддаг.

Динамик сайтуудын жишээ бол удирдлагын системд суурилсан сайтууд, онлайн дэлгүүрүүд, зарын сайтууд, форумууд, үйлчлүүлэгчид болон зочдод сэтгэгдэл үлдээх, сэтгэгдэл бичих, файл байршуулах гэх мэт сайтууд юм.

Динамик сайтуудын давуу талууд:

  1. Илүү ажиллагаатай сайт.
  2. Үүнийг шинэчлэх нь хамаагүй хялбар юм.
  3. Байнгын шинэчлэлт нь вэбсайтыг сурталчлахад эерэгээр нөлөөлж, илүү олон зочдыг авчирдаг.
  4. Ийм сайт нь эзэндээ тусалж, олон төрлийн функцээр дамжуулан үзэгчидтэйгээ харилцах, сайтаа зочдод илүү сонирхолтой болгох боломжийг олгодог.

дүгнэлт

Тиймээс, ийм сайтыг амьдралд нэвтрүүлэхэд илүү их цаг хугацаа шаардагдах хэдий ч динамик сайт нь статик сайтаас хамаагүй илүү хөгжлийн хэтийн төлөвтэй гэдгийг бид харж байна.

Илүү олон хүмүүс динамик сайтуудын маргаангүй давуу талыг ухаарч байгаа тул интернетэд улам олон гарч ирж байна.

Гэхдээ нөгөө талаас, хэрэв танд ямар нэгэн бүтээгдэхүүн борлуулах нэг хуудастай вэб хуудас эсвэл 1-ээс 5-6 хуудастай нэрийн хуудас хэрэгтэй бол энэ бүхэн ТАНД юу хэрэгтэй байгаагаас хамаарна. бүү Хэрэв та байнга шинэчлэхээр төлөвлөж байгаа бол статик сайтыг сонгох нь бүрэн байгалийн шийдэл байх болно.

Хэрэв та өөрийн төслийг байнга хөгжүүлж, агуулгаар дүүргэхийг хүсч байвал мэдээжийн хэрэг танд динамик вэбсайт хэрэгтэй.