Server web: apa itu, cara kerjanya, bagaimana memberikan akses dan apa yang perlu Anda buat sendiri

Reputasi positif di mesin pencari tanpa gangguan dari sentuhan buruk dimungkinkan dengan semantik!

Dapatkan buku kami "Pemasaran Konten di Jejaring Sosial: Cara duduk di kepala pelanggan dan jatuh cinta dengan merek mereka."

Berlangganan buletin dan dapatkan buku sebagai hadiah!

Server web adalah server yang menerima permintaan dari pengguna dan memberi mereka jawaban - dokumen, halaman atau situs.

Lebih banyak video di saluran kami - Pelajari Internet Marketing dengan Semantica

Setiap komputer dapat dibuat oleh server. Untuk melakukan ini, instal shell khusus.

Persyaratan untuk bagian teknis ditentukan oleh jumlah sumber daya yang diposting dan persyaratan kecepatan. Apa yang mereka lebih, semakin kuat komputer harus. Ini jelas, kami memberikan analogi. Anda pergi ke perpustakaan dan meminta Anda untuk memberi Anda buku. Pustakawan menemukan yang benar dan mentransmisikan Anda. Perpustakaan adalah server, semua data disimpan di dalamnya. Pustakawan adalah cangkang yang menerima permintaan dan mengirim jawabannya. Anda adalah klien. Anda dapat mengirim pustakawan untuk informasi lebih lanjut - sama mengklik tautan. Perbedaannya adalah bahwa sumber daya yang sama di Internet dapat secara bersamaan membaca jumlah pengguna yang tidak terbatas. Layanan pelanggan dilakukan dengan prinsip serupa: datang untuk sebuah buku, kita dapat mengajukan pertanyaan pustakawan (mesin pencari) atau melihat ke dalam pointer ( Yandexcatalog). Ini membantu untuk menemukan informasi yang Anda butuhkan.

Apa yang membuat server web

Tugas utamanya adalah menyimpan informasi. Halaman, file, gambar, konten teks. Memiliki:

  • Dapatkan pertanyaan.
  • Menjalankan program dalam bahasa pemrograman khusus (server).
  • Membentuk halaman web.
  • Kirim kembali ke pengguna.
  • Lindungi informasi.
  • Untuk mengidentifikasi pengunjung.
  • Buat log banding.
  • Sajikan permintaan dari jenis lain: mailto, ftp, dll.

