pitanja2 Flashcards
- Da li servleti poseduju metode za rad sa uploud-ovanim datotekama?
Do v3.0 ne postoji podrska, a od v3.0 postoji sa anotacijom @MultipartConfig iznad serverske klase.
- U kom atributu HTTP zahteva se podešava graničnik polja (boundary) prilikom upload-a (slanja) datoteka?
Prilikom upload-a datoteka koristeći HTTP protokol, graničnik polja (boundary) se podešava u zaglavlju Content-Type zahteva. Graničnik je specifičan string koji se koristi za odvajanje različitih delova tela zahteva, posebno kod multipart/form-data sadržaja.
Atribut: boundary
Zaglavlje: Content-Type: multipart/form-data; boundary=YOUR_BOUNDARY_STRING
- Navesti klasu i metode koje se koriste za kontrolu toka(flow, controll, dispatcher) u MVC modelu2.
RequestDispatcher, metode include i forward.
- Opisati ukratko strukturu HTTP zahteva
Počinje sa metodom (GET, POST, HEAD, PUT, OPTIONS, DELETE), sledi putanja (koja može biti /string ili samo /) i verzija HTTP-a (npr. HTTP/1.1).
Slede dodatni redovi koji sadrže atribute u formatu ime: vrednost. Ovi atributi nose metapodatke o zahtevu kao što su Host, User-Agent, Accept, itd.
Jedan prazan red označava kraj zaglavlja i početak opcionalnog tela zahteva.
Opciono telo zahteva - sadrži podatke koji se šalju serveru. Telo zahteva je prisutno samo kod metoda kao što su POST ili PUT, gde se podaci šalju serveru.
- Opisati ukratko strukturu HTTP odgovora
Počinje sa verzijom HTTP-a, zatim statusni kod, i na kraju tekstualni opis statusnog koda.
Slede dodatni redovi koji sadrže atribute u formatu ime: vrednost. Ovi atributi nose metapodatke o odgovoru kao što su Content-Type, Content-Length, Server, itd.
Jedan prazan red označava kraj zaglavlja i početak tela odgovora.
Telo odgovora - sadrži stvarni sadržaj odgovora, kao što je HTML stranica, JSON podaci, datoteka.
- Opisati format parametara forme kod GET zahteva. Parametri su a i b sa vrednostima 5 i 6
GET /randomPath?a=5&b=5 HTTP/1.1
…
\r\n
-Prvi deo:GET /randomPath je putanja resursa na serveru.
-Query string:
?a=5&b=6 sadrži parametre forme. Počinje znakom upitnika (
?) i uključuje parove ime=vrednost, odvojene znakom ampersand (
&).
- HTTP verzija:
HTTP/1.1 označava verziju HTTP protokola.
- Zaglavlja: Sledi deo sa zaglavljima, kao što je
Host, koji nisu prikazani u ovom primeru.
- Prazan red:
\r\n` označava kraj zaglavlja i početak tela zahteva (koje kod GET zahteva obično nije prisutno).
- Cime su razdvojeni parametri forme u HTTP zahtevu, kod upload-a datoteka?
Parametri forme kod upload-a datoteka su razdvojeni sa boundary. Granicnik polja (boundary) se podesava u atributu Content Type.
- Napisati kod u JavaScript-u koji na HTML stranici ispisuje brojeve od 1 do 100.
for(let a = 1 ; a <= 100 ; a++){
document.write(a);
}
- Primer JSON-a za objekat klse Student koji od atributa ima id, ime i prezime.
{
“id”:15,
“ime”:”pera”,
“prezime”:”peric”
}
- Koja je namena OPTIONS metode HTTP zahteva kod REST-a?
OPTIONS - od web servera se trazi spisak metoda koje podrzava.
Namena OPTIONS metode u HTTP zahtevima kod REST-a je da omogući klijentu da sazna koje metode HTTP protokola su podržane od strane web servera za određeni resurs. Kada klijent pošalje OPTIONS zahtev, server odgovara sa zaglavljem koje sadrži spisak podržanih HTTP metoda (kao što su GET, POST, PUT, DELETE, itd.) za taj resurs.
- Navesti barem dva nacina mapiranja parametara metoda na HTTP zahtev u REST-u.
@GET
@Path(“/users/{id}”)
public Response getUserById(@PathParam(“id”) String id) {
// Logika za dobijanje korisnika prema ID-ju
}
@GET
@Path(“/users”)
public Response getUsers(@QueryParam(“name”) String name, @QueryParam(“age”) int age) {
// Logika za filtriranje korisnika prema imenu i godinama
}
- @HeaderParam - mapira vrednosti atributa iz zaglavlja zahteva
- @CookieParam - mapira vrednost kolačića
- @FormParam - mapira parametre forme na objekat koji ih reprezentuje
- @DefaultValue - postavlja default value, kombinuje se sa bilo kojom @*Param anotacijom
35.Navesti primer REST metode koja se zove izracunaj, ona vraca String i kao parametar putanje ima parametar visina tipa int. Metoda se poziva GET zahtevom.
@GET
@Path(“/povrsina/{visina}”)
@Produces(MediaType.TEXT_PLAIN)
public String izracunaj(@PathParam(“visina”) int visina) {…}
Šta je JSON Web Token (JWT) i šta predstavlja?
JWT predstavlja standard za bezbedni prenos informacija u JSON formatu. Sastoji se od
header-a, payload-a i signature-a. Koristi se za autentifikaciju i autorizaciju. Nakon što korisnik
pravilno unese podatke, server generiše JWT, vraća ga i čuva kako bi se potvrdilo da je korisnik
autentičan i da ima odgovarajuće privilegije. Svaki token je jedinstven, i ima ID (JTI) koji se čuva
u payload-u.
Koja je razlika između localStorage i sessionStorage?
localStorage: Podaci se trajno čuvaju na istom uređaju i pretraživaču dok se eksplicitno ne obrišu, čak i nakon gašenja. Nema vremenskih ograničenja, podaci ostaju sačuvani između sesija pregledača. Dostupni su svim otvorenim prozorima ili karticama.
sessionStorage: Podaci su privremeni i čuvaju se samo dok je otvoren tab ili stranica, brišu se automatski nakon jedne sesije pretraživača. Ograničeni su samo na jednu sesiju, ne mogu se deliti.