logo

Apaçi nedir?

Apache, yaklaşık olarak kullanılan web sunucusunun ücretsiz ve açık kaynaklı yazılımıdır. Web sitelerinin %40'ı bütün dünyada. Apache HTTP Sunucusu resmi adıdır. tarafından geliştirilmekte ve bakımı yapılmaktadır. Apache Yazılım Vakfı . Apache, web sitesi sahiplerinin web üzerinden içerik sunmalarına izin verir. ' olarak bilinmesinin nedeni budur. Web sunucusu .' Apache web sunucusunun en güvenilir ve eski versiyonlarından biri 1995 yılında yayınlandı.

Birisi herhangi bir web sitesini ziyaret etmek isterse, tarayıcının adres çubuğuna alan adının adını doldurur. Web sunucusu, sanal dağıtım görevlisi olarak istenen dosyaları getirecektir.

Web Sunucusu Anlamı

Posta sunucuları, veritabanı sunucuları, web sunucuları, Ve dosya sunucuları farklı türde sunucu yazılımı kullanın. Tüm bu uygulamalar, fiziksel sunucuda kayıtlı birçok dosyaya erişebilir ve bunları birçok amaç için uygulayabilir.

Web sunucularının amacı web sitelerini internet üzerinden sunmaktır. Bu amaca ulaşmak için istemci makineler ve sunucular arasında aracı görevi görür. Her kullanıcı isteği üzerine içeriği sunucu üzerinden çekebilir. Ayrıca bu isteği web'e iletir.

Herhangi bir web sunucusunun en kritik görevlerinden biri, webin farklı kullanıcılarına aynı anda hizmet sağlamaktır. Web sunucuları, aşağıdaki gibi farklı türde programlama dillerinde belirtilen dosyaları yürütür: Java , Python , PHP , Ve bircok digerleri. Web sunucuları bu dosyaları statik HTML dosyalarına dönüştürür. Bu dosyalara web sunucusu tarayıcısı içerisinde hizmet sağlar. Web tarayıcısı, düzgün istemci-sunucu iletişiminden sorumlu bir araç olarak tanımlanabilir.

Apache'nin Çalışması

Apache herhangi bir fiziksel sunucu değildir; sunucuda çalışan bir yazılımdır. Ancak biz onu web sunucusu olarak tanımlıyoruz. Amacı, web sitesi ziyaretçisinin tarayıcıları (Safari, Google Chrome, Firefox vb.) ile sunucu arasında bağlantı kurmaktır. Apache çapraz platform yazılımı olarak tanımlanabilir, dolayısıyla Windows sunucuları ve UNIX üzerinde çalışabilir.

Java'da nesne dizisi

Herhangi bir ziyaretçi web sitemize, örneğin ana sayfamıza veya 'Hakkımızda' sayfamıza bir sayfa yüklemek istediğinde, ziyaretçinin tarayıcısı sunucumuza bir istek gönderecektir. Apache, istenen her dosyayla (resimler, dosyalar vb.) birlikte bir yanıt döndürecektir. İstemci ve sunucu HTTP protokolüyle iletişim kurar ve Apache, her iki makine arasındaki güvenli ve sorunsuz iletişimden sorumludur.

gb nedir

Apache son derece gelişmiş bir yazılımdır. özelleştirilebilir . Modül bazlı yapıyı içerir. Çeşitli modüller, sunucu yöneticilerinin ek işlevleri kapatıp açmasına olanak tanır. Apache, önbelleğe alma, güvenlik, parola doğrulama, URL yeniden yazma ve diğer amaçlara yönelik modüller içerir. Ayrıca, olarak bilinen bir dosyanın yardımıyla kendi sunucu yapılandırmamızı da ayarlayabiliriz. .htaccess . Apache'nin desteklenen bir yapılandırma dosyasıdır.

Diğer Web Sunucuları ve Apache

Apache'den farklı pek çok web sunucusu mevcuttur. Web sunucusunun tüm uygulamaları farklı türdeki hedefler için oluşturulmuştur. Apache'nin bazı rakipleri ve alternatifleri bulunmaktadır ve çoğunlukla kullanılan bir yazılımdır.

