pitanja2 Flashcards

1
Q
  1. Da li servleti poseduju metode za rad sa uploud-ovanim datotekama?
A

Do v3.0 ne postoji podrska, a od v3.0 postoji sa anotacijom @MultipartConfig iznad serverske klase.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
  1. U kom atributu HTTP zahteva se podešava graničnik polja (boundary) prilikom upload-a (slanja) datoteka?
A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q
  1. Navesti klasu i metode koje se koriste za kontrolu toka(flow, controll, dispatcher) u MVC modelu2.
A

RequestDispatcher, metode include i forward.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
  1. Opisati ukratko strukturu HTTP zahteva
A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
  1. Opisati ukratko strukturu HTTP odgovora
A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
  1. Opisati format parametara forme kod GET zahteva. Parametri su a i b sa vrednostima 5 i 6
A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  1. Cime su razdvojeni parametri forme u HTTP zahtevu, kod upload-a datoteka?
A

Parametri forme kod upload-a datoteka su razdvojeni sa boundary. Granicnik polja (boundary) se podesava u atributu Content Type.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  1. Napisati kod u JavaScript-u koji na HTML stranici ispisuje brojeve od 1 do 100.
A

for(let a = 1 ; a <= 100 ; a++){
document.write(a);
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
  1. Primer JSON-a za objekat klse Student koji od atributa ima id, ime i prezime.
A

{
“id”:15,
“ime”:”pera”,
“prezime”:”peric”
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
  1. Koja je namena OPTIONS metode HTTP zahteva kod REST-a?
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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
  1. Navesti barem dva nacina mapiranja parametara metoda na HTTP zahtev u REST-u.
A

@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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

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.

A

@GET
@Path(“/povrsina/{visina}”)
@Produces(MediaType.TEXT_PLAIN)
public String izracunaj(@PathParam(“visina”) int visina) {…}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Šta je JSON Web Token (JWT) i šta predstavlja?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Koja je razlika između localStorage i sessionStorage?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly