HTTP Web Protocol

hacofic

Üye
28 Ara 2022
101
41
tht.png


HTTP
Selam TürkHackTeam üyeleri bu içerikte sizlere web protokollerinden olan http’yi anlatacağım.

Hypertext Transfer Protocol, kısaca HTTP, internet iletişiminin temel taşıyıcısı olarak kabul edilen bir iletişim protokolüdür. Bu protokol, istemci-sunucu tabanlı bir yapıya sahip olup, web tarayıcıları ile web sunucuları arasında veri alışverişini düzenler. Web'in özünü oluşturan ve kullanıcıların çevrimiçi içeriğe erişimini sağlayan HTTP, günümüzde bilgi toplumunun omurgasını teşkil etmektedir.

HTTP'nin temel amacı, kullanıcıların istemci cihazlarından web sunucularına çeşitli taleplerde bulunmasını sağlamak ve bu taleplere uygun yanıtların dönüşünü gerçekleştirmektir. İstekler ve yanıtlar genellikle HTML dosyaları, görseller, videolar ve diğer medya içeriklerini içerir. Bu protokol, internet üzerinden büyük ölçekte bilgi transferini sorunsuz bir biçimde yürütmek amacıyla tasarlanmıştır.
HTTP'nin tarihsel kökenleri, 20. yüzyılın sonlarına dayanmaktadır. Tim Berners-Lee tarafından 1989 yılında geliştirilen ilk prototip, 1991'de "HTTP (Hypertext Transfer Protocol) Overview" adlı belge ile resmi olarak tanıtıldı. Bu belge, temel HTTP özelliklerini ve işleyişini ayrıntılı bir şekilde anlatarak, webin temel taşıyıcısı olacak bu protokolün temellerini atmıştır.
HTTP'nin ilk sürümleri, genellikle metin tabanlı ve basit bir yapıya sahipti. Ancak zaman içinde internet trafiğinin artması ve içerik çeşitliliğinin artışıyla birlikte HTTP'nin sürümleri de evrim geçirdi. HTTP/1.0, HTTP/1.1 ve daha sonrasında HTTP/2 gibi sürümler, performansı artırmak, daha iyi paralel işleme imkanı sağlamak ve daha etkili veri sıkıştırma yöntemleri sunmak amacıyla geliştirildi.

Bu bağlamda, HTTP sadece teknik bir protokol olmanın ötesinde, günümüzün dijital dönüşüm sürecindeki merkezi bir rolü ifade etmektedir. Berners-Lee'nin vizyonu sayesinde doğan bu protokol, çağımızın bilgi erişimini dönüştürmüş ve küresel bir iletişim altyapısının temelini atmıştır.
HTTPS HTTP’nin güvenli olan bir sürümüdür.HTTPS verileri server ve client arasında şifreler.Bu şifreleme:

1)Gönderdiğiniz veya aldığınız verilerin 3.taraflarca görünürlüğünü engeller.
2)Konuştuğunuz server’ın gerçek olup olmadığı hakkında sizi güvence altına alır.


n7qgj3l.jpg

Buradan sertifika sahibinin imazasını da görebilirsiniz

Güvenli iletişimi sağlayan bir parçası da SSL/TLS (Secure Sockets Layer/Transport Layer Security) sertifikalarıdır. Bu sertifikalar, bir web sitesinin kimliğini doğrulamak ve iletişimi şifrelemek için kullanılır.
SHA-256 parmak izi, sertifika sahibinin kamuya açık anahtarı ile birlikte sunulur. Bu parmak izi, sertifikanın bütünlüğünü ve sahipliğini doğrulamak için kullanıcı tarafından kontrol edilir. Sertifika, bir otorite tarafından imzalandığından ve parmak izi doğru şekilde eşleştiğinde, kullanıcılar sertifikanın güvenilir olduğuna dair güvence sahibi olabilirler.
Bir sertifika sahibinin kamuya açık anahtarı, bu anahtarın kimlik doğrulama işlemlerinde kullanılması için istemcilere (örneğin web tarayıcılarına) sunulur. Ancak anahtarın bütünlüğü ve güvenilirliği de önemlidir. İşte bu noktada SHA-256 parmak izi devreye girer. Sertifikanın parmak izi, kamuya açık anahtarın bütünlüğünü sağlamak ve sertifikanın herhangi bir şekilde değiştirilmediğine dair güvence sağlamak amacıyla kullanılır. Kısacası, bu parmak izi, kullanıcıların sertifikanın gerçekliğini ve güvenilirliğini kontrol etmelerine yardımcı olur.
Bir web sitesini ziyaret ettiğinizde, tarayıcı sertifika verilerini çeker ve içindeki SHA-256 parmak izini kullanarak sertifikanın bütünlüğünü doğrular. Eğer parmak izi eşleşmezse veya sertifika geçerli değilse, tarayıcı uyarı verir ve kullanıcıyı potansiyel bir güvenlik riski konusunda bilgilendirir


cmaopqe.jpg

URL nedir?
Url internettte bulunan bir içeriğe erişmek için kullandığımız talimat dizesidir.
nxnzoov.jpg

1)Protocol: HTTP, HTTPS, FTP (Dosya Aktarım Protokolü) gibi kaynağa erişmek için hangi protokolün kullanılacağını bildirir .
2)User: Bazı web hizmetleri kaynağa erişmek için kimlik doğrulaması bekler bu kısma username ve apssword girebilirsiniz
3)Domain: Erişmek istediğiniz sunucunun alan adı
4)Connection port: Bu kısım bağlanacağınız bağlantı noktasının port numarasısr http 80 ve https 443 portunu(genellikle) kullanır.Ama buraya 1 - 65535 arasındaki herhangi birdeğer girilebilir.
5)Path: Erişmek istediğiniz kaynağın dosya adının ve yolunun belirtildiği kısım
6)Parameter: Bu kısım sunucu tarafından url’in açılması için gerek duyduğu parametrelerdir.
7)Fragment: Bu, istenen gerçek sayfadaki bir konuma yapılan bir referanstır. Bu, genellikle uzun içeriğe sahip sayfalar için kullanılır ve sayfanın belirli bir bölümü doğrudan ona bağlı olabilir, bu nedenle kullanıcı sayfaya erişir erişmez tarafınca görüntülenebilir.


HTTP İSTEK-YANIT



İSTEK


Bir siteye istek yapmak “GET /HTTP/1.1” satırıyla bile mümkündür.Ama biz şimdi biraz daha zengin içeriklere bakaılm.

m7xqw57.jpg




Satır NO:

1)GET isteği gönderiyor ve / ile anasayfaya gitmek istiyor HTTP 1.1 protokolünü kullanıyor.

2) Gitmek istediğimiz site itsecgames.blogspot.com

3)Web sürüm numası

4-5-6)Buradaki kabul edilen formatlar istemcinin sunucudan veri gelirken kabul edebileceği format türleridir.

7)Bizi buna yönlendiren web sayfası

8) "DNT: 1" ifadesi, HTTP başlıklarından "Do Not Track" (DNT) başlığının bir parçasıdır. Bu ifade, kullanıcının tarayıcısında veya istemcisinde "Do Not Track" özelliğinin etkinleştirildiğini belirtir. Kısacası, kullanıcı çevrimiçi etkinliklerinin takip edilmesini istemediğini ifade eder.

9)Bir HTTP isteği gönderildiğinde, sunucu genellikle isteği işler ve yanıtı istemciye geri gönderir. Ancak bağlantı açık bırakıldığı sürece, sunucu gelecekteki isteklere yanıt vermek için bağlantıyı açık tutabilir. Bu durumda, istemci ve sunucu arasındaki bağlantı hala aktif kalır ve daha fazla veri alışverişi yapılabilir.

"Connection: close" başlığı, sunucunun isteğe yanıt olarak bağlantıyı kapatmasını ifade eder. Yani, sunucu istemcinin sonraki isteklerine cevap vermek yerine, bağlantıyı keserek istemcinin sunucu ile iletişimini sonlandırır. Bu, özellikle sunucunun tek bir isteğe yanıt verip sonra bağlantıyı kapatmak istediği durumlar için kullanılır.

10)"Upgrade-Insecure-Requests: 1," bir HTTP başlığıdır ve tarayıcıların protokolü HTTPS’e yükseltmesi için istek yapmasını belirtir.

11)Eğer bir istemci daha önce bir kaynağı (örneğin bir web sayfasını veya bir dosyayı) indirmişse ve daha sonra aynı kaynağı tekrar indirmek istiyorsa, "If-Modified-Since" başlığını kullanarak sunucuya sorma şansı bulur. Eğer kaynak sunucuda son istemcinin indirdiği tarihten sonraki bir tarihte güncellendiyse, sunucu tam içeriği gönderir. Ancak kaynak o tarihten bu yana değişmediyse, sunucu sadece "304 Not Modified" yanıtını gönderir ve istemci mevcut yerel kopyasını kullanır.

12)Erişim istenen dosyanın kontrolü bu başlığı kullanarak sunucuya sorulur. Eğer sunucunun kaynağın ETag değeri bu değere eşitse, bu, kaynağın değişmediği anlamına gelir.



YANIT



t9u24e7.jpg

Satır NO:


1)"HTTP/1.1 304 Not Modified" yanıtı, bir sunucunun bir istemcinin (örneğin bir tarayıcının) bir kaynağın güncel sürümünü istediğinde, ancak kaynak sunucuda değişmemişse gönderdiği bir HTTP durum kodudur.

2) Tarayıcıların veya ara bellekleme sistemlerinin bu kaynağı ne kadar süre boyunca saklayabileceğini belirler.

3)Sunucu veriyi ne zaman oluşturdu

4)Bu başlık, sunucunun yanıtın önbellekte 0 saniye saklanabileceğini ve bu durumun private olduğunu söyler.

5)"ETag," bir HTTP başlığıdır ve bir kaynağın içeriğini benzersiz bir kimlikle temsil etmek için kullanılır. ETag, sunucunun bir kaynağın içeriğindeki değişiklikleri izlemesine ve bu kaynağın güncel olup olmadığını belirlemesine yardımcı olur.

6) sunucunun kullandığı web sunucu yazılımını belirtir.

7)Geleekteki veriler için bağlantıyı kapatma niyetini ifade eder.




HTTP METOTLARI



GET Request

Bu, bir web sunucusundan bilgi almak için kullanılır.




POST Request

Bu, web sunucusuna veri göndermek ve potansiyel olarak yeni kayıtlar oluşturmak için kullanılır.




PUT Request

Bu, bilgileri güncellemek için bir web sunucusuna veri göndermek için kullanılır.




DELETE Request

Bu, bir web sunucusundan bilgi/kayıt silmek için kullanılır.






HTTP DURUM KODLARI

szqhrvv.jpg


HTTP (Hypertext Transfer Protocol), internet üzerinde veri iletişimini sağlayan bir protokoldür. HTTP ile iletişim halinde olan istemci (genellikle bir tarayıcı) ve sunucu, belirli durumlar ve yanıtlar için standartlaşmış durum kodları kullanır. Bu durum kodları, iletişimin nasıl ilerleyeceğini, işlemin başarılı olup olmadığını veya hangi tür hataların meydana geldiğini belirtir.
Örneğin, "200 OK" durum kodu, sunucunun istemcinin isteğini başarılı bir şekilde işlediğini ve yanıt olarak beklenen içeriği gönderdiğini ifade eder. "404 Not Found" durum kodu ise sunucunun istemcinin istediği kaynağı bulamadığını ifade eder. Benzer şekilde, "500 Internal Server Error" durum kodu, sunucunun beklenmeyen bir hata nedeniyle isteği işleyemediğini belirtir.
Bu durum kodları, hem istemcilerin hem de sunucuların iletişim sürecini anlamalarına yardımcı olur. Yanıtların anlamını belirlemek ve gerektiğinde müdahale etmek için önemlidirler. HTTP durum kodları, standart bir dil ve referans kullanarak, internet üzerinde güvenilir ve tutarlı bir iletişim sağlamak amacıyla oluşturulmuştur.İşte tüm durum kodları:

HTTP durum kodları - Vikipedi

Cookie
18auknd.jpg

Web siteleri, kullanıcı deneyimini iyileştirmek, oturumları yönetmek ve kişiselleştirilmiş içerik sunmak için çerez adı verilen küçük metin dosyalarını kullanır. Çerezler, kullanıcıların tarayıcılarına kaydedilir ve web sitesinin sunucusu ile tarayıcı arasında bilgi alışverişi yapılmasına olanak tanır. Örneğin, bir kullanıcı bir web sitesine giriş yaptığında, sunucu tarafından oluşturulan bir çerez “Set-Cookie” başlığıyla tarayıcıya yerleştirilir. Bu çerez, kullanıcının oturumunun geçerli olduğunu doğrular ve sonraki isteklerde sunucuya kullanıcıya özgü bilgilerin gönderilmesine yardımcı olur.Şimdi kısaca aşamalara bakalım:

1)Client sunucuya gider

2)Sunucu şifre soran bir sayfa gönderir
//
HTTP/1.1 200 OK
Server: nainx/1.15.8
Date: Wed, 14 Apr 2022 09:08:19 GMT
Content-Type: text/html; charset=UTF-8
HTML DATA…
\\

3)Client formu doldurur ve gönderir
//
POST/HTTP1.1
Host: cookies.tht
User-Agent: “null”
Content-Type: application/x-wwwform-urlencoded
Content-Length: 9
password=turkhackteam
\\

