HTTP protokolü ile TCP protokolü arasındaki fark nedir?


cevap 1:

Kısa yanıt: TCP, bir aktarım katmanı protokolüdür ve HTTP, TCP üzerinden çalışan bir uygulama katmanı protokolüdür. Uzun cevap için okumaya devam edin.

Farkı (ve diğer birçok ağ konusunu) anlamak için, katmanlı bir ağ modeli fikrini anlamanız gerekir. Esasen, bir bilgisayarın farklı mesafelerde ve farklı soyutlama katmanlarında konuşmasına izin veren farklı protokoller vardır.

Ağ yığınının en altında fiziksel katman bulunur. Burası elektrik sinyallerinin, ışık darbelerinin veya radyo dalgalarının gerçekte bilgiyi bir yerden bir yere ilettiği yerdir. Fiziksel katman gerçekten protokollere sahip değildir, bunun yerine voltajlar, frekanslar ve diğer fiziksel özellikler için standartlara sahiptir. Bilgileri doğrudan bu şekilde iletebilirsiniz, ancak çok fazla güce veya özel bir hatta ihtiyacınız vardır ve daha yüksek katmanlar olmadan bant genişliğini paylaşamazsınız.

Bir sonraki katman bağlantı katmanıdır. Bu katman, fiziksel bir iletişim ortamını paylaşan cihazlarla iletişimi kapsar. Burada, Ethernet, 802.11a / b / g / n ve Token Ring gibi protokoller, fiziksel ortama birden fazla eşzamanlı erişimin nasıl ele alınacağını ve trafiğin başka bir cihaz yerine bir cihaza nasıl yönlendirileceğini belirler. Tipik bir ev ağında, bilgisayarınız evinizdeki "yönlendirici" ile böyle konuşur.

Üçüncü katman ağ katmanıdır. Çoğu durumda, buna İnternet Protokolü (IP) hakimdir. Burası İnternet'in büyüsünün gerçekleştiği yerdir ve nerede olduğunu bilmenize gerek kalmadan dünyanın dört bir yanındaki bir bilgisayarla konuşabilirsiniz. Yönlendiriciler, trafiğinizi yerel ağınızdan diğer bilgisayarın yaşadığı ağa yönlendirir ve kendi bağlantı katmanı paketleri doğru bilgisayara götürür.

Şimdi bir yerlere varıyoruz. Dünyanın herhangi bir yerindeki bir bilgisayarla konuşabiliriz, ancak o bilgisayar birçok farklı program çalıştırıyor. Hangisine mesajınızı ileteceğinizi nasıl bilmesi gerekir? Taşıma katmanı genellikle port numaralarıyla ilgilenir. En popüler iki taşıma katmanı protokolü TCP ve UDP'dir. TCP, paketleri yeniden sıralamak, kayıp paketleri yeniden iletmek, vb. Gibi ağ katmanı paket anahtarlamalı iletişimin kaba noktalarını düzeltmek için çok ilginç şeyler yapar. UDP daha güvenilir değildir, ancak daha az ek yüke sahiptir.

Bu yüzden tarayıcınızı diğer uçtaki web sunucusu yazılımına bağladık, ancak sunucu hangi sayfayı istediğinizi nasıl biliyor? Nasıl soru veya cevap gönderebilirsiniz? Bunlar uygulama katmanı protokollerinin ele aldığı şeylerdir. Web trafiği için bu, Köprü Metni Aktarım Protokolü'dür (HTTP). Binlerce uygulama katmanı protokolü vardır: e-posta için SMTP, IMAP ve POP3; Sohbet için XMPP, IRC, ICQ; Uzaktan yönetim için Telnet, SSH, RDP; vb.

