HTTP Prokolü

HTTP Prokolü hakkında genel bilgi

HTTP ya da hiper metin transfer prokolü, üniversite hocalarının makale paylaşımlarının daha etkin nasıl yapılabilir düşüncesiyle ortaya çıkmıştır.

HTTP protokolü, OSI 7'nci katmanda çalışır. İstemci/sunucu (client/server) modeline göre istek/yanıt (request/response) şeklinde çalışır. HTTP prokolünün detayları RFC (rfc2068, rfc7230,...) dokümanlarında tanımlanmıştır. HTTP protokolünün tarihçesi için https://hpbn.co/brief-history-of-http/ adresindeki sayfaya bakılabilir. Diğer bir başka tarihçe sayfası da medium'dan. Ayrıca HTTP protolü için Mozilla'nın geliştirici sayfası olan https://developer.mozilla.org/en-US/docs/Web/HTTP sayfası da güzel bir referanstır.

HTTP 1.1 protokolünün performans limitleri nedeniyle ayrıca HTTP 2.0 protolü de geliştirilmiştir.

HTTP protokolü metin tabanlı bir protokol olduğundan telnet vb. programlarla rahatlıkla HTTP isteği lkd.org.tr adlı sunucunun 80 no'lu portuna aşağıdaki gibi gönderilebilir:

telnet lkd.org.tr 80
Trying 139.179.179.3...
Connected to lkd.org.tr.
Escape character is '^]'.
GET /makale.txt HTTP/1.1
User-Agent: curl/7.64.0
Accept: */*
[ENTER tuşlayın]

Sunucudan gelen yanıt da aşağıdaki gibi olabilir:

HTTP/1.1 400 Bad Request
Date: Fri, 02 Aug 2019 12:14:33 GMT
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>
Connection closed by foreign host

Yukarda yapılan istekde GET bir metottur. Diğer metotlar:

  • GET

  • POST

  • DELETE

  • UPDATE

  • FETCH

  • PUT

Tarayıcılar daha çok GET ve POST metotlarını kullanırlar.

Şekil-4'de genel olarak bir istek ve yanıtın yapısı ve nasıl geliştiği görülmektedir.

Şekil-4: HTTP üst seviye yapı

Last updated

Was this helpful?