REST API design eksamensoppgaver

Studer designprinsipper og beste praksis for REST API-er gjennom en serie spørsmål og svar.

AndreasA9·64 flashkort·64 spørsmål
universitetcomputer_scienceweb
0
Kjent
1 / 64
0
Lærer
Forside

Hva er et REST API?

Trykk for å vende
Bakside

Et REST API er et programmeringsgrensesnitt som bruker HTTP-protokollen for å kommunisere. Det er basert på prinsippene om representasjon, tilstandsløshet og ressursidentifikasjon.

Trykk for å vende
Skjønner
Lærer fortsatt

Quiz(64 spørsmål)

Spørsmål 1 av 64

1. Hva er hovedprinsippet bak REST API-design?

Begreper i dette studiesettet(64)

Grunnleggende prinsipper(16)

Hva er et REST API?

Et REST API er et programmeringsgrensesnitt som bruker HTTP-protokollen for å kommunisere. Det er basert på prinsippene om representasjon, tilstandsløshet og ressursidentifikasjon.

Definer tilstandsløshet.

Tilstandsløshet betyr at hver forespørsel fra klienten til serveren må inneholde all informasjon for å forstå forespørselen. Serveren lagrer ikke informasjon om klientens tilstand.

Sant eller usant: REST API-er bruker alltid POST-metoden.

Usant. REST API-er bruker flere HTTP-metoder inkludert GET, POST, PUT, DELETE avhengig av operasjonen som utføres.

Forklar ressursidentifikasjon.

Ressursidentifikasjon refererer til hvordan ressurser er unikt identifisert i et API, vanligvis gjennom URI-er. Hver ressurs har en egen URI.

Hva menes med representasjon?

Representasjon refererer til måten en ressurs presenteres for klienten, ofte i formater som JSON eller XML. Klienten kan be om ulike representasjoner av en ressurs.

Sammenlign PUT og PATCH.

PUT oppdaterer hele ressursen, mens PATCH kun oppdaterer bestemte felt. Eksempel: PUT sender hele objektet, PATCH sender kun endrede felt.

Fullfør setningen: REST API-er er...

... vanligvis designet for å være enkle og intuitive, med fokus på lesbarhet og standardisering av forespørsel/format.

Hva er en hyperlenke?

En hyperlenke i REST API-er refererer til referanser til andre ressurser i representasjonen av en ressurs, noe som tillater navigering mellom relaterte ressurser.

Definer sikkerhet i REST API-design.

Sikkerhet handler om tiltak for å beskytte API-et mot uautorisert tilgang og datatyveri, ofte ved hjelp av autentisering og autorisasjon.

Hva er HATEOAS?

HATEOAS står for Hypermedia As The Engine Of Application State. Det er et prinsipp der klienter interagerer med en API ved å navigere gjennom hyperlenker i responsene.

Sant eller usant: REST er en protokoll.

Usant. REST er et sett med prinsipper for design av nettverksbaserte systemer, ikke en spesifikk protokoll.

Hva er en API-gateway?

En API-gateway fungerer som en inngang for alle forespørslene til et REST API, og håndterer autentisering, rutehåndtering og lastbalansering.

Hva er cache i REST API?

Cache er lagring av tidligere svar for å redusere responstid og belastning på serveren. Det kan forbedre ytelsen til API-et.

Definer idempotens.

Idempotens refererer til egenskapen til en operasjon der flere samme forespørslene gir det samme resultatet som én forespørsel. For eksempel er GET og DELETE idempotente.

Hva er en statuskode?

Statuskoder er numeriske koder sendt av serveren som indikerer resultatet av en forespørsel, f.eks. 200 (OK), 404 (Ikke funnet) og 500 (Intern serverfeil).

Hva er de grunnleggende prinsippene for REST?

- Klient-server-arkitektur - Tilstandsløshet - Ressursbasert - Bruk av standardprotokoller - Representasjonsbasert kommunikasjon