Apache, NGINX'e karşı

Apache nedir?

Nginx şu şekilde telaffuz edilir: Motor-X . Yeni bir web sunucusu uygulamasıdır ve ilk olarak 2004 yılında yayınlanmıştır. Nginx, web sitesi sahipleri arasında popülerlik kazanmıştır. Kullanıcıların çeşitli isteklerini yönetmek için iş parçacığı kullanan web sunucularının aynı anda 10000'den fazla bağlantıyı idare edememesi anlamına gelen c10k sorununu çözmek için geliştirilmiştir.

  1. Yoğun trafiğe sahip web sitelerinin sahipleri, Apache'nin iş parçacığı tabanlı bir yapı kullanması nedeniyle performans sorunlarıyla karşılaşabilir. Nginx, muhtemelen en şanslı olanlardan biri olan c10k sorununu tanımlıyor.
  2. Nginx olay odaklı mimari içerir. Tüm istekler için daha yeni bir süreç oluşturmaz. Bunun yerine, gelen tüm istekleri tek bir iş parçacığında yönetir. Bu süreç, isteğin fiili işlenmesini uygulayan çeşitli çalışan süreçlerini yönetir. Nginx'in olay tabanlı modeli, kullanıcı isteklerini çalışan teknikleri arasında kolay ve verimli bir şekilde paylaştırarak daha iyi ölçeklenebilirlik sağlar.
  3. Nginx daha iyi bir seçim olabilir çünkü yüksek trafikli web sitelerini minimum kaynak kullanarak yönetebilir. Daha spesifik olarak Airbnb, Pinterest, Hulu ve Netflix gibi görünürlüğü yüksek birçok web sitesi tarafından kullanılabilir.
  4. Ancak Apache, Nginx'e göre birçok avantaj sağlıyor çünkü kolay bir konfigürasyona, başlangıç ​​seviyesi dostu bir ortama ve orta veya küçük oyuncular için çeşitli modüllere sahip.

Apache Tomcat'e Karşı

Apache nedir?

Erkek kedi cab bir web sunucusu olarak tanımlanmakta olup Apache Software Foundation tarafından geliştirilmiştir. Bu nedenle Apache Tomcat resmi adıdır. Tomcat aynı zamanda bir HTTP sunucusudur. Ancak statik web siteleri yerine Java uygulamalarını geliştirir. Bu web sunucusu WebSocket, Java EL gibi birçok farklı Java uygulamasını çalıştırabilir. JSP (JavaServer Sayfaları) ve Java Sunucu Uygulaması .

  1. Özellikle Tomcat Java uygulamaları için yaratılmışken Apache bir HTTP sunucusu olarak yaratılmıştır. Uygun Apache modülünün (mod_perl, mod_python, mod_php, vb.) desteğiyle Apache'yi farklı programlama dilleriyle (Perl, Python, PHP vb.) uygulayabiliriz.
  2. Web sayfalarını (statik) sunmak için Tomcat web sunucusunu uygulayabilsek de, Apache sunucusuyla karşılaştırıldığında bu amaç için daha az etkilidir. Tomcat, çoğu web sitesinde gerek duymayacağımız Java VM'yi ve diğer Java kitaplıklarını önceden yükleyebilir.
  3. Ayrıca Tomcat, diğer web sunucusu türleriyle karşılaştırıldığında daha az yapılandırılabilir. En iyi seçenek, WordPress'i çalıştırmak için NGINX veya Apache gibi bir HTTP sunucusudur.

Apache'nin Artıları ve Eksileri

Apache, web sitemizi çok yönlü ve istikrarlı bir platformda yürütmek için mükemmel bir seçenek olabilir. Ancak anlamamız gereken birkaç dezavantajı da beraberinde getiriyor.