4)Server client’a kayıt etmesi için bir çerez gönderir
//
HTTP/1.1 200 OK
Server: nginx/1.15.8
Date: Wed, 14 Apr 2022 09:08:19 GMT
Set-Cookie: password=turkhackteam
Content-Type: text/html; charset=UTF-8
HTML DATA…
\\

5)Client bundan sonraki isteklerde bu cookie ile giriş yapar
//
GET/HTTP/1.1
Host: cookies.tht
User-Agent: “null”
Cookie: password=turkhackteam
\\

Yazımı okumaya değer bulduğunuz için teşekkür ederim, umarım böyle temel bir protokolü herkese anlatabilmişimdir.

 

'Halaskâr

Kıdemli Moderatör
4 Ara 2020
1,184
1,078
Midgard
Eline emeğine sağlık 'Hacofic.. Seninle yeteri kadar ilgilenemediğimin farkındayım.. bunu yaz dönemi rehavet sürecine veririsen sevinirim.. aslında herşeyi bir fırtına hızıyla yaşıyoruz, fırtına geçince bir de bakıyoruz ki dünya içinde başka dünyalar varmış.. demek istediğim, kısaca, eğitimde, işte ve çoğu yerde gereğinden fazla acele ediyoruz.. bu acele içinde birçok olumlu şeyi pas geçiyoruz.. sevgi gibi, arkadaşlık gibi, hatta ve hatta gerçek gibi.. bunun için hep araştırma, bilmeye çalışma, sevmek gerekli.. 🙏 🙏
konuna gelince, daha fazla görsel ve video koymanı istiyorum.. böylece konuların hem daha çok ilgi çekecek, hem de daha fazla okunacaktır..Ana başlık
26 punto koyu verdana kırmızı renk olsun.. başlıkların 22 punto, koyu (bold "B") olsun, seçtiğin portakal rengi iyi bir renk başlık için.. ayrıca metin rengini baştan seçip, bütün metni, senin seçebileceğin renkte yapabilirsin.. sadece göz yoran renk olmasın.. ayrıca görsellere flu şekilde THT ve Moderasyon Logoları koymanı istiyorum.. Bunun için bana yazabilirsin..
içerik olarak oldukça iyi ve başarılı yazılmış bir metin.. yabancı dillerden de metin dönüştürerek yazabilirsin..
Hayırlı haftalar diliyorum.
Kendine iyi bak!!
 

hacofic

Üye
28 Ara 2022
101
41
Eline emeğine sağlık 'Hacofic.. Seninle yeteri kadar ilgilenemediğimin farkındayım.. bunu yaz dönemi rehavet sürecine veririsen sevinirim.. aslında herşeyi bir fırtına hızıyla yaşıyoruz, fırtına geçince bir de bakıyoruz ki dünya içinde başka dünyalar varmış.. demek istediğim, kısaca, eğitimde, işte ve çoğu yerde gereğinden fazla acele ediyoruz.. bu acele içinde birçok olumlu şeyi pas geçiyoruz.. sevgi gibi, arkadaşlık gibi, hatta ve hatta gerçek gibi.. bunun için hep araştırma, bilmeye çalışma, sevmek gerekli.. 🙏 🙏
konuna gelince, daha fazla görsel ve video koymanı istiyorum.. böylece konuların hem daha çok ilgi çekecek, hem de daha fazla okunacaktır..Ana başlık
26 punto koyu verdana kırmızı renk olsun.. başlıkların 22 punto, koyu (bold "B") olsun, seçtiğin portakal rengi iyi bir renk başlık için.. ayrıca metin rengini baştan seçip, bütün metni, senin seçebileceğin renkte yapabilirsin.. sadece göz yoran renk olmasın.. ayrıca görsellere flu şekilde THT ve Moderasyon Logoları koymanı istiyorum.. Bunun için bana yazabilirsin..
içerik olarak oldukça iyi ve başarılı yazılmış bir metin.. yabancı dillerden de metin dönüştürerek yazabilirsin..
Hayırlı haftalar diliyorum.
Kendine iyi bak!!
Tamamdır hocam önerileriniz için teşekkür ederim
 

ByZehirx

Yaşayan Forum Efsanesi
10 Şub 2012
12,378
1,989
Dinlenmede.
Benimde bu konu hakkında bilgilendirme kod ve yapısal fonksiyonları içeren Android Uygulaması projesi pratik ve teorik olarak işlemiştik




Bu konuyuda inceleyebilirsiniz
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.