HTTP-metoder og statuskoder(16)

Hva står HTTP for?

HTTP står for HyperText Transfer Protocol. Det er protokollen som brukes for å overføre data over internett.

Beskriv metoden GET.

GET brukes til å hente data fra en server. Det har ingen bivirkninger og skal være idempotent.

Hvilken statuskode signaliserer suksess?

Statuskode 200 signaliserer at forespørselen var vellykket og dataene er returnert.

Hva er forskjellen mellom POST og PUT?

POST brukes til å opprette nye ressurser, mens PUT oppdaterer eksisterende ressurser. Begge kan være ikke-idempotente.

Fyll ut: 404 betyr ...

... at ressursen ikke ble funnet på serveren.

Er statuskode 500 en klient- eller serverfeil?

Det er en serverfeil. Den indikerer at det oppstod et problem på serverens side.

Hva er hovedformålet med DELETE?

DELETE brukes til å slette en spesifisert ressurs fra serveren. Det skal være idempotent.

Beskriv metoden PATCH.

PATCH brukes for delvis oppdatering av en ressurs. Den kan oppdatere spesifikke felter uten å endre hele ressursen.

Hva er statuskode 201?

Statuskode 201 indikerer at en ressurs ble vellykket opprettet som et resultat av en POST-forespørsel.

Er 301 en midlertidig eller permanent omdirigering?

301 er en permanent omdirigering. Det betyr at ressursen har blitt flyttet permanent til en ny URI.

Hva skjer ved en 403-statuskode?

403 betyr at tilgang til ressursen er nektet. Klienten har ikke nødvendige rettigheter.

Hva brukes HEAD til?

HEAD brukes til å hente HTTP-hoder fra en ressurs uten å hente selve innholdet. Nyttig for sjekking av metadata.

Sammenlign 200 og 204 statuskoder.

200 betyr 'OK' og returnerer data. 204 betyr 'Ingen innhold' og returnerer ingen data, bare bekreftelse.

Hva indikerer 401 statuskode?

401 indikerer at autentisering er nødvendig for å få tilgang til ressursen. Klienten må logge inn.

Omdirigering av forespørsel 302 er ...

... en midlertidig omdirigering. Ressursen finnes midlertidig på en annen URI.

Beskriv metoden OPTIONS.

OPTIONS brukes til å spørre serveren hvilke HTTP-metoder som støttes for en gitt ressurs. Nyttig for CORS.

Ressurser og URI(16)

Hva er en ressurs i REST?

En ressurs er en representasjon av et objekt eller data som kan manipuleres via API-et. Eksempler inkluderer brukere, produkter og bestillinger.

Definer URI.

URI står for Uniform Resource Identifier. Den brukes til å identifisere ressurser på nettet, typisk i form av en URL.

Hvordan struktureres en URI?

En URI består av følgende deler: skjema, vert, port, sti, spørring, og fragment. Eksempel: https://example.com:443/resource?id=1#section.

Er URI-er case-sensitive?

Sant. URI-er er case-sensitive, så '/Resource' og '/resource' refererer til forskjellige ressurser.

Hva betyr 'RESTful'?

RESTful beskriver API-er som følger REST-prinsippene. Det inkluderer bruk av ressurser, stateless kommunikasjon og standard HTTP-metoder.

Fyll inn blank: En _______ i REST representerer en entitet.

ressurs

Sammenlign URI og URL.

URI er en overordnet term som inkluderer både URL og URN. URL spesifiserer hvor en ressurs finnes, mens URN identifiserer den uten å gi dens plassering.

Hva er en god praksis for URI-naming?

Bruk beskrivende ord, unngå spesialtegn, og bruk små bokstaver. Eksempel: /api/v1/brukere/123.

Hvordan bruker man versjonering i URI?

Versjonering kan implementeres ved å inkludere versjonsnummer i URI-en, for eksempel: /api/v1/ressurs.

