PHP si MySql (Programator Web 2)

DOCUMENTATIE CURS

Despre HTTP. Informatii externe programului PHP

Definitie
http este protocolul de comunicare intre un client web si un server web. Comunicatia http incepe de la client. Clientul initiaza o cerere http catre un anumit server. Serverul proceseaza cererea respectiva, si trimite un raspuns inapoi clientului, numit raspuns http.

Serverul web nu poate trimite raspunsuri catre clientul web, decat ca urmare a unor cereri.

O cerere HTTP catre serverul web contine:
  • resursa soliticata de catre client; Aceasta resursa este o cale catre un fisier, cale relativa la document root. Ex: /cursuri/index.php
  • tipul de cerere. In general tipul este GET sau POST
  • headere http - informatii standard transmise prin protocolul http. Prin aceste headere se transmit informatii despre clientul web sau alte informatii specifice cererii http. Exemple de headere http:
    Host: www.example.com
    User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20051111 Firefox/1.5 - acest header comunica serverului informatii despre versiunea de browser (client web) si implicit despre sistemul de operare al calculatorului client
  • informatii introduse de utilizator - prin intermediul formularelor html sau direct prin intermediul unui url (vezi capitolul despre GET)

Mai departe, serverul web, trimite catre interpretorul PHP informatiile primite de la clientul web, precum si alte informatii. Astfel, intr-un program in PHP se pot accesa aceste informatii din variabile superglobale, predefinite, de tip array:
  • $_SERVER - array cu informatii extrase din headerele http (despre clientul web si despre cererea http curenta), si informatii legate de serverul web sau de sistemul de operare
  • $_GET - array cu informatii provenite de la utilizator prin intermediul unei cereri de tip GET
  • $_POST - array cu informatii provenite de la utilizator prin intermediul unei cereri de tip POST
  • $_COOKIE - array cu informatii stocate pe calculatorul client si trimise inapoi serverului intr-un raspuns http
  • $_FILE - array cu informatii legate de upload-ul de fisiere
  • $_REQUEST este un array ce contine informatiile cumulate din $_GET, $_POST si $_COOKIE. Aceste 3 tablouri au in comun faptul ca informatia continuta in ele vine de la utilizator, prin urmare este nesigura.
Nota
Serverul web si interpretorul PHP sunt aplicatii instalate pe acelasi calculator.

Nota
Continutul oricarui array, deci si celor superglobale, poate fi vazut oricand cu functia print_r(); Ex: print_r($_SERVER). Informatiile afisate cu print_r() se vand mai clar in sursa browserului, pentru ca acolo are efect caracterul newline generat de print_r().
© 2006-2012 Crystal Mind Academy. All rights reserved