Untuk memahami bagaimana server web berfungsi, perlu memiliki gagasan tentang prinsip-prinsip transfer informasi dalam jaringan. Dasar ini didasarkan pada aturan yang disebut protokol: Setiap URL dimulai dengan tipe indikasi (FTP, http: //, https: //, dll.). Protokol transfer teks hypertext. Halaman situs selalu memiliki jenis dokumen hiperteks. Ini adalah hasil akhir dari operasi setiap server atau program klien.

  • Ketika pengguna memasuki alamat atau mengklik tautan, browser mentransmisikan permintaan, menyandikan informasi tentang aturan ini.
  • Tuan rumah yang dilampirkan alamat ini menjalankan program server. Masing-masing dari mereka melakukan fungsinya.
  • Data yang diperoleh didekripsi, perintah dijalankan.
  • Hypertext dibentuk, dikodekan dan dikirim kembali.
  • Browser menerima jawaban, mengubah kode ke HTML dan menunjukkan halaman di layar.

Apa yang Anda butuhkan untuk server web

Butuh mesin yang akan memproses semua permintaan. Nilai beban yang harus ditahan oleh server. Itu tergantung pada jumlah pengunjung: semakin banyak permintaan, kebutuhan daya tinggi.

Ada perusahaan khusus yang menyediakan layanan hosting. Server yang Anda sewa. Anda diberi kuota untuk memposting file situs. Tetapi jika Anda memiliki situs sederhana, Anda dapat melakukannya sendiri.

Ketika sebuah pertanyaan diselesaikan dengan server, Anda perlu mengikat alamat IP statis untuk itu.

Situs ini menjadi tersedia di server web setelah nama domain terdaftar, konversi alamat layanan DNS selesai - mengikat alamat IP (misalnya, 111.111.111.111) dan nama domain (www.sit.com).

Server yang paling umum

Selanjutnya, kami mempertimbangkan Shells Populer - Sistem Manajemen Server.

Apache.

Ini adalah produk gratis yang dapat didistribusikan secara bebas yang memiliki banyak manfaat:

  • Dukungan konstan untuk pengembang.
  • Modul untuk bekerja dengan bahasa pemrograman PHP, Perl, Python, Ruby, ASP, dll.
  • Buka kode. Pemrogram yang berbeda terlibat dalam penyempurnaan. Misalnya, komunitas berbahasa Rusia menyesuaikannya dengan pengkodean Rusia.
  • Lintas platform. Awalnya dibuat di bawah Unix, tetapi sekarang Windows, Mac OS, BSD, Linux, OS / 2 dan Novell Netware didukung.
  • Keamanan.

Saat menginstal, tentukan nama host Anda, misalnya, localhost. Di folder HTDACS, yang terletak di dalam folder APACHEX.X (di mana x.x adalah nomor versi), salin halaman HTML apa pun. Atau buat di notebook dengan memasukkan teks apa pun dan menghemat dengan ekstensi HTML.

Ketika file muncul di folder, buka browser dan ketik alamat: localhost: // name.html. Teks Anda akan muncul di layar - halaman terbuka dari server. Jika Anda telah melihat kesalahan "tidak bisa mendapatkan akses ke situs," maka Apache tidak berjalan. Ikonnya ada di baki. Klik dan pilih "Mainkan". Setelah itu, semuanya akan berhasil.

Ngnix.

Bagian dari platform aktif yang beroperasi pada 21,13% (Netcraft Research). Ini terutama digunakan oleh perusahaan besar dan pengembang profesional: Yandex, mail.ru, rambler, dll. Ngnix menahan banyak pengunjung, dapat diandalkan, aman dan dipikirkan. Ini bebas bebas, tetapi versi berbayar plus muncul, biaya dari $ 2.500.

IIS.

Ketenarannya disediakan dengan nama keras pengembang. Ini adalah satu set layanan web dan terintegrasi dengan Windows. Platform pemrograman asli adalah ASP.NET, tetapi dapat diimplementasikan dan alternatif, misalnya, PNP.

Untuk hosting penuh, Anda perlu menginstal sistem operasi server dari Microsoft - Windows Server. Versi ke-6 tidak dimaksudkan untuk hosting sama sekali, dukungan penuh dimulai pada tanggal 7. Itu dibeli secara otomatis bersama dengan sistem operasi dan tergantung pada karakteristiknya.

Paket instalasi

Untuk pemrogram dan pengembang pemula, alat dibuat yang memungkinkan Anda untuk menggunakan server web dalam beberapa klik di komputer Anda.

  • OpenServer. Lingkungan pengembangan portabel, termasuk banyak basis data, bahasa pemrograman dan versi, serta layanan tambahan. Misalnya, antarmuka bekerja dengan basis data phpmyadmin. Hingga saat ini, ini adalah set instalasi paling populer. Ini bekerja bahkan dari flash drive. Unduhan gratis dengan kecepatan rendah. Untuk 100 rubel, kecepatan meningkat pada waktu.
  • Xampp. Paket yang didukung aktif: Apache, PHP, Perl, MariaDB, dll. Memiliki panel kontrol. Diunduh secara gratis.
  • Denwer. Satu set yang sangat nyaman dari semua alat yang diperlukan, termasuk Apache, PHP, MySQL, PHPMYAdmin. Sayangnya, versi terbaru mencakup distribusi usang. Secara umum, mereka cocok untuk pelatihan. Dilihat oleh forum, proyek ini tidak lagi didukung.

Server Web. (Web-server. ) - Ini adalah server yang bertanggung jawab untuk menerima dan memproses kueri (permintaan HTTP) dari pelanggan ke situs web. Sebagai pelanggan, berbagai browser web biasanya dilakukan. Sebagai tanggapan, server web mengeluarkan respons HTTP kepada pelanggan, dalam banyak kasus, bersama dengan halaman HTML, yang mungkin berisi: semua jenis file, gambar, aliran media atau data lainnya.

Server web juga melakukan fungsi pelaksanaan skrip, misalnya, seperti CGI, JSP, ASP dan PHPs, yang bertanggung jawab untuk mengatur permintaan ke layanan jaringan, basis data, akses ke file, mengirim email dan aplikasi e-commerce lainnya.

Istilah "server web" juga berlaku untuk perangkat teknis dan perangkat lunak yang menyajikan fungsi server web. Ini bisa menjadi beberapa komputer yang secara khusus disorot dari sekelompok komputer pribadi atau workstation di mana perangkat lunak layanan diinstal.

Klien pengguna yang terutama browser web mentransmisikan permintaan server web untuk sumber daya yang ditunjukkan oleh URL. Sumber daya adalah halaman HTML, konten media digital, aliran media, berbagai gambar, file data, atau data lain yang diperlukan untuk klien. Sebagai tanggapan, server web mentransmisikan data yang diminta kepada mereka. Pertukaran ini terjadi menggunakan protokol HTTP.

Http (eng. Protokol transfer hypertext - protokol transmisi hypertext) adalah protokol jaringan dari level aplikasi. Prinsip dasar protokol HTTP adalah teknologi client-server, yang memastikan interaksi dan pengguna jaringan.

Dalam kasus organisasi kecil, server web dapat menjadi sistem holistik yang terdiri dari: HTTP Server - berfungsi untuk permintaan halaman web; Server FTP - diterapkan untuk mengunduh file melalui Internet; Server NNTP - melakukan akses ke newsgroup; Server SMTP - untuk email.

Sejarah

Penemu dari server web pertama adalah ilmuwan Inggris Tim Berners-Lee. Bekerja sejak 1980 di Laboratorium Penelitian Nuklir Eropa (Fr. Conseil Européen Pour La Recherche Nukléaire, CERN) Consultant, ia memulai perkembangannya. Di Jenewa, ia mengembangkan program ensquire untuk kebutuhannya sendiri (bahasa Inggris. Inquire - bertanya), yang menggunakan asosiasi acak untuk menyimpan data dan meletakkan konsep untuk fondasi World Wide Web.

Pada tahun 1989, Tim Berners-Lee, bekerja pada jaringan internal Organisasi CERN dan mengusulkan untuk membangun proyek hypertext global, yang diterbitkan oleh dokumen hypertext terkait dengan hyperlink. Pengenalan proyek ini, menurut pendapatnya, akan memfasilitasi asosiasi, pencarian dan pertukaran informasi untuk para ilmuwan CERN. Untuk mengimplementasikan proyek Tim Berners-Lee, bersama dengan para penolongnya, pengidentifikasi menemukan URI dan URL, protokol HTTP, serta bahasa HTML. Semua teknologi ini sekarang banyak digunakan di internet modern dan tanpa mereka tidak lagi.

Sebagai hasil dari proyek ini, Berners-Lee mengembangkan server web pertama di dunia yang disebut "HTTPD", serta browser Web Hypertext pertama di dunia untuk komputer berikutnya, yang disebut WorldWideWeb (World Wide Web).

Browser Web pertama bekerja di NextStep - berorientasi objek, sistem operasi multi-tasking, dan dikembangkan menggunakan Builder Antarmuka. Antarmuka browser web sangat sederhana, dan hampir semua informasi ditampilkan dalam format teks hanya dengan beberapa gambar. Selain protokol FTP standar, Tim Berners-Lee menggunakan protokol HTTP baru yang ditemukan. Pada periode 1991 hingga 1993, Berners-Lee meningkatkan sifat teknis perkembangan baru: URI dan pengidentifikasi URL, protokol HTTP dan bahasa HTML dan menerbitkannya. Kemudian, browser web dinamai "Nexus" sehingga tidak muncul kebingungan dengan nama sistem operasi, di mana browser dikembangkan dan namanya.

Server Web pertama di dunia dan browser web pertama bekerja di komputer pribadi NextStep; Sekarang komputer ini dipamerkan di CERN Museum (Microcosm).

Situs web pertama di dunia Tim Berners-Lee ditempatkan di http://info.cern.ch; Sekarang situs ini disimpan dalam arsip. Situs pertama muncul di Internet pada 6 Agustus 1991. Di situs web ini diberikan:

  • Deskripsi Web Wide Wide;
  • Petunjuk untuk menginstal server web;
  • informasi tentang cara membeli browser web;
  • Informasi teknis lainnya.

Situs ini juga menghadirkan katalog online pertama di dunia. Berners-Lee memposting daftar tautan ke situs lain dan memperbaruinya secara teratur.

Pada 12 Desember 1991, di Pusat Stanford Accelerator Linear (SLAC) di Amerika Serikat, server web pertama di dunia diinstal.

Fungsi dasar dan tambahan

Semua fungsi server web utama dan opsional:

  • Menerima permintaan dari browser web menggunakan protokol standar HTTP menggunakan protokol jaringan TCP / IP;
  • Eksekusi pencarian dan mengirim file dengan hypertext atau dokumen apa pun ke browser melalui HTTP;
  • Pemeliharaan dan pemrosesan permintaan, ketik: mailto, ftp, telnet, dll.;
  • Luncurkan program aplikasi aplikasi dengan transmisi berikutnya dan pengembalian pajak parameter pemrosesan melalui standar antarmuka CGI;
  • Pekerjaan dan pemeliharaan kartu navigasi gambar (peta gambar);
  • Unduh aplikasi Java;
  • Administrasi dan Server Manajemen Operasional;
  • Otorisasi pengguna dan otentikasi mereka;
  • Mempertahankan log pendaftaran pengguna pengguna ke berbagai sumber daya;
  • Pekerjaan halaman web otomatis;
  • Dukungan untuk halaman yang dihasilkan secara dinamis;
  • Dukungan untuk protokol HTTPS untuk koneksi aman dengan klien.

Deskripsi Kerja Server Web

Web browser mendukung tautan dengan server web menggunakan pesan hypertext (hypertexttransferprotocol, http). Ini adalah permintaan dan tanggapan sederhana untuk mengirim informasi menggunakan protokol TCP / IP. Server Web menerima permintaan, mendeteksi file, mengirimkannya ke browser, dan kemudian mematahkan koneksi. Informasi grafis yang tersedia pada halaman diproses dengan cara yang sama. Selanjutnya adalah antrian browser web - untuk menampilkan dokumen HTML dari monitor pengguna.

Selain halaman HTML dan grafik, server web dapat menyimpan file apa pun, termasuk dokumen teks, dokumen prosesor teks, file video, dan informasi audio. Hingga saat ini, jika Anda tidak mempertimbangkan kuesioner yang mengisi pengguna, bagian utama dari lalu lintas web ditransmisikan dalam satu arah - browser membaca file dari server web. Tetapi ketentuan ini akan berubah setelah adopsi umum metode put yang dijelaskan dalam proyek HTTP 1.1, yang memungkinkan Anda merekam file ke server web. Saat ini, metode put ini digunakan terutama oleh pengguna yang membuat halaman web, tetapi dalam perspektif itu dapat bermanfaat dan pengguna lain untuk umpan balik dengan pusat informasi. Permintaan menggunakan metode put ini jauh lebih mudah daripada posting posting biasa mengunduh file ke server web.

Server web juga melakukan berbagai aplikasi, popularitas terbesar di antaranya yang menerima mesin pencari dan basis data dengan database. Untuk mengembangkan aplikasi ini, ada standar seperti antarmuka gateway umum (CommoMateWayInterface, CGI), bahasa skrip JavaScript, serta bahasa pemrograman Java dan visualBASIC. Selain antarmuka standar CGI, beberapa pengembang server web telah membuat antarmuka pemrograman aplikasi (API) seperti, misalnya, Netscape Server API dan API server Internet, yang dibuat oleh Microsoft dan Process Software AG. Antarmuka ini memungkinkan pengembang untuk mengakses fungsi server web tertentu. Beberapa server web memiliki perangkat lunak penghubung (middleware) untuk terhubung ke database, yang mungkin memerlukan pengetahuan profesional dalam pemrograman.

Fungsi pencarian dasar membantu pengguna mengurutkan informasi yang Anda butuhkan, dan utilitas untuk komunikasi dengan basis data memberikan pengguna akses browser web ke informasi ini.

Server Web Gambaran Umum

Kriteria untuk memilih server web dapat berupa karakteristik yang berbeda: instalasi, pengaturan konfigurasi, manajemen server, administrasi, dikontrol pada server informasi, perlindungan informasi ini, kontrol akses, fungsi pengembangan aplikasi, dan kinerja.

Sebagian besar server web dipasang dengan mudah dan cepat.

Bagian yang paling sulit dari proses instalasi adalah untuk mengkonfigurasi beberapa nama domain pada satu perangkat fisik atau dengan kata lain, organisasi server virtual.

Server web memiliki sarana untuk mengelola modul informasi yang mengkarakterisasi organisasi umum situs web, dan juga memiliki alat untuk memverifikasi kebenaran dari tautan hiperteks internal dan eksternal. Paket Livewire dari Netscape Communications, yang datang dengan Novell Open Enterprise Server (OES) dan juga ditawarkan dengan server FastTrack, memiliki utilitas kontrol utilitas yang menghasilkan daftar semua koneksi halaman yang dipilih. Utilitas ini juga menyediakan total daftar semua koneksi yang salah yang mendeteksi. Program WebView O'Reilly & Associates memiliki fitur yang sama dan dapat menampilkan file terperinci file di mana semua tautan yang salah disorot dengan warna merah.

Cara sekolah dasar untuk mengendalikan bahan yang bermakna juga tersedia. Administrator Web harus memilih tempat untuk menyimpan file dan cara mengakses file-file ini dari pengguna yang akan mengakses server web akan diakses. Ini membutuhkan kesesuaian antara URL logika dan direktori file fisik. Setiap perangkat lunak melakukan operasi ini dengan cara yang unik.

Dengan peningkatan popularitas server web dan semakin banyak menggunakan intranet mereka, aktivitas komersial di Internet meningkat, oleh karena itu pentingnya perlindungan informasi meningkat. Sistem keamanan server web yang paling umum adalah redundan atau tidak cukup untuk intranet modern. Jika Anda perlu membatasi akses ke informasi tertentu dalam perusahaan, yaitu, pilihan antara penggunaan kata sandi yang tidak dienkripsi, yang ditransmisikan melalui saluran komunikasi, dan menggunakan protokol SSL (Eng. Secure Sockets Layer - tingkat soket yang dilindungi) - Metode yang kompleks dan lambat yang digunakan untuk mengenkripsi kata sandi dan data.

Untuk mengatur pekerjaan pengguna individu dan kelompok mereka, aplikasi server internal atau fungsi sistem operasi tertentu dapat digunakan. Untuk mengatur pekerjaan pengguna individu dan kelompok mereka, aplikasi server internal atau fungsi sistem operasi tertentu dapat digunakan. Layanan Microsoft IIS Packet menyediakan aplikasi jaringan dasar Windows NT.

Netware Web Server Noverl, Inc. Yang sepenuhnya terintegrasi dengan direktori alamat (Layanan Direktori Netware, NDS). Untuk membangun pekerjaan pengguna dari pusat umum nyaman, tetapi ini mungkin merupakan ancaman bagi keamanan. Kata sandi menyebar melalui saluran komunikasi dalam bentuk yang tidak terenkripsi, dan jika mereka mencegatnya, tidak hanya server web, tetapi juga keamanan seluruh sistem operasi jaringan akan berisiko.

Pengembangan aplikasi adalah salah satu fungsi utama dari server web. Lingkungan Pengembangan Aplikasi dan Alat Koneksi Database sangat penting untuk memperluas kemampuan server Web, karena pengembangan aplikasi tergantung pada berbagai penunjukan antarmuka pemrograman aplikasi (Bahasa Inggris. Antarmuka Pemrograman Aplikasi, API), serta pada fitur-fitur bahasa pemrograman Atau preferensi programmer individu.

Server web dapat melayani berbagai sistem dari perusahaan intranet kecil ke pusat web informasi utama yang menggunakan jutaan orang.

Untuk intranet perusahaan kecil, Server Informasi Internet (IIS), dibuat dan didistribusikan oleh Microsoft Cocok. IIS ditandai dengan instalasi yang cukup sederhana dan pengaturan konfigurasi sederhana. Paket server web ini sangat terintegrasi dengan alat kontrol akses, alat kontrol sistem monitor kinerja (monitor sistem), serta dengan penampil log peristiwa penampil acara. Server web IIS lainnya tampaknya menjadi beberapa alat untuk informasi dinamis dari basis data. IIS ditandai dengan kecepatan sangat tinggi. Komponen IIS mendukung protokol seperti: HTTP, HTTPS, FTP, NNTP, SMTP, POP3.

Untuk memfasilitasi penciptaan pusat web informasi, dengan sebagian besar server web, utilitas dan alat disuplai untuk mengontrol bahan konten. Selain editor HTML dan konverter format dokumen, kontrol URL adalah yang paling berguna, yang menjamin kinerja semua koneksi hypertext situs web Anda.

Setiap komputer pribadi yang terhubung ke Internet dapat dibuat oleh server web jika Anda menetapkan perangkat lunak server khusus di atasnya.

Server Web paling umum: Apache (Apache Software Foundation), IIS (Microsoft) dan iPlanet Server (dari Sun Microsystems dan Netscape Communications Corporation). Sekarang di pasar perangkat lunak untuk server web, ada banyak pilihan produk, baik komersial maupun gratis.

Salah satu server Web yang paling umum adalah Apache dari Apache Software Foundation. Dengan perkiraan penghitungan, digunakan oleh 65% dari semua server web di dunia. Salah satu keunggulan utama perangkat lunak Apache adalah distribusi gratis. Pengembang secara teratur menghilangkan kesalahan yang dihasilkan dan memberikan dukungan pengguna yang baik. Server web ini mendukung sejumlah besar modul, utilitas dan penambahan. Sejak sejak awal, Apache dikembangkan sebagai perangkat lunak untuk administrator dan pengguna berpengalaman, yaitu, kerugiannya adalah kompleksitas pengaturan dan pemeliharaan untuk webmaster yang tidak berpengalaman.

Kemudian popularitas adalah server web IIS dari Microsoft. Menurut Netcraft, server web IIS adalah 12,46% dari jumlah total server web. Produk ini adalah bagian dari perangkat lunak Windows NT Server. Keunggulan utamanya - stabilitas, kecepatan tinggi, kemampuan untuk menghubungkan modul tambahan. Microsoft berkomitmen untuk memastikan bahwa setiap pengguna dapat menggunakan produknya tanpa bantuan spesialis jika ia perlu menyelesaikan tugas standar. Oleh karena itu, IIS sangat mudah untuk menginstal, mengkonfigurasi, dan memelihara. Server web mendukung teknologi .NET, merekrut, baru-baru ini, popularitas pada pengembang dan pengguna profesional. Keuntungan-keuntungan ini ditampilkan oleh server web IIS ke level baru dan dapat diharapkan bahwa penggunaannya akan meningkat.

Server Web terkenal lainnya:

  • nginx. - Server web gratis dan server proxy mail yang dikembangkan oleh Igor Sysoev. Server sederhana, cepat dan andal. Bekerja di Linux dan sistem operasi seperti unix lainnya, serta di Windows. Menikmati populer di situs web besar;
  • Lighttpd. - Server web gratis. Pengembang Yang Kneshka. Server Web yang cepat dan aman. Bekerja di Linux dan sistem operasi seperti unix lainnya, serta di Windows;
  • Server Web Google. - Server web yang didasarkan pada Apache dan digunakan oleh Google untuk mengatur infrastruktur Web-nya;
  • Damar - Server web gratis dan server aplikasi untuk Java. Pengembang - Caucho Technology Inc;
  • Cherokee. - Server web gratis yang hanya dikelola melalui antarmuka web. Ditulis dalam bahasa pemrograman SI;
  • Rootage. - Server Web yang ditulis dalam bahasa pemrograman Java. Bekerja di Linux dan Windows;
  • Thttpd. - Server web sederhana, kecil, cepat dan aman. Perangkat lunak pengembang ACME Labs.

Klien server web

Biasanya, klien adalah browser web. Tetapi beragam perangkat dan program lainnya juga dapat mengakses server web:

  • Browser web, yang diinstal pada komputer pribadi stasioner;
  • Browser web, yang diinstal pada PDA atau perangkat portabel lainnya;
  • Ponsel dan smartphone yang digunakan pengguna ke sumber daya server web untuk protokol WAP;
  • Program yang berbeda yang dapat mengakses server web secara independen untuk memperbarui atau menerima informasi lainnya. Contoh - berbagai antivirus yang secara berkala merujuk ke server web untuk memperbarui basis data;
  • Perangkat digital yang berbeda, serta beberapa peralatan rumah tangga.

Apa itu server web

Dalam artikel ini, kita belajar dari diri Anda sendiri server web, bagaimana mereka bekerja, dan mengapa mereka begitu penting.

Konsep «Server Web. »Dapat berkaitan dengan kedua isian dan perangkat lunak perangkat keras. Atau bahkan untuk kedua bagian bekerja bersama.

  1. Dari sudut pandang "besi", «Server Web. »- Ini adalah komputer yang menyimpan file situs (dokumen HTML, gaya CSS, file javascript, gambar dan lainnya) dan mengirimkannya ke perangkat pengguna akhir (browser web, dll.) Itu terhubung ke Internet dan dapat diakses melalui nama domain yang serupa Mozilla.org. .
  2. Dari sudut pandang perangkat lunak Server Web. Termasuk beberapa komponen yang mengontrol akses pengguna web ke file yang diposting di server, minimal - itu Server HTTP. . Server HTTP. - Ini adalah bagian dari perangkat lunak yang memahami URL (alamat web) dan http (protokol yang digunakan browser Anda untuk melihat halaman web).

Pada tingkat paling dasar, ketika browser memerlukan file yang diposting di server web, browser memintanya melalui protokol HTTP. Ketika kueri mencapai server Web yang diperlukan ("besi"), server HTTP (perangkat lunak) menerima permintaan, menemukan dokumen yang diminta (jika tidak, ia melaporkan kesalahan 404) dan mengirim kembali, juga melalui HTTP.

Representasi dasar koneksi klien / server melalui http

Untuk menerbitkan situs web, diperlukan server web statis atau dinamis.

Server Web Statis , atau tumpukan terdiri dari komputer ("besi") dengan server HTTP (perangkat lunak). Kami menyebutnya «Statis »Karena server mengirim file yang ditempatkan ke browser «apa adanya ».

Server Web Dinamis terdiri dari server web statis dan perangkat lunak tambahan, paling sering Server aplikasi и Database. . Kami menyebutnya «Dinamis »Karena server aplikasi mengubah file sumber sebelum mengirim ke browser Anda dengan http.

Misalnya, untuk mendapatkan halaman terakhir yang Anda lihat di browser, server aplikasi dapat mengisi data data HTML dari database. Situs-situs seperti MDN atau Wikipedia terdiri dari ribuan halaman web, tetapi mereka bukan dokumen HTML nyata - hanya beberapa templat HTML dan database raksasa. Struktur ini menyederhanakan dan mempercepat dukungan untuk aplikasi web dan pengiriman konten.

Untuk mengunduh halaman web, seperti yang telah kami katakan, browser Anda mengirimkan permintaan ke server web yang mulai menemukan file yang diminta dalam ruang memori sendiri. Setelah menemukan file, server membacanya, memproses bagaimana itu perlu baginya, dan mengirimkannya ke browser. Mari kita lihat langkah-langkah ini secara lebih rinci.

Pertama-tama, server web harus berisi file situs web, yaitu semua dokumen HTML dan sumber daya terkait, termasuk gambar, gaya CSS, file JavaScript, font dan video.

Secara teknis, Anda dapat menempatkan semua file ini di komputer Anda, tetapi jauh lebih nyaman untuk menyimpannya di server web khusus yang:

  • selalu dimulai dan berlari
  • Selalu terhubung ke Internet
  • Ini memiliki alamat IP yang konstan (tidak semua penyedia menyediakan alamat IP statis untuk koneksi rumah)
  • dilayani oleh perusahaan pihak ketiga, pihak ketiga

Untuk semua alasan ini, pencarian untuk penyedia hosting yang baik adalah bagian penting dari membuat situs Anda. Pertimbangkan banyak penawaran perusahaan dan pilih yang cocok dengan kebutuhan dan anggaran Anda (kalimat bervariasi dari bebas hingga ribuan dolar per bulan). Anda dapat menemukan detail dalam artikel ini.

Setelah Anda memutuskan masalah dengan hosting, Anda hanya perlu mengunggah file Anda ke server web Anda.

Kedua, server web menyediakan dukungan HTTP (ENG. Hyper tExt. TRansfer. PROTOCOL - protokol transport hypertext ). Seperti nama berikut, HTTP menunjukkan cara mentransmisikan hypertext (I.E. Dokumen Web Terkait) antara dua komputer.

Protokol adalah seperangkat aturan untuk komunikasi antara dua komputer. HTTP adalah protokol teks tanpa menyimpan negara.

Teks
Semua perintah adalah teks sederhana.
Tidak menyimpan kondisinya
Baik klien maupun server tidak mengingat senyawa sebelumnya. Misalnya, berdasarkan HTTP, server tidak akan dapat mengingat kata sandi yang Anda masukkan atau di mana langkah transaksi Anda. Untuk tugas-tugas seperti itu, Anda akan memerlukan server aplikasi. (Kami akan fokus pada teknologi ini dalam artikel berikut.)

HTTP menentukan aturan interaksi klien dan server yang ketat. Kami akan mempertimbangkan protokol HTTP itu sendiri di kertas teknis beberapa nanti. Sejauh ini, sudah cukup untuk mengetahui tentang aturan ini:

  • Khusus Pelanggan dapat menghasilkan permintaan http, dan hanya pada Server. . Server hanya mampu menanggapi http- Permintaan pelanggan .
  • Saat meminta file HTTP, klien harus membentuk URL file.
  • Server Web. Harus menjawab Untuk setiap permintaan HTTP, setidaknya pesan kesalahan.

Halaman MDN 404 sebagai contoh halaman kesalahan tersebutServer HTTP bertanggung jawab untuk memproses permintaan masuk dan meresponsnya.

  1. Setelah menerima kueri, server HTTP pertama kali memeriksa apakah ada sumber daya untuk URL ini.
  2. Jika demikian, server web mengirimkan konten file kembali ke browser. Jika tidak, server aplikasi menghasilkan sumber daya yang diperlukan.
  3. Jika tidak ada yang mungkin dari ini, server web mengembalikan pesan kesalahan ke browser, paling sering "404 tidak ditemukan". (Kesalahan ini sangat umum sehingga banyak desainer web menghabiskan banyak waktu untuk mengembangkan halaman kesalahan 404.)

Secara kasar, server dapat memberikan konten statis atau dinamis. «Statis »cara «Berikan apa adanya ». Situs web statis dipindahkan dengan cara termudah, jadi kami sarankan Anda membuat situs pertama Anda statis.

«Dinamis »Ini berarti bahwa server memproses data atau bahkan menghasilkannya dengan cepat dari database. Ini memberikan fleksibilitas yang lebih besar, tetapi semakin sulit dalam penjualan dan pemeliharaan, karena di mana proses pembuatan situs sangat rumit.

Ambil contoh halaman yang sedang Anda baca. Pada server web di mana hostes, ada server aplikasi yang mengambil konten artikel dari database format, menambahkannya ke templat HTML dan mengirimkan hasilnya. Dalam kasus kami, server aplikasi disebut Kuma, ada tertulis dalam bahasa pemrograman Python (menggunakan Django Framework). Kru mozilla diciptakan Kuma. Untuk kebutuhan MDN tertentu, tetapi ada banyak aplikasi serupa yang dibangun dengan sempurna pada teknologi lain.

Ada begitu banyak server aplikasi, yang cukup sulit untuk menawarkan beberapa. Beberapa server aplikasi dipertajam di bawah kategori situs web tertentu, seperti blog, halaman wiki atau toko online; Lainnya, yang disebut CMSS (sistem manajemen konten) lebih fleksibel. Jika Anda membuat situs dinamis, luangkan waktu untuk memilih alat yang sesuai dengan kebutuhan Anda. Jika Anda tidak ingin mempelajari pemrograman web (meskipun itu menarik dengan sendirinya!), Anda tidak perlu membuat server aplikasi Anda sendiri. Ini akan menjadi penemuan sepeda berikutnya.

Sekarang setelah Anda berkenalan dengan server web, Anda bisa:

Web-server-struktur-000.pngApa itu server web? Dari sudut pandang manusia rata - ini adalah kotak hitam yang memproses permintaan browser dan mengeluarkan halaman web sebagai tanggapan. Spesialis teknis menuangkan Anda dalam massa istilah sentuhan rendah. Akibatnya, administrator pemula dari server web kadang-kadang sulit untuk mengetahui keragaman istilah dan teknologi. Memang, area pengembangan web berkembang secara dinamis, tetapi dasar dari banyak solusi modern adalah teknologi dasar dan prinsip-prinsip yang akan kita bicarakan hari ini dan berbicara.

Jika Anda tidak tahu harus mulai dari mana, maka Anda harus mulai dulu. Agar tidak bingung dalam semua variasi teknologi web modern, Anda perlu merujuk pada cerita untuk memahami di mana internet modern dimulai dan teknologi dikembangkan dan ditingkatkan.

Server HTTP.

Pada awal pengembangan Internet, situs adalah penyimpanan sederhana dokumen yang ditandai khusus dan beberapa data terkait: file, gambar, dll. Agar dokumen untuk merujuk satu sama lain dan data terkait diusulkan sebagai bahasa markup hypertext HTML khusus, dan untuk mengakses dokumen-dokumen tersebut melalui jaringan Internet HTTP. Dan bahasa, dan protokol, berkembang dan membaik, hidup sampai hari ini tanpa perubahan signifikan. Dan baru mulai mengganti protokol HTTP / 1.1 yang diadopsi pada tahun 1999, protokol HTTP / 2 membawa perubahan mendasar dengan mempertimbangkan persyaratan jaringan modern.

Protokol HTTP diimplementasikan oleh teknologi client-server dan bekerja pada prinsip permintaan-respons tanpa menyimpan negara. Tujuan dari permintaan tersebut adalah sumber daya tertentu yang ditentukan Pengidentifikasi sumber daya terpadu - URI. (Pengidentifikasi sumber daya yang seragam ), HTTP menggunakan salah satu spesies URI - URL (Locator sumber daya seragam. ) - Universal sumber daya pointer. Selain informasi tentang sumber daya, itu juga menentukan lokasi fisiknya.

Tugas server HTTP untuk menangani permintaan pelanggan dan memberikan sumber daya yang diperlukan, atau untuk melaporkan ketidakmungkinan melakukan ini. Pertimbangkan skema berikut:

Web-server-struktur-001.png

Pengguna melalui klien HTTP, paling sering browser ini, meminta URL tertentu dari server HTTP, server memeriksa dan memberikan file URL yang sesuai dengan ini, biasanya halaman HTML. Dokumen yang diperoleh dapat berisi referensi ke sumber daya terkait, seperti gambar. Jika mereka perlu ditampilkan pada halaman, klien secara konsisten memintanya dari server, kecuali gambar juga dapat diminta ke lembar gaya, skrip yang dieksekusi di sisi klien, dll. Setelah menerima semua sumber daya yang diperlukan, browser akan memprosesnya sesuai dengan kode dokumen HTML dan memberikan halaman yang siap pengguna.

Karena banyak orang sudah menebak, dengan nama server HTTP dalam skema ini ada esensi yang lebih dikenal hari ini disebut server web. Tujuan utama dan tugas server web adalah memproses permintaan HTTP dan kembali ke pengguna hasilnya. Server Web tidak tahu cara menghasilkan konten secara mandiri dan hanya berfungsi dengan konten statis. Ini relevan untuk server web modern, meskipun semua kekayaan kemampuan mereka.

Untuk waktu yang lama, satu server web sudah cukup untuk mengimplementasikan situs penuh. Tetapi dengan pertumbuhan jaringan HTML statis, itu menjadi hilang tajam. Contoh sederhana: setiap halaman statis mandiri dan harus mengandung tautan ke semua sumber daya yang terkait dengannya, ketika menambahkan halaman baru tautan ke mereka akan diminta untuk menambah halaman yang sudah ada, jika tidak, pengguna tidak akan pernah bisa dapatkan pada mereka.

Situs pada waktu itu umumnya suka sedikit pada modern, misalnya, di bawah ini menunjukkan pandangan salah satu perintis Internet berbahasa Rusia, situs Rambler:

Web-Server-Structure-002.pngDan transisi ke salah satu tautan umumnya dapat membawa pengguna modern di behilderment, untuk kembali dari halaman seperti itu tidak mungkin, kecuali melalui menekan tombol dengan nama yang sama di browser.

Web-Server-Structure-003.pngUpaya untuk menciptakan sesuatu yang kurang lebih mirip dengan situs modern segera berubah menjadi peningkatan jumlah pekerjaan untuk membuat perubahan pada halaman yang ada. Lagi pula, jika kita mengubah sesuatu di bagian umum situs, misalnya, logo di header, maka kita perlu membuat perubahan ini ke semua halaman yang ada. Dan jika kita mengubah jalur ke salah satu halaman atau menghapusnya, maka kita perlu menemukan semua tautan ke sana dan mengubah atau menghapusnya.

Oleh karena itu, langkah berikut dalam pengembangan server web telah menjadi dukungan untuk teknologi Aktifkan di sisi server - SSI. (Sisi server termasuk. ). Ini memungkinkan isi file yang berbeda ke dalam kode halaman dalam kode halaman, yang memungkinkan untuk membuat elemen berulang, seperti tutup, ruang bawah tanah, menu, dan sejenisnya. Dalam file individual dan cukup terhubung ketika halaman selesai.

Web-server-struktur-004.pngSekarang, untuk mengubah logo atau item menu, Anda harus membuat hanya satu file, alih-alih mengedit semua halaman yang ada. Selain itu, SSI memungkinkan beberapa konten dinamis pada halaman, misalnya, tanggal saat ini dan melakukan kondisi sederhana dan bekerja dengan variabel. Itu adalah langkah maju yang signifikan, memfasilitasi pekerjaan webmaster dan meningkatkan kenyamanan pengguna. Namun, untuk mengimplementasikan situs yang benar-benar dinamis, teknologi ini belum diizinkan.

Perlu dicatat bahwa SSI secara aktif diterapkan hari ini, di mana dalam kode halaman Anda perlu memasukkan konten statis, terutama karena kesederhanaan dan tidak beratnya ke sumber daya.

CGI.

Langkah selanjutnya dalam pengembangan teknologi web adalah munculnya program khusus (skrip) yang melakukan pemrosesan permintaan pengguna di sisi server. Paling sering mereka ditulis dalam bahasa scripting, awalnya Perl, hari ini telapak kepemimpinan memegang PHP. Secara bertahap muncul seluruh kelas program - sistem manajemen konten - CMS. (Sistem Managene Konten. ), yang mewakili aplikasi web penuh yang mampu menyediakan pemrosesan dinamis permintaan pengguna.

Sekarang poin penting: Server web tidak dapat dan tidak tahu cara melakukan skrip, tugas mereka adalah memberikan konten statis. Di sini, entitas baru akan datang ke tempat kejadian - server aplikasi yang merupakan penerjemah bahasa skrip dan dengan aplikasi web mana yang ditulis pada mereka bekerja. DBMS umumnya digunakan untuk menyimpan data, yang disebabkan oleh kebutuhan untuk mengakses sejumlah besar informasi yang saling terkait.

Namun, server aplikasi tidak tahu cara bekerja dengan protokol HTTP dan memproses permintaan pengguna, karena ini adalah tugas server web. Untuk memastikan interaksi mereka dikembangkan Antarmuka Gateway General. - CGI. (Antarmuka gateway umum. ).

Web-Server-Structure-005.pngItu harus dipahami dengan jelas, CGI bukan program dan bukan protokol, itu adalah antarmuka, I.E. Kombinasi cara untuk berinteraksi antar aplikasi. Anda juga tidak boleh bingung dengan istilah CGI dengan konsep aplikasi CGI atau skrip CGI, yang menunjukkan program (skrip) yang mendukung pekerjaan melalui antarmuka CGI.

Untuk transfer data, aliran I / O standar digunakan, dari server web ke data aplikasi CGI yang ditransmisikan melalui stdin. diterima kembali melalui stdout. Untuk pesan kesalahan yang digunakan Stderr. .

Pertimbangkan proses pengoperasian sistem semacam itu. Setelah menerima permintaan dari browser pengguna, server Web menentukan bahwa konten dinamis diminta dan membentuk permintaan khusus, yang melalui antarmuka CGI mengarahkan aplikasi web. Ketika itu menerimanya, aplikasi dimulai dan mengeksekusi hasilnya, hasilnya adalah kode HTML dari halaman yang dibentuk secara dinamis yang ditransmisikan kembali ke server web, setelah itu aplikasi menyelesaikan pekerjaannya.

Perbedaan penting lainnya antara situs dinamis - halamannya secara fisik tidak ada dalam formulir yang diberikan kepada pengguna. Bahkan, ada aplikasi web, mis. Satu set skrip dan templat, dan database yang menyimpan bahan-bahan situs dan informasi layanan, secara terpisah ada konten statis: gambar, skrip java, file.

Setelah menerima permintaan, aplikasi web mengambil data dari database dan mengisinya dengan templat yang ditentukan dalam kueri. Hasilnya diberikan kepada server web, yang melengkapi konten statis yang terbentuk dengan cara ini (gambar, skrip, gaya) dan memberikannya kepada browser pengguna. Halaman itu sendiri tidak disimpan di mana saja, kecuali dalam cache, dan ketika menerima kueri baru, halaman dihasilkan kembali.

Keuntungan CGI termasuk independensi bahasa dan arsitektur: Aplikasi CGI dapat ditulis dalam bahasa apa pun dan bekerja dengan baik dengan server web apa pun. Mengingat kesederhanaan dan keterbukaan standar, ini menyebabkan perkembangan cepat aplikasi web.

Namun, selain keuntungan, CGI memiliki kerugian substansial. Yang utama adalah overhead tinggi untuk memulai dan menghentikan proses, yang mensyaratkan peningkatan persyaratan perangkat keras dan kinerja rendah. Dan penggunaan stream I / O standar membatasi kemungkinan penskalaan dan memastikan ketersediaan tinggi, karena mensyaratkan bahwa server web dan server aplikasi berada dalam sistem yang sama.

Saat ini, CGI praktis tidak ada yang diterapkan, karena teknologi yang lebih maju datang untuk menggantikannya.

Fastcgi.

Sebagai berikut dari nama, tujuan utama pengembangan teknologi ini adalah untuk meningkatkan kinerja CGI. Menjadi pengembangan lebih lanjut dari FastCGI adalah protokol klien-server untuk berinteraksi server web dan server aplikasi yang memberikan kinerja tinggi dan keamanan.

FastCGI menghilangkan masalah CGI utama - Mulai kembali proses aplikasi web untuk setiap permintaan, proses FastCGI berjalan terus-menerus, yang memungkinkan Anda menghemat waktu dan sumber daya secara signifikan. Untuk mentransfer data alih-alih aliran standar digunakan Soket Unix. atau TCP / IP. Itu memungkinkan Anda untuk meng-host server web dan server aplikasi pada host yang berbeda, sehingga memberikan penskalaan dan / atau ketersediaan sistem yang tinggi.

Web-Server-Structure-006.pngKami juga dapat menjalankan beberapa proses FastCGI pada satu komputer, yang dapat memproses permintaan secara paralel, atau memiliki pengaturan atau versi bahasa skrip yang berbeda. Misalnya, Anda dapat secara bersamaan memiliki beberapa versi PHP untuk situs yang berbeda, mengirimkannya ke berbagai proses FastCGI.

Untuk mengontrol proses FastCGI dan distribusi beban, mengelola manajer proses, mereka dapat menjadi bagian dari server web dan aplikasi terpisah. Server Web Apache dan Lighttpd populer memiliki proses FastCGI bawaan, sementara Nginx memerlukan manajer eksternal untuk pekerjaannya.

PHP-FPM dan Spawn-FCGI

Dari manajer eksternal untuk proses FastCGI, PHP-FPM dan Spawn-FCGI berlaku. PHP-FPM awalnya merupakan satu set tambalan untuk PHP dari Andrei Nigmatulin, yang memecahkan sejumlah masalah manajemen proses FastCGI, dimulai dengan versi 5.3, bagian dari proyek dan memasuki pasokan PHP. PHP-FPM secara dinamis dapat mengontrol jumlah proses PHP tergantung pada beban, restart kolam tanpa kehilangan permintaan, restart darurat proses kegagalan dan merupakan manajer yang cukup maju.

Spawn-FCGI adalah bagian dari proyek Lighttpd, tetapi server web dengan nama yang sama tidak termasuk, Lighttpd default menggunakan manajer prosesnya sendiri yang lebih sederhana. Pengembang merekomendasikan untuk menggunakannya dalam kasus di mana Anda perlu mengelola proses FastCGI yang terletak di host lain, atau pengaturan keamanan lanjutan diperlukan.

Manajer eksternal memungkinkan Anda untuk mengisolasi setiap proses fastcgi di chroot Anda (mengubah direktori root aplikasi tanpa kemungkinan mengaksesnya), sangat baik dari chroot proses lain dan dari server web chroot. Dan, seperti yang telah kita bicarakan, izinkan Anda bekerja dengan aplikasi FastCGI yang terletak di server lain melalui TCP / IP, dalam hal akses lokal, Anda harus memilih akses melalui soket Unix sebagai tipe koneksi cepat.

Web-Server-Structure-007.pngJika Anda melihat skema lagi, kami akan melihat bahwa kami memiliki elemen baru - manajer proses, yang merupakan perantara antara server web dan server aplikasi. Ini agak memperumit skema, ketika Anda mengatur dan menemani lebih banyak layanan, tetapi pada saat yang sama membuka lebih banyak peluang, memungkinkan Anda untuk mengkonfigurasi setiap elemen server dengan jelas di bawah tugas Anda.

Dalam praktiknya, memilih antara manajer bawaan dan biaya eksternal untuk menilai situasi dan memilih persis alat yang paling cocok untuk permintaan Anda. Misalnya, membuat server sederhana untuk beberapa situs di mesin tipikal. Aplikasi manajer eksternal akan secara eksplisit tidak perlu. Meskipun tidak ada yang memaksakan Anda pada sudut pandang Anda. Tema Linux dan sangat bagus bahwa semua orang bisa, seperti dari perancang, kumpulkan persis apa yang dia butuhkan.

SCGI, PCGI, PSGI, WSGI dan lainnya

Membenamkan topik pengembangan web, Anda pasti akan ditemukan dengan menyebutkan berbagai teknologi CGI, yang paling populer yang kami daftarkan dalam judul. Dari varietas seperti itu, dimungkinkan untuk bingung, tetapi jika Anda hati-hati membaca awal artikel kami, Anda tahu bagaimana CGI dan FastCGI bekerja, dan, oleh karena itu, untuk menangani salah satu dari teknologi ini tidak akan sulit bagi Anda.

Terlepas dari perbedaan dalam implementasi satu atau solusi lain, prinsip-prinsip dasar tetap umum. Semua teknologi ini menyediakan antarmuka gateway ( Antarmuka gateway. ) Untuk berinteraksi server web dengan server aplikasi. Gateway memungkinkan Anda untuk melepaskan server web dan aplikasi web di antara mereka sendiri, memungkinkan Anda untuk menggunakan kombinasi apa pun tanpa terlepas dari kemungkinan ketidakcocokan. Sederhananya, tidak masalah apakah server web Anda mendukung teknologi spesifik atau bahasa scripting, yang utama adalah ia dapat bekerja dengan jenis gateway yang diinginkan.

Karena kami telah mendaftar dalam judul, seluruh paket singkatan, kami akan lulus lebih detail.

SCGI. (Antarmuka Gateway Umum Sederhana ) - Antarmuka Gateway Umum Sederhana - Dikembangkan sebagai alternatif untuk CGI dan sebagian besar mirip dengan FastCGI, tetapi lebih mudah diterapkan. Semua yang kami katakan tentang FastGCI itu berlaku untuk SCGI.

PCGI. (Perl Common Gateway Interface ) - Perl perpustakaan untuk bekerja dengan antarmuka CGI, untuk waktu yang lama adalah opsi utama untuk bekerja dengan aplikasi Perl melalui CGI, ia memiliki kinerja yang baik (sejauh yang berlaku untuk CGI) dengan kebutuhan sumber daya dan perlindungan berlebih.

PSGI. (Antarmuka Gateway Server Web Perl ) - Teknologi interaksi server web dan server aplikasi untuk Perl. Jika PCGI adalah alat untuk bekerja dengan antarmuka CGI klasik, maka PSGI ingat FastCGI. Server PSGI mewakili lingkungan untuk melakukan aplikasi Perl yang terus-menerus berjalan sebagai layanan dan dapat berinteraksi dengan server web melalui TCP / IP atau Soket Unix dan menyediakan aplikasi Perl sebagai FastCGI.

WSGI. (Antarmuka gateway server web ) - Antarmuka gateway spesifik lain yang dirancang untuk berinteraksi dengan server web dengan server aplikasi aplikasi untuk program yang ditulis dalam Phyton.

Mudah untuk dicatat, semua teknologi yang terdaftar oleh kami dalam satu derajat atau analog lain dari CGI / FastCGI, tetapi untuk aplikasi tertentu. Data yang kami berikan akan cukup untuk pemahaman umum tentang prinsip dan mekanisme pekerjaan mereka, dan studi mereka yang lebih dalam masuk akal hanya dengan pekerjaan serius dengan teknologi dan bahasa yang ditentukan.

Server Aplikasi sebagai Modul Apache

Jika sebelumnya kami berbicara tentang server web abstrak tertentu, sekarang kita berbicara tentang solusi tertentu dan intinya di sini bukan dalam preferensi kita. Di antara server web, Apache menempati tempat khusus, dalam banyak kasus, ketika mereka berbicara tentang server web pada platform Linux, dan tentang server web sama sekali, maka itu akan diterapkan pada Apache.

Kita dapat mengatakan bahwa ini adalah semacam server web default. Ambil hosting massal apa pun - akan ada Apache, ambil aplikasi web apa pun - pengaturan default dilakukan di bawah Apache.

Ya, dari sudut pandang teknologi, Apache bukan mahkota teknologi, tetapi dialah yang mewakili emas tengah, sederhana, jelas, fleksibel dalam pengaturan, universal. Jika Anda membuat langkah pertama di gedung situs - maka Apache adalah pilihan Anda.

Di sini kita dapat mencela bahwa Apache telah lama tidak relevan, semua "anak laki-laki nyata" telah mengatur nginx, dll. dll., Jadi, Anda akan menjelaskan momen ini secara lebih rinci. Semua CMS populer dikonfigurasi untuk digunakan dengan Apache, memungkinkan Anda untuk memfokuskan semua perhatian untuk bekerja dengan aplikasi web, menghilangkan sumber masalah server web yang mungkin.

Semua forum populer juga tersirat sebagai server web Apache dan sebagian besar tips dan rekomendasi akan berkaitan dengannya. Pada saat yang sama, server web alternatif biasanya memerlukan pengaturan yang lebih tipis dan menyeluruh, baik dari sisi server web dan dari aplikasi web. Pada saat yang sama, pengguna produk ini biasanya jauh lebih berpengalaman dan orang baru yang khas di lingkungan mereka tidak dibahas. Akibatnya, situasi dapat terbentuk ketika tidak ada yang berhasil dan bertanya kepada siapa pun. Dengan Apache, ini dijamin tidak terjadi.

Sebenarnya, apa yang dilakukan pengembang Apache ini, yang memungkinkan gagasan mereka untuk mengambil tempat khusus? Jawabannya cukup sederhana: mereka pergi dengan caranya sendiri. Sementara CGI menawarkan abstrak dari solusi spesifik, berfokus pada gateway universal, Apache diterima secara berbeda - server web dan server aplikasi paling terintegrasi mungkin.

Memang, jika Anda menjalankan server aplikasi sebagai modul server web di ruang alamat keseluruhan, maka kami akan mendapatkan skema yang jauh lebih sederhana:

Web-Server-Structure-008.pngKeuntungan apa yang diberikannya? Skema yang lebih sederhana dan lebih sedikit elemen di dalamnya, semakin mudah lebih murah untuk menemaninya dan memeliharanya, semakin kecil titik kegagalan di dalamnya. Jika mungkin tidak begitu penting untuk satu server, maka dalam hosting, ini adalah faktor yang sangat signifikan.

Keuntungan kedua adalah kinerja. Sekali lagi, penggemar nginx lagi, berkat kerja di ruang alamat tunggal, kinerja server aplikasi Apache + MOD_PHP akan selalu 10-20% lebih cepat daripada server web lainnya + FastCGI (atau solusi CGI lainnya). Tetapi harus juga diingat bahwa kecepatan situs tersebut tidak hanya karena kinerja server aplikasi, tetapi juga sejumlah kondisi lain di mana server web alternatif dapat menunjukkan hasil yang lebih baik secara signifikan.

Tetapi ada satu lagi, keuntungan yang cukup serius, ini adalah kemampuan untuk mengkonfigurasi server aplikasi di tingkat situs atau pengguna yang terpisah. Mari kita kembali sedikit punggung: dalam skema FastCGI / CGI, server aplikasi adalah layanan terpisah, dengan pengaturannya sendiri, yang bahkan dapat bekerja pada pengguna lain atau pada host lain. Dari sudut pandang administrator server tunggal atau beberapa proyek besar, itu bagus, tetapi untuk pengguna dan administrator hosting tidak terlalu.

Pengembangan Internet menyebabkan fakta bahwa jumlah aplikasi web yang mungkin (CMS, Script, Frameworks, dll.) Menjadi sangat besar, dan ambang entri rendah menarik sejumlah besar orang tanpa pengetahuan teknis khusus. Pada saat yang sama, aplikasi web yang berbeda dapat memerlukan pengaturan server aplikasi yang berbeda. Bagaimana menjadi? Setiap kali untuk menghubungi dukungan?

Keputusan itu cukup sederhana. Karena server aplikasi sekarang menjadi bagian dari server web, Anda dapat menginstruksikan yang terakhir untuk mengelola pengaturannya. Secara tradisional, file httaccess digunakan untuk mengelola pengaturan Apache selain file konfigurasi, yang memungkinkan pengguna untuk menulis arahan mereka di sana dan menerapkannya ke direktori tempat file ini berada dan di bawah jika pengaturannya tidak tumpang tindih dengan file httaccess. Dalam mode MOD_PHP, file-file ini juga memungkinkan Anda untuk mengubah banyak opsi PHP untuk situs atau direktori terpisah.

Untuk melakukan perubahan, Anda tidak perlu me-restart server web dan, jika terjadi kesalahan, hanya situs ini akan berhenti bekerja (atau sebagian). Selain itu, buat perubahan pada file teks sederhana dan letakkan di folder di situs untuk pengguna yang bahkan tidak siap dan dengan aman untuk server secara keseluruhan.

Kombinasi dari semua keunggulan ini dan memberikan Apache yang sangat luas dan status server web universal. Keputusan lain dapat lebih cepat, lebih ekonomis, lebih baik, tetapi mereka selalu memerlukan pengaturan untuk suatu tugas, oleh karena itu berlaku terutama dalam proyek target, Apache sepenuhnya didominasi di segmen massa.

Berbicara tentang manfaat, kita beralih ke kerugian. Beberapa dari mereka hanyalah sisi berlawanan dari medali. Fakta bahwa server aplikasi adalah bagian dari server web memberikan keunggulan dalam kinerja dan kemudahan konfigurasi, tetapi pada saat yang sama membatasi kami karena dari sudut pandang keamanan - server aplikasi selalu berjalan atas nama server web dan masuk Fleksibilitas sistem, kami tidak dapat membedah server web dan server aplikasi ke host yang berbeda, kami tidak dapat menggunakan server dengan berbagai versi bahasa scripting atau pengaturan yang berbeda.

Minus kedua adalah konsumsi sumber daya yang lebih tinggi. Dalam skema CGI, server aplikasi menghasilkan halaman dan memberikan server web, membebaskan sumber daya, bundel Apache + MOD_PHP membuat sumber daya server aplikasi ditempati sampai server web mengembalikan konten halaman klien. Jika klien lambat, sumber daya akan ditempati untuk semua waktu layanannya. Itulah sebabnya sebelum Apache sering menempatkan Nginx, yang memainkan peran klien cepat, ini memungkinkan Apache dengan cepat memberikan halaman dan membebaskan sumber daya dengan menggeser interaksi dengan nginx yang lebih ekonomis.

Kesimpulan

Dalam satu artikel, seluruh spektrum teknologi modern tidak mungkin, jadi kami hanya fokus pada yang utama, beberapa hal dengan sengaja berangkat untuk adegan itu, serta menggunakan penyederhanaan substansial. Tidak diragukan lagi, mulai bekerja di daerah ini Anda akan memerlukan studi yang lebih dalam tentang topik, tetapi untuk memahami pengetahuan baru, sebuah yayasan teoretis tertentu diperlukan, yang kami coba meletakkan bahan ini.

Добавить комментарий