Hva er en stateless ressurs?

En stateless ressurs lagrer ingen tilstand mellom forespørslene. Hver forespørsel må inneholde all nødvendig informasjon.

Er det mulig å ha hierarkiske URI-er?

Sant. Hierarkiske URI-er kan representere relasjoner mellom ressurser, som /api/v1/brukere/123/bestillinger.

Hvordan representeres relasjoner i URI?

Relasjoner kan representeres ved å inkludere nested ressurser i URI-en, for eksempel: /api/v1/produkter/456/kategorier.

Hva er forskjellen på GET og POST?

GET henter ressurser uten å endre dem, mens POST brukes til å opprette nye ressurser.

Nevn et eksempel på en RESTful URI.

/api/v1/produkter/123, hvor 'produkter' er ressurstypen, og '123' er identifikatoren.

Hvordan håndterer man feil i URI-kall?

Bruk statuskoder for å indikere feil. For eksempel, 404 for 'Ikke funnet' og 400 for 'Ugyldig forespørsel'.

Hva er 'resource representation'?

Det er måten en ressurs presenteres i en API-respons, vanligvis i form av JSON eller XML.

Sikkerhet og autentisering(16)

Hva er autentisering?

Prosessen med å bekrefte identiteten til en bruker eller system.

OAuth 2.0 vs. Basic Auth

OAuth 2.0 gir bedre sikkerhet og tilgangskontroll, mens Basic Auth er enklere, men mindre sikker.

Sann eller usann: HTTPS gir kryptering.

Sann. HTTPS krypterer data sendt mellom klient og server, og beskytter mot avlytting.

Hva er JWT?

JSON Web Token (JWT) er en kompakt og selvstendig måte å overføre informasjon mellom parter som en JSON-objekt.

Fyll inn det tomme feltet: API-nøkler brukes til å ____.

identifisere applikasjoner og begrense tilgang til API-er.

Tokenutløp effekt?

Reduserer risikoen for at stjålne tokens blir misbrukt ved å sette en utløpstid.

Hva er CSRF?

Cross-Site Request Forgery (CSRF) er en type angrep hvor en uautorisert handling utføres på vegne av en autentisert bruker.

To-faktor autentisering?

En sikkerhetsprosess der brukeren må gi to former for identifikasjon før tilgang gis.

Hva er CORS?

Cross-Origin Resource Sharing (CORS) er en sikkerhetsfunksjon som lar eller blokkerer forespørselen fra en annen opprinnelse.

Tiltak for å sikre API-er?

- Bruke HTTPS - Implementere autentisering - Rate limiting - Validering av input

Sann eller usann: Anonyme API-forespørsel er alltid sikre.

Usann. Anonymitet kan føre til misbruk og mangel på tilgangskontroll.

Hva er rate limiting?

En teknikk for å begrense antall forespørsel en bruker kan gjøre til et API over en bestemt tidsperiode.

Sikkerhetsprotokoller nevnt:

- HTTPS - OAuth 2.0 - OpenID Connect

Hva er input validering?

Prosessen med å kontrollere og sanitere brukerinndata for å forhindre angrep som SQL-injeksjon.

Sikker kommunikasjon med API-er?

Bruk av HTTPS for å kryptere data og beskytte mot angrep.

Hva er en sikkerhetsfeil 401?

401 Unauthorized indikerer at forespørselen mangler gyldig autentisering for ressursen.

Spørsmål i dette studiesettet(64)

1. Hva er hovedprinsippet bak REST API-design?

A.Klient-server-arkitektur
B.Server-server-arkitektur
C.Klient-klient-arkitektur
D.Server-side rendering

2. Hva står statuskode 204 for?

A.Ingen innhold
B.OK
C.Forbudt
D.Flyttet permanent

3. Hva beskriver en ressurs i en REST API?

A.En representasjon av data som kan manipuleres
B.En type HTTP-metode
C.En feilstatuskode
D.En URI-struktur