Artıları:

  1. Kararlı ve güvenilir yazılım.
  2. Ekonomik kullanım için bile ücretsiz ve açık kaynak.
  3. Sık sık güncellenen düzenli güvenlik yamaları.
  4. Yeni başlayanlar için uygun, yapılandırması kolay.
  5. Modül bazlı yapısı nedeniyle esnektir.
  6. WordPress siteleriyle kutudan çıktığı gibi çalışır.
  7. Çapraz platform (Windows sunucularında ve Unix'te uygulanır).
  8. Herhangi bir sorun durumunda kolayca ulaşılabilen destek ve büyük topluluk.

Eksileri:

  1. Son derece yoğun trafikli web sitelerinde çeşitli performans sorunları.
  2. Çeşitli yapılandırma seçenekleri güvenlik açıklarına neden olabilir.

Apache'nin sürümleri

Sürüm 1.1

Apache'nin bu sürümü 2000 yılında ASF tarafından yetkilendirildi. Ana değişiklik, lisans 1.0'ın 'reklam maddesi'ndedir. 'Reklam maddesi' türetilmiş ürünün artık reklam malzemelerinin bazı yönlerini (yalnızca belgelerde) içermesine gerek yoktur.

Sürüm 2.0

Apache'nin 2.0 sürümü, Ocak 2004'te ASF tarafından kabul edildi. Belirtilen hedefleri arasında, bazı ASF dışı projelerin uygulanmasını kolaylaştıracak lisans oluşturmak yer alıyordu. GPL tabanlı yazılımla uyumluluğu artırabilir. Lisansın tüm dosyalarda listelenmesi yerine referans olarak eklenmesine olanak tanır. Ayrıca katkılara ilişkin lisansa da açıklık getiriyor. Katkı patentlerini ihlal eden katkılar üzerinde mutlaka patent lisansına ihtiyaç vardır.

Apache'nin Güvenliği

Diğer web sunucuları gibi Apache de istismar edilebilir ve saldırıya uğrayabilir. Apache'nin ana saldırı aracı Slowloris'tir. Slowloris, Apache Yazılımındaki hatalardan yararlanabilir. Birkaç yuva oluşturabilir ve bu yuvaların tümünü canlı tutar ve sunucuya sistemin bağlı olduğunu ve herhangi bir ağ sorunuyla karşı karşıya olmadığını bildirmek için çeşitli baytlar ('canlı tutma başlıkları' adı verilir) gönderir.

Birçok Apache geliştiricisi, verilen hasarı sınırlamak için Slowloris'i çeşitli modüllerle tanımladı. Apache'nin çeşitli modülleri gibi mod_antiloris, mod_noloris, mod_security, mod_evasive, mod_qos, Ve mod_limitipconn her birinin Slowloris'in başarılı saldırı olasılığını azalttığı öne sürüldü. Apache, mod_reqtimeout modülünü Apache 2.2.15'ten bu yana geliştiriciler tarafından desteklenen yönetici çözüm olarak sunuyor.

Apache'nin Gelişimi

Apache HTTP Sunucusu sürümleri

En son sürüm İlk sürüm Sürüm
03-02-2010 (1.2.42) 06-06-1998 1.3
07-10-2013 (2.0.65) 04-06-2002 2.0
07-11-2017 (2.2.34) 01-12-2005 2.2
08-07-2020 (2.4.46) 02-21-2012 2.4

Apache projesi, ticari düzeyde, sağlam, ücretsiz olarak kullanılabilen, zengin özelliklere sahip bir kaynak kodu HTTP Sunucusu uygulaması yapmayı amaçlayan kolektif bir yazılım geliştirme çabasıdır. Proje, her yere yerleştirilmiş gönüllülerden oluşan bir ekip tarafından ortaklaşa yürütülüyor. Herhangi bir sunucuyu ve ilgili belgeleri geliştirmek, iletişim kurmak ve planlamak için Web ve İnternet kullanılarak yapılabilir.

yapıdaki c yapısı

Proje Apache Yazılım Vakfı'nın bir parçasıdır. Birçok kullanıcı projeyle ilgili kodlarını, belgelerini ve fikirlerini paylaştı.
Apache 2.4 sürümü Tandem, NeXT, UX/A, TPF ve BeOS platformları için destek sağlar.