Bunlar TCP / IP ağ modelinin beş katmanıdır, ancak gerçekten sadece kavramsaldırlar. OSI modelinde 7 katman vardır. Gerçekte, bazı protokoller çeşitli katmanlar arasında uzanır veya aynı anda birden fazla katmanda çalışabilir. TLS / SSL, örneğin ağ ve aktarım katmanları arasında şifreleme ve oturum bilgileri sağlar. Uygulama katmanının üstünde, Uygulama Programlama Arabirimleri (API'ler) Quora, Twitter ve Facebook gibi web uygulamalarıyla iletişimi yönetir.


cevap 2:

İkisi arasındaki en temel fark, TCP ve HTTP'nin farklı katmanlarda çalışması, yani bağımsız (ve kökten farklı) görevlerin gerçekleştirilmesidir. Uygulamanızda her iki protokole de sahip olabilirsiniz, ikisinden birine sahip olabilirsiniz veya hiç birine sahip olamazsınız.

Daha düşük seviyeleri bırakarak, ünlü IPv4 protokolüne ev sahipliği yapan ağ seviyesiyle başlayalım. Temel amacı, veri paketlerini kaynaktan hedefe yönlendirmektir. Hangi verileri taşıdığı ve hedefe ulaşıp ulaşmadığı önemli değildir. En iyi çabayı gösterecek ve hepsi bu.

Şimdi TCP protokolünün yerleşimi olan aktarım katmanına girin. Rota ayarlandıktan sonra, TCP protokolüne verileri güvenilir bir şekilde aktarma sorumluluğu verilir. Bu nedenle, paketin alınıp alınmadığını kontrol etme mekanizması (alındı ​​alanı şeklinde), paketleri geçiş sırasında sıra dışı hale geldiyse sırayla koymak ve çok daha fazlası. Ayrıca ilettiği verileri de umursamıyor. UDP bu düzeyde yaygın olarak kullanılan başka bir protokoldür, ancak bu farklı bir hikaye.

Ve son ilgilenilen katman uygulama katmanıdır. Uygulamaya en yakın olan katmandır ve HTTP kullanılan çeşitli protokollerden sadece biridir. Yaygın olarak popüler olmasının nedeni, web tarayıcıları tarafından web sunucusuyla iletişim kurmak ve gördüğünüz web sayfalarını almak için kullanılmasıdır. HTTP'nin tarayıcılar tarafından kullanıldığı gibi, SMTP ve IMAP de e-posta istemcileri tarafından kullanılır. Bağlantının kurulmasında hiçbir rolü yoktur, sadece uygulamaya özeldir. Web sunucusuna (courtsey IPv4) giden yolu nasıl bulacağınızı bildiğinizi ve bir bağlantı kurduğunuzu ve verileri güvenilir bir şekilde aktarabileceğinizi (courtsey TCP) varsayar. Yalnızca değiştirdiğiniz verilerle ilgilenir; URL'si nedir, türü nedir, nerede bulunur.


cevap 3:

İkisi arasındaki en temel fark, TCP ve HTTP'nin farklı katmanlarda çalışması, yani bağımsız (ve kökten farklı) görevlerin gerçekleştirilmesidir. Uygulamanızda her iki protokole de sahip olabilirsiniz, ikisinden birine sahip olabilirsiniz veya hiç birine sahip olamazsınız.

Daha düşük seviyeleri bırakarak, ünlü IPv4 protokolüne ev sahipliği yapan ağ seviyesiyle başlayalım. Temel amacı, veri paketlerini kaynaktan hedefe yönlendirmektir. Hangi verileri taşıdığı ve hedefe ulaşıp ulaşmadığı önemli değildir. En iyi çabayı gösterecek ve hepsi bu.

Şimdi TCP protokolünün yerleşimi olan aktarım katmanına girin. Rota ayarlandıktan sonra, TCP protokolüne verileri güvenilir bir şekilde aktarma sorumluluğu verilir. Bu nedenle, paketin alınıp alınmadığını kontrol etme mekanizması (alındı ​​alanı şeklinde), paketleri geçiş sırasında sıra dışı hale geldiyse sırayla koymak ve çok daha fazlası. Ayrıca ilettiği verileri de umursamıyor. UDP bu düzeyde yaygın olarak kullanılan başka bir protokoldür, ancak bu farklı bir hikaye.

Ve son ilgilenilen katman uygulama katmanıdır. Uygulamaya en yakın olan katmandır ve HTTP kullanılan çeşitli protokollerden sadece biridir. Yaygın olarak popüler olmasının nedeni, web tarayıcıları tarafından web sunucusuyla iletişim kurmak ve gördüğünüz web sayfalarını almak için kullanılmasıdır. HTTP'nin tarayıcılar tarafından kullanıldığı gibi, SMTP ve IMAP de e-posta istemcileri tarafından kullanılır. Bağlantının kurulmasında hiçbir rolü yoktur, sadece uygulamaya özeldir. Web sunucusuna (courtsey IPv4) giden yolu nasıl bulacağınızı bildiğinizi ve bir bağlantı kurduğunuzu ve verileri güvenilir bir şekilde aktarabileceğinizi (courtsey TCP) varsayar. Yalnızca değiştirdiğiniz verilerle ilgilenir; URL'si nedir, türü nedir, nerede bulunur.