4. Hva er hovedformålet med autentisering i API-er?

A.Bekrefte brukerens identitet
B.Forbedre ytelsen
C.Låse ned API-et
D.Redusere datalagring

5. Hvilken av følgende HTTP-metoder er IKKE en del av REST?

A.GET
B.DELETE
C.PATCH
D.CONNECT

6. Hvilken HTTP-metode brukes vanligvis for å oppdatere en eksisterende ressurs?

A.GET
B.POST
C.PUT
D.DELETE

7. Hva står URI for?

A.Uniform Resource Identifier
B.Universal Resource Indicator
C.Unified Resource Identifier
D.Universal Resource Identifier

8. Hvilket av følgende er en fordel med OAuth 2.0 sammenlignet med Basic Auth?

A.Gir bedre tilgangskontroll
B.Er lettere å implementere
C.Krever ikke passord
D.Bruker ikke tokens

9. Hva beskriver ressursidentifikasjon i REST?

A.Bruk av JSON
B.Unik identifikasjon ved URI
C.Autentisering av brukere
D.Bruk av SQL-databaser

10. Hva skjer hvis en klient sender en forespørsel med statuskode 401?

A.Ingen tilgang
B.Ressurs funnet
C.Data er tilgjengelige
D.Feil på server

11. Hvilken del av URI spesifiserer ressursens plassering?

A.Stien
B.Verten
C.Porten
D.Skjemaet

12. Sann eller usann: HTTPS er en protokoll som sikrer dataoverføring mellom klient og server.

A.Sann
B.Usann
C.Bare delvis sann
D.Avhenger av implementeringen

13. Hvilket av følgende beskriver tilstandsløshet best?

A.Serveren husker brukerens tilstand
B.Hver forespørsel er uavhengig
C.Forespørselen må alltid være i JSON-format
D.Serveren lagrer brukerens data mellom forespørslene

14. Hvilken metode brukes for å slette en ressurs?

A.DELETE
B.PUT
C.GET
D.POST

15. Er URI-er case-sensitive?

A.Ja
B.Nei
C.Bare i noen tilfeller
D.Avhenger av serveren

16. Hvilken beskrivelse passer BEST for JWT?

A.Kompakt måte å overføre informasjon på
B.En type database
C.En krypteringsmetode
D.En type API-nøkkel

17. Hva er en hyperlenke i sammenheng med REST API-er?

A.En type HTTP-metode
B.En referanse til en annen ressurs
C.En feilkode
D.En databasetabell

18. Hva indikerer statuskode 301?

A.Permanent omdirigering
B.Midliertidig omdirigering
C.Ressurs ikke funnet
D.Klientfeil

19. Hva betyr det at et API er RESTful?

A.Det følger REST-prinsippene
B.Det bruker SOAP-protokollen
C.Det er en stateless applikasjon
D.Det er en database-tilkobling

20. Fyll inn det tomme feltet: API-nøkler brukes til å ____.

A.identifisere applikasjoner
B.maksimere hastigheten
C.skape brukervennlighet
D.forbedre design

21. Hvilken statuskode indikerer at ressursen ble funnet?

A.404
B.200
C.500
D.301

22. Hva brukes metoden OPTIONS til?

A.Hente data
B.Slette data
C.Spørre om støttede metoder
D.Oppdatere data

23. Hvilket av disse er IKKE en del av en URI?

A.Sti
B.Spørring
C.Metode
D.Fragment

24. Hva er en konsekvens av tokenutløp?

A.Redusert risiko for misbruk
B.Økt hastighet
C.Mindre nettverksbelastning
D.Bedre brukeropplevelse

25. Hva betyr idempotens i REST API-sammenheng?

A.Krever autentisering
B.Forespørselen kan utføres flere ganger uten endring
C.Serveren lagrer informasjon
D.Forespørselen må bruke GET-metoden

26. Hvilken HTTP-statuskode indikerer at serveren har forstått forespørselen, men nekter å oppfylle den?

A.403
B.404
C.200
D.500

27. Hvordan kan versjonering implementeres i en URI?

A.Ved å bruke et versjonsnummer i stien
B.Ved å endre portnummeret
C.Ved å bruke ekstra spørringsparametre
D.Ved å bruke en annen vert

28. Hva er CSRF?

A.En type angrep mot webapplikasjoner
B.En sikkerhetsprotokoll
C.En form for datalagring
D.En algoritme for kryptering

29. Hvilken av følgende er en egenskap ved HATEOAS?

A.Bruk av cookies
B.Navigering gjennom hyperlenker
C.Bruk av XML-format
D.Krevende autentisering

30. Hva er forskjellen mellom 200 og 204?

A.To forskjellige feil
B.Ingen forskjell
C.Data returnert vs. ingen data
D.Bare 200 er akseptabel

31. Hva kjennetegner en stateless ressurs?

A.Den lagrer ikke tilstand mellom forespørslene
B.Den lagrer all informasjon i en database
C.Den bruker cookies for tilstand
D.Den krever bruk av sessions

32. Hva beskriver best to-faktor autentisering?

A.Krever to former for identifikasjon
B.Er kun basert på passord
C.Brukes bare for admin-innlogging
D.Er alltid gratis

33. Hva er hovedformålet med en API-gateway?

A.Å lagre data
B.Å håndtere forespørselene til REST API-er
C.Å utvikle mobilapplikasjoner
D.Å analysere data

34. Hvilket av følgende er en ikke-idempotent metode?

A.GET
B.PUT
C.POST
D.DELETE

35. Hvilken av følgende URI-er indikerer en hierarkisk struktur?

A./api/v1/produkter/123/tilbehør
B./api/v1/produkter/123
C./api/v1/produkter
D./api/v1

36. Hva er CORS?

A.En sikkerhetsfunksjon for deling av ressurser
B.En type database
C.En autentiseringsteknikk
D.En krypteringsprotokoll

37. Hvilket av følgende beskriver representasjon i REST?

A.Formater for datalagring
B.Hvordan klienter interagerer med servere
C.Hvordan ressurser presenteres for klienten
D.En type database

38. Når er det hensiktsmessig å bruke HEAD-metoden?

A.For å hente innhold
B.For å oppdatere data
C.For å sjekke metadata
D.For å slette data

39. Hvordan representeres relasjoner mellom ressurser i URI?

A.Ved å inkludere nested ressurser
B.Ved å bruke lange URIs
C.Ved å bruke spørringsparametre
D.Ved å bruke spesialtegn

40. Hvilket av følgende er et tiltak for å sikre API-er?

A.Bruke HTTPS
B.Tillate alle forespørsel
C.Unngå autentisering
D.Bruke enkle passord

41. Hva er en vanlig feil i REST API-design?

A.Bruk av standard HTTP-metoder
B.Tilstandsløs interaksjon
C.Overdreven kompleksitet i URI-er
D.Bruk av hypermedial lenker

42. Hvilken statuskode brukes når en ressurs ikke finnes?

A.404
B.200
C.500
D.403

43. Hva er hovedforskjellen mellom GET og POST?

A.GET henter data, POST oppretter data
B.GET sletter data, POST henter data
C.GET oppdaterer data, POST sletter data
D.GET oppretter data, POST henter data

44. Sann eller usann: Anonyme API-forespørsel er alltid sikre.

A.Usann
B.Sann
C.Avhenger av API-et
D.Er kun delvis sikre

45. Hvilken HTTP-metode brukes vanligvis for å hente data?

A.POST
B.PUT
C.GET
D.DELETE

46. Hvilken HTTP-metode er mest passende for å legge til en ny ressurs?

A.PUT
B.DELETE
C.GET
D.POST

47. Hvilket eksempel representerer en RESTful URI?

A./api/v1/kunder/456
B./kunder/456
C./api/kunder
D./v1/kunder/456

48. Hva er rate limiting?

A.Begrensning av forespørsel til et API
B.Økning av hastigheten
C.Kryptering av forespørsel
D.Automatisering av API-svar

49. Hva er en viktig sikkerhetspraksis for REST API-er?

A.Bruke offentlige URI-er
B.Bruke HTTPS for kryptering
C.Unngå autentisering
D.Bruke en enkel tekstprotokoll

50. Hva betyr en statuskode 500?

A.Klientfeil
B.Serverfeil
C.Ressurs funnet
D.Ingen innhold

51. Hvordan bør man håndtere feil i URI-kall?

A.Ved å bruke statuskoder
B.Ved å gi en feilmelding i responsen
C.Ved å redirecte til en ny URI
D.Ved å ignorere feil

52. Hvilke sikkerhetsprotokoller er nevnt i forbindelse med API-sikkerhet?

A.HTTPS og OAuth 2.0
B.SMTP og FTP
C.HTTP og IMAP
D.SNMP og Telnet

53. Hva betyr representasjon i sammenheng med REST API-er?

A.Hvordan ressurser identifiseres
B.Hvordan ressurser presenteres i ulike formater
C.Valg av databaser
D.Antall ressurser i API-et

54. Hvilken kode indikerer at en forespørsel er midlertidig omdirigert?

A.302
B.301
C.200
D.403

55. Hva beskriver 'resource representation'?

A.Måten en ressurs presenteres i API-responsen
B.Strukturen av URI-en
C.Sikkerhetsprotokollen for API-et
D.Metoden for å oppdatere ressurser

56. Hva er inputvalidering?

A.Kontroll av brukerinndata for sikkerhet
B.En type databaseteknikk
C.Metode for datalagring
D.En algoritme for kryptering

57. Hva er en vanlig årsak til dårlig API-ytelse?

A.Bruk av lagring
B.Utilstrekkelig dokumentasjon
C.Ressursbasert design
D.Høy idempotens

58. Hvilken HTTP-metode er ment for delvis oppdatering av en ressurs?

A.PUT
B.PATCH
C.DELETE
D.GET

59. Hvilken av følgende URI-er har en best praksis for naming?

A./api/v1/brukere/123
B./api/v1/BrUkErE/123
C./api/v1/brukere/123?type=id
D./api/v1/brukere/!@#

60. Hva indikerer sikkerhetsfeil 401?

A.Uautorisert tilgang
B.Forbudt tilgang
C.Brukeren er logget ut
D.Serverfeil

61. Hvilket av følgende beskriver best ressursbasert kommunikasjon i REST API-design?

A.Ressurser identifiseres og manipuleres ved hjelp av URI-er.
B.Alle ressurser må ha en statisk representasjon.
C.Kommunikasjonen skjer kun via POST-metoden.
D.Ressurser kan ikke deles mellom klienter.

62. Hvilken statuskode brukes for å indikere at ressursen er tilgjengelig, men klientsystemet må autentisere seg før tilgang kan gis?

A.401
B.403
C.404
D.500

63. Hvilket av følgende alternativ beskriver best hva en URI er?

A.En unik identifikator for ressurser på nettet.
B.En type databasetabell.
C.En programvare for API-testing.
D.Et bibliotek for frontend-utvikling.

64. Hvilket av følgende beskriver BEST Cross-Site Request Forgery (CSRF)?

A.Et angrep som utnytter brukerens autentisering for å utføre uautoriserte handlinger på en annen nettside.
B.En teknikk for å kryptere data mellom klient og server.
C.En metode for å validere input fra brukeren.
D.Et sikkerhetstiltak for å begrense antall forespørsel fra en bruker.

Relaterte studiesett

Lag ditt eget studiesett

Last opp en PDF, lim inn notatene dine, eller beskriv et tema – AI genererer flashkort, quizer og mer på sekunder.