http request dan http response

Hypertext Transfer Protocol (HTTP) adalah sebuah protokol jaringan lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan hipermedia.

HTTP adalah sebuah protokol meminta/menjawab antara klien dan server. Sebuah klien HTTP (seperti web browser atau robot dan lain sebagainya), biasanya memulai permintaan dengan membuat hubungan ke port tertentu di sebuah server Webhosting tertentu (biasanya port 80). Klien yang mengirimkan  permintaan HTTP juga dikenal dengan user agent. Server yang meresponsnya, yang menyimpan sumber daya seperti berkas HTML dan gambar, dikenal juga sebagai origin server. Di antara user agent dan juga origin server, bisa saja ada penghubung, seperti halnya proxy, gateway, dan juga tunnel.

HTTP terbagi menjadi 2 yaitu:
1. HTTP Request
2. HTTP Response

HTTP request
Terdapat 2 metode http request
GET
Meminta representasi sumber tertentu. Permintaan menggunakan GET (dan beberapa metode HTTP lain) “tidak boleh memiliki kepentingan melakukan tindakan selain pengaksesan”. W3C telah menerbitkan prinsip panduan mengenai perbedaan ini dengan menyatakan, “desain aplikasi web harus mematuhi prinsip di atas, serta batasan sejenis.

POST
Mengirimkan data untuk diproses (misalnya dari bentuk HTML) ke sumber teridentifikasi. Data dimasukkan dalam badan permintaan. Ini dapat menghasilkan pembentukan sumber baru atau pemutakhiran sumber yang sudah ada atau keduanya.

Contoh HTTP request:

GET /kategori/desain/blah-blah-blah/ HTTP/1.1
Host: www.namasitus.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: PHPSESSID=vj2r4q43ibr2t5u5djq1q73vt0
Pragma: no-cache
Cache-Control: no-cache

HTTP response
HTTP response itu semua metode yang dbutuhkan untuk menghasilkan semua response yang akan dikirim kembali ke client.

Contoh HTTP response

HTTP/1.1 200 ok
content-type:text/html
<!DOCTYPE->
<html>




</html>

keterangan :
HTTP : bahasa standar request dan respon
200 ok : status kode (sukses)
<!DOCTYPE> ……</HTML> : tag html yang akan tampil di browser

Kode Status HTTP

1xx Informasi
Permintaan didapat, melanjutkan proses. Pada kelas ini, hanya digunakan untuk status saja.

100 Melanjutkan
101 Memilih Protokol
102 Memproses

2xx Sukses
Pada kelas ini, server memberikan status suksesnya diterima, dipahami, disetujui, dan diproses.

200 OK
201 Request Berhasil dibuat
202 Request berhasil diterima
203 Non-Authoritative Information (since HTTP/1.1)
204 Tanpa Konten
205 Reset Content
206 Partial Content
207 Multi-Status (WebDAV; RFC 4918)
208 Already Reported (WebDAV; RFC 5842)
226 IM Used (RFC 3229)

3xx Pengalihan
300 Multiple Choices
301 Dipindah Permanen
302 Ditemukan
303 Lihat Lainnya
304 Not Modified
305 Use Proxy (since HTTP/1.1)
306 Switch Proxy
307 Temporary Redirect (since HTTP/1.1)
308 Permanent Redirect (Experimental RFC; RFC 7238)

5xx Kesalahan Server
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
506 Variant Also Negotiates (RFC 2295)
507 Insufficient Storage (WebDAV; RFC 4918)
508 Loop Detected (WebDAV; RFC 5842)
509 Bandwidth Limit Exceeded (Apache bw/limited extension)
510 Not Extended (RFC 2774)
511 Network Authentication Required (RFC 6585)
520 Origin Error (CloudFlare)
521 Web server is down (CloudFlare)
522 Connection timed out (CloudFlare)
523 Proxy Declined Request (CloudFlare)
524 A timeout occurred (CloudFlare)
598 Network read timeout error (Unknown)
599 Network connect timeout error (Unknown)

SOURCE:
https://id.wikipedia.org/wiki/Protokol_Transfer_Hiperteks
https://id.wikipedia.org/wiki/Daftar_kode_status_HTTP
http://rizkyfitriarf.blogspot.co.id/2015/05/http-request-dan-http-respon.html

Leave a Reply

Your email address will not be published. Required fields are marked *