HTTP Upit

Da bi se primjeru dodati, prvo se objasne sve osnove HTTP-a. To je važno da bi se razumela radnja sučelja.

Osnove

Sljedeće točke treba nužno uzeti u obzir:

  • Kod zahtjeva preko HTTP-a, klijent uspostavlja vezu sve dok server ne prekine vezu.
  • Upit se vrši putem TCP-a preko porta 80 (HTTP nešifrirano) i preko porta 443 (HTTPS šifrirano).
  • Ako se koristi port 80 s http:// ili port 443 s https://, port se sakriva.
  • Od HTTP/1.1, sloj veze je takav da se veza neko vrijeme ostavlja otvorena kako bi se izbjegao TCP handshake. Ovo nije vidljivo u monitoru Antcas-a. Međutim, nakon timeouta, klijent, odnosno Antcas server zatvara vezu. Timeout treba biti odgovarajuće visok.
  • Svaki upit je potpuno kompatibilan unatrag. Ne važi da li server podržava HTTP/1.0, HTTP/1.1 ili HTTP/2.
  • Zaglavlje je Case-Insensitive. To znači da velika i mala slova nemaju ulogu. Međutim, neki proizvođači ne obraćaju pažnju na to kako to implementirati.
  • Kodiranje znakova u Antcas Control uvijek je UTF-8. Ako se koriste drugi, moraju se eventualno pretvoriti.
  • Maksimalna dužina URL-a uključujući Query iznosi 2'083 znakova.

Gradnja URL-a izgleda ovako:

http://server.tld/getdata?project=you%26i+project&id=25#anker
Komponenta Značenje
http:// Definira protokol. Antcas Control trenutno podržava http i https.
server.tld Definira domenu (DNS) ili IP adresu ciljnog servera.
getdata To je URI servera. Ovo odgovara ciljnoj stranici, usporedivo s putanjom.
?[...] Znak ? odvajanje URL-a od tako zvanog GET-zahtjeva, iza njega slijede svi podaci oblika također nazvani Query. Query se uvijek kodira kako bi se zamijenili nepodržani znakovi.
#[...] Znak #-definira sidro na stranici. Time se može skočiti na bilo koju točku (skrolati). Ovi podaci nisu poslani serveru. Osim toga, ovaj dio uključujući # ne smije biti kopiran u upit, jer će to inače pozvati drugu ciljnu stranicu na serveru.

Konfiguracija ciljnih servera vrši se odgovarajućim HTTP-gatewayom.

Gradnja Upita

Gradnja upita sastoji se od zaglavlja i tijela. Zaglavlje uvijek prikazuje korištenu metodu, URI i protokol u prvoj liniji.

GET /getdata?project=you%26i+project&id=25 HTTP/1.1
Host: server.tld

Zatim slijedi odgovor servera. Ovaj uključuje status kod upita. Tijelo slijedi zaglavlju s praznom linijom.

HTTP/1.1 200 OK
Server: Apache2
Content-Type: text/html

<html>Hallo Welt</html>

Status Kodi

Status kodi su podijeljeni u grupe. Grupe se definiraju prvom zbrojem. Osim toga, nakon broja dolazi značenje na razumljivom jeziku. Evo nekoliko primjera:

Status Opis
200 OK Zahtjev je bio uspješan.
301 Found Preusmjeravanje na stvarnu stranicu. Budući da Antcas Control slijedi linkove, ovaj odgovor se obično sakriva.
404 Not Found Navedena stranica nije pronađena.
500 Internal Server Error Dogodila se greška servera.

Metode

GET- i POST-metode se najčešće koriste.

Metoda Opis
GET GET-upit je standardni upit. Ovaj ne podržava sadržaj.
POST POST-upit šalje sadržaj serveru. Sadržaj može biti i prazan. Prednost je ovdje što sadržaj nema ograničenje dužine. Kod GET-upita može se prenijeti samo određeni broj podataka.
PUT PUT se koristi od sučelja da bi se informacije razmijenile.
DELETE Zajedno s PUT služi za brisanje podataka.
(druge) Dodatne HTTP-metode također se podržavaju, ali zahtijevaju odgovarajuću konfiguraciju.

Auntentifikacija

Većina auntentifikacija se vrši u zaglavlju. Međutim, postoje i upiti koji su definirani u Query ili Content-u.

Može se dogoditi da se mora stvoriti sesija prije stvarnog upita. Sesija se zatim postavlja kao zaglavlje Set-Cookie. Ovo kolačić mora biti ponovno predan. Sadržaj kolačića je Case-Sensitive, što znači da sadržaj mora biti predan jedan na jedan. Evo pojednostavljenog primjera:

POST /login HTTP/1.1
Host: server.tld

username=myname&password=1234

Odgovor servera:

HTTP/1.1 200 OK
Server: Apache2
Content-Type: text/html
Set-Cookie: SESSION=vmvbquk7dq6dbbcq

Sada se kolačić može ponovno koristiti u sljedećem upitu:

GET /opendoor HTTP/1.1
Host: server.tld
Cookie: SESSION=vmvbquk7dq6dbbcq

Savjeti

U razvojnoj konzoli pretraživača, pod Mrežom može se procijeniti i testirati upit. Ponekad je također korisno kopirati ili vidjeti zaglavlje.

Konfiguracija

U Antcas Control stvara se HTTP-sučelje s gatewayom. Gateway se konfigurira kao HTTP-klijent. Ovamo se odgovarajuće unose ciljna adresa i port (obavezno). Zatim se u strukturi konfigurira upit. Da bi se to postiglo, pod Komunikacijom se URL unosi kao varijabla.

Jednostavan Upit

Da bi se stvorio jednostavan upit, odabire se proizvoljan tip podataka. Ovaj je preferirano niz znakova (string). Ako se na izlazu dogodi promjena vrijednosti, već se vrši upit. Vrijednost se zatim direktno koristi kao Query.

Kompleksan Upit

Kompleksniji upit se stvara putem blok funkcija HTTP_REQUEST. Da bi se to postiglo, tip podataka komunikacije mora biti postavljen na raw. Odgovor se zatim može procijeniti putem blok funkcija HTTP_RESPONSE. ID upita mora nužno biti povezan da bi se odgovor zahtjeva točno dodijelio.

Primjer

U ovom primjeru podaci se šalju serveru pomoću GET-metode i procjenjuje se odgovor. Potpuna URL adresa glasi ovako:

http://server.tld/getdata?project=you%26i+project&id=25

Da bi se podaci preuzeli ili poslani serveru, koristi se sljedeći primjer:

Napomena: Primjer ne pokazuje kako se zahtjev mora pokrenuti. Ovaj se pokreće s pozitivnom ivicom na ulazu SET. Da bi se spriječio neželjeni upit, ulaz DIS treba postaviti na TRUE.

Konfiguracija sučelja se konfigurira ovako: