Backend Flashcards

1
Q

Czym jest API

A

API to skrót od “Application Programming Interface”, czyli interfejs programowania aplikacji. Jest to zestaw reguł, protokołów i narzędzi, które umożliwiają różnym programom komunikację i współpracę ze sobą. API definiuje, w jaki sposób programy mogą wymieniać się informacjami i wykonują pewne zadania.

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

Co to REST API

A

REST, czyli Representational State Transfer to styl architektury oprogramowania, opierający się o zbiór określonych reguł opisujących jak definiowane są zasoby, a także umożliwiających dostęp do nich. Należy podkreślić, że REST jest stylem architektury oprogramowania, a nie standardem. W przeciwieństwie do protokołu HTTP, na moment pisania artykułu, nie ma żadnego RFC standaryzującego architekturę REST.

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

Kod 100

A

Continue: Oznacza, że serwer otrzymał część żądania i prosi o kontynuację.

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

Kod 200

A

OK: Żądanie zostało pomyślnie wykonane.

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

Kod 201

A

Created: Żądanie zostało pomyślnie wykonane i spowodowało utworzenie nowego zasobu.

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

Kod 204

A

No Content: Żądanie zostało pomyślnie wykonane, ale nie ma treści do zwrócenia.

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

Kod 307

A

Temporary Redirect: Żądany zasób został tymczasowo przeniesiony na inny URI.

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

Kod 308

A

Permanent Redirect: Żądany zasób został trwale przeniesiony na inny URI.

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

Kod 400

A

Bad Request: Żądanie zawiera błąd składniowy lub jest niezrozumiałe dla serwera.

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

Kod 401

A

Unauthorized: Klient nie jest zautoryzowany do uzyskania dostępu do zasobu

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

Kod 403

A

Forbidden: Klient nie ma wymaganych uprawnień dostępu do zasobu.

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

Kod 404

A

Not Found: Żądany zasób nie został odnaleziony na serwerze.

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

Kod 405

A

Method Not Allowed: Metoda żądania nie jest dozwolona dla danego zasobu.

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

Kod 408

A

Request Timeout: Czas oczekiwania na żądanie przekroczony.

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

Kod 413

A

Payload Too Large: Żądanie zawiera ładunek (np. dane w ciele żądania) o rozmiarze przekraczającym limit ustalony przez serwer.

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

Kod 429

A

Too Many Requests: Klient przekroczył limit liczby żądań w określonym przedziale czasowym.

17
Q

Kod 500

A

Internal Server Error: Wewnętrzny błąd serwera, przyczyna jest nieznana.

18
Q

Kod 501

A

Not Implemented: Serwer nie obsługuje żądanej metody i nie jest w stanie jej przetworzyć.

19
Q

Kod 502

A

Bad Gateway: Serwer pośredniczący otrzymał nieprawidłową odpowiedź od serwera docelowego

20
Q

Kod 503

A

Service Unavailable: Serwer jest tymczasowo niedostępny, zwykle ze względu na przeciążenie lub konserwację.

21
Q

Kod 504

A

Gateway Timeout: Serwer działa jako brama lub proxy i nie otrzymał odpowiedzi w ustalonym czasie od serwera docelowego.

22
Q

Jaka jest różnica pomiędzy kodem 301 (Moved Permanently), a kodem 308 (Permanent Redirect)?

A

Różnica polega na tym, że 301 automatycznie zmienia metodę żądania na GET lub HEAD, podczas gdy 308 zachowuje metodę żądania oryginalnego żądania.

23
Q

Authorization (autoryzacja) vs Authentication (uwierzytelnianie)

A

Autentykacja to sprawdzanie tożsamości, czy dana osoba jest tym, za kogo się podaje. Autoryzacja to sprawdzanie uprawnień, czy dana osoba ma dostęp do konkretnych zasobów, obszarów lub funkcji. Autentykacja jest jak sprawdzanie tożsamości gości na wejściu do klubu, a autoryzacja jest jak sprawdzanie, czy mają oni uprawnienia do wejścia do poszczególnych stref klubu.

24
Q

Różnica między PUT a PATCH

A

PUT aktualizuje cały obiekt (nie tworzy nowego obiektu tak jak to robi POST), a PATCH aktualizuje tylko część tego obiektu albo jedno pole

25
Q

Wymień metody żądań HTTP

A

GET, POST, PUT, PATCH, DELETE

26
Q

ASGI vs. WSGI

A

WSGI jest przeznaczone dla tradycyjnych aplikacji obsługujących żądania HTTP w sposób sekwencyjny, podczas gdy ASGI jest bardziej elastycznym interfejsem, który obsługuje asynchroniczne żądania i różne protokoły komunikacyjne.

27
Q

Co zawiera nagłówek żądania (request header)?

A
  1. Metoda żądania: Nagłówek może zawierać informację o tym, jakie jest zamierzenie związane z żądaniem, czyli czy chcesz pobrać informacje (metoda GET), wysłać dane (metoda POST) czy też coś zaktualizować (metoda PUT lub PATCH) lub usunąć (metoda DELETE).
  2. Adres docelowy: Nagłówek zawiera również adres, do którego wysyłane jest żądanie. Podobnie jak na kopercie listu, gdzie umieszczasz adres odbiorcy, nagłówek zawiera adres serwera, do którego chcesz się połączyć.
  3. Nagłówki dodatkowe: Oprócz podstawowych informacji, nagłówek może zawierać również różne dodatkowe informacje, takie jak informacje o akceptowanych typach danych (np. JSON, XML), preferencje językowe, ciasteczka (cookies) i wiele innych. Te informacje pomagają serwerowi lepiej zrozumieć twoje żądanie i dostosować odpowiedź.
28
Q

Z czego składa się request (żądanie)?

A
  1. Metoda żądania: Jest to jak pytanie, które zadajesz obsłudze klienta, aby powiedzieć, czego dokładnie oczekujesz. Możesz użyć różnych metod, takich jak “GET” (pobierz), “POST” (wyślij), “PUT” (aktualizuj), “DELETE” (usuń) itp. Metoda żądania określa, jakie działanie chcesz podjąć.
  2. Adres URL: To jak podanie adresu pizzerii, do której chcesz zadzwonić. Adres URL (Uniform Resource Locator) określa, gdzie znajduje się żądany zasób w internecie. Na przykład, “https://www.pizzeria.com/menu” może być adresem URL strony menu pizzerii.
  3. Nagłówki (Headers): To jak informacje, które przekazujesz obsłudze klienta, aby dostarczyć dodatkowe informacje na temat twojego zamówienia. Nagłówki mogą zawierać informacje, takie jak “Content-Type” (typ danych wysyłanych w ciele żądania), “Authorization” (uwierzytelnienie), “User-Agent” (informacje o przeglądarce lub aplikacji, która wysyła żądanie) i wiele innych.
  4. Ciało żądania (Body): Jest to jak lista składników, którą przekazujesz obsłudze klienta, aby przygotować twoje zamówienie. Ciało żądania może zawierać różne rodzaje danych, takie jak formularze, dane JSON lub pliki. Zawartość ciała żądania zależy od rodzaju żądania i tego, co chcesz przekazać serwerowi.
  5. Parametry URL: To jak dodatkowe informacje, które podajesz obsłudze klienta w trakcie zamawiania. Parametry URL są dodawane do adresu URL jako część zapytania i mogą zawierać informacje, takie jak “id” (identyfikator) lub “page” (numer strony) itp.
29
Q

Czym jest CORS i jak ma się do preflight request’a?

A

Cross-Origin Resource Sharing (CORS) to mechanizm oparty na nagłówku HTTP, który umożliwia serwerowi wskazanie dowolnego źródła (domeny, schematu lub portu) innego niż jego własne, z którego przeglądarka powinna zezwolić na ładowanie zasobów. CORS opiera się również na mechanizmie, za pomocą którego przeglądarki wysyłają żądanie „przeglądu wstępnego” do serwera obsługującego zasób z różnych źródeł, aby sprawdzić, czy serwer zezwoli na rzeczywiste żądanie. W tej inspekcji wstępnej przeglądarka wysyła nagłówki wskazujące metodę HTTP oraz nagłówki, które zostaną użyte w rzeczywistym żądaniu.

30
Q

Czym jest HTTP?

A

Hypertext Transfer Protocol (HTTP) to protokół warstwy aplikacji do przesyłania dokumentów hipermedialnych, takich jak HTML. Został zaprojektowany do komunikacji między przeglądarkami internetowymi a serwerami WWW, ale może być również wykorzystywany do innych celów. HTTP jest zgodny z klasycznym modelem klient-serwer, w którym klient otwiera połączenie w celu wysłania żądania, a następnie czeka na odpowiedź. HTTP jest protokołem bezstanowym, co oznacza, że serwer nie przechowuje żadnych danych (stanu) między dwoma żądaniami.

31
Q

Czym jest cookie?

A

Plik cookie HTTP (plik cookie sieciowy, plik cookie przeglądarki) to mały fragment danych wysyłany przez serwer do przeglądarki internetowej użytkownika. Przeglądarka może zapisać plik cookie i wysłać go z powrotem na ten sam serwer z późniejszymi żądaniami. Zazwyczaj plik cookie HTTP służy do stwierdzenia, czy z tej samej przeglądarki pochodzą dwa żądania — na przykład utrzymanie zalogowania użytkownika. Zapamiętuje informacje stanowe dla bezstanowego protokołu HTTP.