Definicja różnych 400 kodów błędów

Zaktualizowano: 2022 / Autor artykułu: Timothy Shim

Kody błędów 400 to kody stanu HTTP, które wskazują, że serwer nie zrozumiał żądania. Błędy te mogą być spowodowane nieprawidłowym żądaniem lub mogą wystąpić, ponieważ serwer napotkał problem i nie dostarczył tego, czego szukałeś. 

Problem polega na tym, że większość kodów błędów jest reprezentowana przez liczbę i krótki opis składający się z kilku słów. Aby pomóc tym, którzy walczą to zrozumieć, rozszerzę nieco opisy dla większej przejrzystości.

Co powoduje błędy nieprawidłowego żądania?

Błędy nieprawidłowego żądania wynikają z różnych przyczyn, ale najczęstszą przyczyną jest niepoprawne wpisanie adresu URL przez użytkownika. Może się tak zdarzyć, gdy dana osoba niewłaściwie użyje ukośnika lub znaku ampersand lub całkowicie opuści część adresu URL. Serwer będzie miał trudności z przetworzeniem żądania i ostatecznie zwróci kod błędu 400.

Inną możliwością jest to, że użytkownik wpisał adres URL z zewnętrznego źródła i błędnie go skopiował lub jakoś się pomylił. Na przykład, jeśli otworzysz stronę internetową za pomocą telefonu, a następnie wpiszesz adres strony internetowej, możesz błędnie wpisać niektóre znaki z powodu zespołu grubych palców (takich jak ja).

Mniej powszechną przyczyną błędów złych żądań jest to, że coś jest nie tak z komunikacją klient-serwer. Może to być spowodowane tym, że albo serwer w ogóle nie rozumie, o co prosi klient (przeglądarka na komputerze), albo nie może wykonać tego, o co go prosi, mimo że rozumie, co się dzieje.

Jeśli otrzymujesz tego typu komunikat o błędzie 400, spróbuj odświeżyć swoją stronę lub przeprowadzić inne wyszukiwania, aż znajdziesz taki, który działa poprawnie, i po prostu użyj tego adresu URL zamiast tego, co powoduje teraz problemy.

Lista 400 kodów błędów i ich znaczenie

Wiedza o tym, co oznaczają te błędy i jak można je rozwiązać, pomoże Ci rozwiązać problemy z serwerem Twojej witryny, jeśli wystąpią one w przyszłości, a zrozumienie ich definicji może pomóc w ustaleniu, dlaczego Twoja witryna nie dostarcza prawidłowo treści pod adresem w każdym momencie.

Złe żądanie 400

Błąd 400 Bad Request jest dość powszechny i ​​występuje, gdy żądanie zasobu (np. próba uzyskania dostępu do strony internetowej lub obrazu) jest w jakiś sposób zniekształcone na serwerze i nie może podać zasobu. Jest to prawie to samo, co błąd 404 Not Found, ale często występuje w przypadkach, gdy coś może zostać znalezione, ale zostało uznane za niezdatne do użytku przez klienta.

Przykłady tego kodu statusu obejmują sytuacje, w których:

  • Żądanie zawiera nieprawidłową składnię lub nie może zostać spełnione;
  • Zbędna treść wiadomości jest dostarczana z nieprawidłowym polem nagłówka Content-Length lub nie było nikogo poza dołączonym polem nagłówka Content-Length;
  • Wystąpił zwodniczy routing (np. klient próbował proxy za pośrednictwem hosta innego niż ten, który został zidentyfikowany przez żądany identyfikator URI); lub
  • Nie powiedzie się, ponieważ poprzednie żądanie nie powiodło się (np. Jeśli sekwencja żądań nie powiedzie się z powodu „oczekiwania” niepowodzeń w niebezpiecznej sekwencji żądań, wówczas odpowiednia może być odpowiedź 503).

401 Nieautoryzowane

Odpowiedź stanu błędu 401 oznacza, że ​​nie masz odpowiednich poświadczeń uwierzytelniających, aby uzyskać dostęp do tego, do czego próbujesz. Ten kod stanu HTTP jest również często używany, gdy występuje problem z uwierzytelnianiem klienta za pomocą pośredniczącego serwera proxy.

402 Wymagana płatność

Błąd 402 oznacza, że ​​serwer odrzucił żądanie, ponieważ albo nie dokonałeś płatności, albo dokonałeś płatności, ale nie skonfigurowałeś metody płatności. Zwykle napotkasz ten błąd, gdy testujesz witrynę na swoim lokalnym komputerze i nie zapłaciłeś jeszcze za hosting. Pomyśl o tym jak o Twojej witrynie, która mówi Ci „Najpierw zapłać mi”.

Zakazane 403

błąd 403
403 błędy to ani grosza w Internecie

Błędy 403 są kolejnym częstym spotkaniem i występują, gdy istnieją procesy serwera WWW z niewystarczającymi uprawnieniami do odczytu plików. Może to być również spowodowane nieprawidłowym właścicielem lub uprawnieniami do skryptu lub folderu w katalogu głównym witryny, a także brakiem odpowiednich praw dostępu do zasobu znajdującego się w Twojej przestrzeni internetowej.

Krótko mówiąc, otrzymasz ten błąd, jeśli spróbujesz połączyć się z adresem URL z adresem IP, który reprezentuje Ciebie, ale nie został (jeszcze) przypisany przez dostawcę usług internetowych; jeśli w ogóle nie ma takiego adresu URL; lub jeśli nie ma takiego adresu URL i należy on do kogoś innego (na przykład, jeśli usunął swoją witrynę).

404 Not Found

Błąd 404 Not Found jest prawdopodobnie najczęstszym kodem błędu, którego możesz się spodziewać. Wskazuje, że serwer nie może znaleźć żądanego zasobu. W idealnym świecie każdy kliknięty link lub żądana strona internetowa miałyby normalny czas odpowiedzi i zwracałyby dokładnie to, czego szukałeś, ale w rzeczywistości nie zawsze tak się dzieje.

Jeśli użytkownik otrzyma komunikat o błędzie 404 Not Found podczas próby odwiedzenia strony internetowej, oznacza to, że wydarzyła się jedna z dwóch rzeczy:

  • Strona nie jest już dostępna w witrynie (lub nigdy nie była).
  • Wystąpił błąd w adresie URL — na przykład adres był błędnie napisany.

W tym kontekście inne słowo oznaczające „złamany” jest martwe (jak in martwy link).

Metoda 405 nie jest dozwolona

Kod błędu HTTP 405 Method Not Allowed oznacza, że ​​z jakiegoś powodu serwer jest skonfigurowany do odrzucania określonych metod żądań. Jest to standardowa odpowiedź HTTP na żądania, które nie są dozwolone w określonych warunkach. Na przykład, jeśli próbujesz opublikować formularz danych pod adresem URL, ale Twój klient jest skonfigurowany do używania metody GET zamiast POST, wywołasz ten błąd.

Najbardziej prawdopodobną przyczyną wyświetlania tego komunikatu o błędzie są niepoprawnie skonfigurowane uprawnienia na serwerze. Jeśli próbujesz naprawić ten błąd w swojej witrynie, najlepszym miejscem do uzyskania pomocy będzie Twoja usługa hostingowa dostawca. Musisz zapytać, czy zezwalają na kwestionowaną metodę HTTP.

Możesz także skonfigurować swoją witrynę lub aplikację internetową tak, aby nie opierała się na jednym konkretnym czasowniku HTTP, ustawiając parametry w .htacceplik ss.

406 Niedopuszczalne

Błąd 406 Niedopuszczalny to kod błędu klienta. Serwer odpowie z tym błędem, gdy nie będzie w stanie wysłać odpowiedzi, która pasuje do formatu żądanego w nagłówku żądania. Innymi słowy, jeśli prosisz o plik JPG, a serwer musi zamiast tego wysłać plik PDF, odpowie z tym błędem.

Ten kod błędu nie jest często wyświetlany, a niektóre przeglądarki mogą nie wyświetlać go poprawnie.

Kod statusu 406 oznacza tylko, że wystąpił problem z formatem Twojego żądania. Treść wiadomości 406 nie może być zawarta w odpowiedzi, więc jeśli ją zobaczysz, może to oznaczać, że po Twojej stronie jest coś nie tak. 

Czasami może to być spowodowane błędem przeglądarki lub złośliwym oprogramowaniem w systemie, które wymusza pobranie źródła każdej strony jako HTML nawet jeśli w preferencjach określono inne formaty. Najprawdopodobniej ten błąd wystąpił z powodu nieprawidłowego żądania adresu URL (na przykład wpisania „www.examplecom” zamiast „www.example​.com”).

407 Wymagane uwierzytelnienie serwera proxy

407 Proxy Authentication Required (Wymagane uwierzytelnienie proxy) oznacza, że ​​serwer nie może wykonać żądania, ponieważ klient nie ma odpowiednich poświadczeń uwierzytelniających dla serwer proxy czyli przechwytywanie żądania między klientem a serwerem.

Błąd 407 często występuje, gdy witryna próbuje załadować zawartość za pośrednictwem serwera proxy, ale nie otrzymuje autoryzacji od tego serwera proxy. Ten błąd może być związany z nieprawidłową konfiguracją ustawień internetowych lub zapora. Może to również oznaczać, że korzystasz z komputera skonfigurowanego przez Twoją szkołę lub miejsce pracy, a te podmioty blokują Ci dostęp do niektórych stron internetowych.

408 Limit czasu żądania

W przypadku kodu 408 klient nie wysłał żądania w czasie, w którym serwer był przygotowany do oczekiwania. Widzisz, jeśli chodzi o komunikację internetową, maszyny nie mają ludzkiej cierpliwości — oczekują natychmiastowych odpowiedzi. A ponieważ te maszyny często dostarczają kluczowych informacji lub usług, czasami mogą być bezlitosne.

Najbardziej prawdopodobną przyczyną błędu 408 jest to, że klient wysłał duże żądanie (np. pobranie całego systemu operacyjnego) lub może wygenerować żądanie zbyt szybko. To ostatnie zwykle ma miejsce w przypadku procesów zautomatyzowanych (np. botów). 

W obu przypadkach serwer przekroczył limit czasu oczekiwania na żądanie; nie oczekuje już więcej informacji z Twojej przeglądarki i zamknie połączenie, jeśli nadal będziesz milczeć.

Konflikt 409

Konflikt 409 to kod błędu klienta, który wskazuje na problem z tym, co dzieje się podczas próby wysłania żądania z serwera WWW. Na przykład, aby usunąć element z czyjegoś koszyk na stronie eCommerce, musisz najpierw upewnić się, że istnieje w ich koszyku, aby go usunąć. 

Jeśli spróbujesz wysłać żądanie usunięcia przedmiotu, którego nie ma w koszyku, spowoduje to konflikt 409. Mówiąc najprościej, nie możesz usunąć czegoś, czego tam nie ma.

410 Przeminęło

Kod błędu 410 Gone jest odpowiedzią na żądanie zasobu, który już nie istnieje. Serwer nie będzie odpowiadał na żadne żądania dotyczące tego zasobu i należy go usunąć z pamięci podręcznej klienta.

Ten kod błędu wskazuje, że zasób został celowo usunięty i nie wróci. Jest podobny do 404 Not Found, ale czasami jest używany zamiast błędu 404 w przypadku zasobów, które kiedyś istniały, ale zostały celowo usunięte.

411 Wymagana długość

Kod stanu 411 Length Required wskazuje, że serwer oczekuje w żądaniu klienta pola nagłówka Content-Length zawierającego prawidłową wartość długości. Prawidłowa wartość nagłówka Content-Length musi być obecna w żądaniu i być równa lub większa od zera.

Jeśli żądanie POST nie zawiera nagłówka Content-Length, prawdopodobnie klient użytkownika odrzuci je z komunikatem o błędzie, takim jak „411 Length Required” lub „411 brakuje wymaganych pól”.

412 Warunek wstępny nie powiódł się

Kod odpowiedzi „412 Warunek wstępny nie powiódł się” wskazuje, że istnieją warunki, które nie zostały jeszcze spełnione przez serwer. Serwer musi odpowiedzieć listą tych warunków wstępnych (tylko te, których sprawdzenie nie powiodło się), używając nagłówka Retry-After lub wysyłając kod stanu 417 Oczekiwanie nie powiodło się.

Czasami ten błąd jest używany jako odpowiedź „OK” dla innych typów warunków, na przykład gdy użytkownik został pomyślnie uwierzytelniony, ale nie ma uprawnień dostępu do żądanego zasobu. W takim przypadku zwykle zapewnia się alternatywną reprezentację zasobu lub zwraca 404 Not Found, jeśli taka reprezentacja nie jest dostępna.

413 Ładowność zbyt duża

Kod stanu odpowiedzi 413 Payload Too Large wskazuje, że próbujesz poprosić serwer o wykonanie zadania, do obsługi którego nie jest przystosowany. Ponieważ wie, że prośba jest niemożliwa do spełnienia, zwykle po prostu rezygnuje i zamyka połączenie.

Nie powinieneś się zbytnio przejmować tym błędem, ponieważ zwykle nie jest on trwały. Ładunki są dynamiczne, a serwery będą zawierać pole nagłówka Retry-After, aby klient mógł później wykonać żądanie powtórzenia.

414 Za długi identyfikator URI

Błąd 414 URI Too Long występuje, gdy adres URL, do którego próbujesz uzyskać dostęp lub którego chcesz użyć, jest zbyt długi, a serwer nie może go przetworzyć. Ten kod błędu jest najczęściej zwracany podczas korzystania z serwera proxy, zwłaszcza jeśli adres URL, do którego próbujesz uzyskać dostęp, ma dołączonych wiele parametrów.

Poniższy przykład pokazuje, jak komunikat o błędzie dla kodu 414 zostałby zwrócony w przeglądarce:

Request-URI Too Long Długość żądanego adresu URL przekracza limit pojemności dla tego serwera.

415 Nieobsługiwany typ nośnika

Kod stanu HTTP 415 Unsupported Media Type oznacza dokładnie to, co sugeruje jego nazwa: serwer odmawia przyjęcia żądania klienta, ponieważ jego treść jest w formacie nieobsługiwanym przez zasób docelowy.

Ten błąd często występuje, gdy treść żądania jest nieprawidłowo sformatowana lub używa nieobsługiwanego typu nośnika. Na przykład żądanie POST może zawierać dane JSON, ale zawierać nagłówek Content-Type, który określa tekst/HTML.

Idealnym sposobem naprawienia tego błędu jest dodanie obsługi odpowiedniego typu nośnika lub zmiana formatu ciała, aby pasował do jednego z akceptowanych typów.

416 Zasięg niezadowalający

Jeśli w żądaniu znajduje się pole nagłówka żądania zakresu, serwer wWW może odpowiedzieć z tym błędem. Na przykład, jeśli wartości specyfikatora zakresu nakładają się i nie zawierają pola nagłówka żądania If-Range. 

Gdy ten kod stanu jest zwracany dla żądania zakresu bajtów, odpowiedź POWINNA zawierać pole nagłówka jednostki Content-Range określające bieżącą długość wybranego zasobu. Nie powinieneś używać typ zawartości wieloczęściowej/zakresów bajtów.

417 Oczekiwanie nie powiodło się

Pojawi się błąd 417 Expectation Failed, gdy serwer nie może spełnić wymagań pola Expect request-header. Wiele aplikacji używa tego kodu w odpowiedzi na podpis cyfrowy lub szyfrowanie używane w wiadomościach i muszą zawierać oczekiwanie dotyczące sposobu przetwarzania takiej wiadomości.

Klient jest następnie instruowany, aby nie powtarzał żądania bez modyfikacji; w przeciwnym razie będzie nadal otrzymywać kod stanu 417.

418 Jestem czajnikiem

Dla tych, którzy uważają, że programiści nie mają poczucia humoru, błąd 418 I'm czajniczek wydaje się mieć na celu udowodnienie im, że się mylą. Ten błąd jest zwracany, gdy klient HTTP próbuje zaparzyć kawę za pomocą czajniczka, ponieważ dołączony dzbanek to w rzeczywistości czajniczek – krótki i gruby. 

Kod błędu jest częścią tradycyjnego Żarty primaaprilisowe IETF, w RFC 2324, Hyper Text Coffee Pot Control Protocol. Nawiasem mówiąc, to nie jest prawdziwe. Uwzględniłem go tylko dlatego, że będzie kilku z was, którzy znaleźli go w Google.

421 Błędnie skierowane żądanie

Błąd 421 pojawia się, gdy serwer odmawia skierowania żądania. Może się to zdarzyć z kilku powodów, w tym:

  • Klient wysłał żądania do niewłaściwego portu.
  • Żądanie może zostać skierowane do innego serwera.
  • Serwer może nie być w stanie zrozumieć żądania.
  • Serwer może nie być w stanie zinterpretować żądania.

422 Podmiot nieprzetworzony

Jednostka nieprzetwarzalna 422 jest błędem klienta i zwykle wskazuje, że serwer nie mógł obsłużyć żądania z różnych powodów. Powszechnym prawdopodobieństwem jest to, że żądanie zostało nieprawidłowo sformułowane. Może się również zdarzyć, że serwer jest złym chłopcem i wysyła komunikaty o błędach, których nie należy wysyłać.

Jeśli w odpowiedzi na określone żądanie pojawi się błąd 422 Unprocessable Entity, nie można go naprawić tylko poprzez zmianę parametrów żądania. Oznacza to po prostu, że całe żądanie nie może zostać przetworzone przez serwer aplikacji z powodów wymienionych powyżej. 

Może się to zdarzyć, gdy próbujesz uzyskać dostęp do punktu końcowego za pomocą metod PUT lub POST na nieobsługiwanym adresie URL.

423 Zamknięty

423 Zablokowane błędy to podzbiór 400 błędów nieprawidłowych żądań, co oznacza, że ​​klient wysłał żądanie do serwera, które jest niepoprawne składniowo. Błędy te są bardzo podobne do kodów błędów 401 Unauthorized (lub 403 Forbidden), ale w tym przypadku uwierzytelnianie nie pomoże. Chociaż oba odzwierciedlają brak autoryzacji, istnieje między nimi zasadnicza różnica.

W błędzie 401 Nieautoryzowany serwer informuje klienta, że ​​nie ma możliwości autoryzacji dostępu klienta. Nagłówki odpowiedzi będą zawierać coś w rodzaju WWW-Authenticate: Basic realm=”Restricted Area”, a gdy Twoja przeglądarka zobaczy ten nagłówek, poprosi Cię o nazwę użytkownika i hasło, jeśli jeszcze ich nie wprowadziłeś. 

Jeśli wpiszesz je poprawnie, przeglądarka ponownie wyśle ​​oryginalne żądanie z nagłówkiem Authorization (np. Authorization: Basic eFVzdEp0EYB0).

Natomiast w przypadku błędu 423 Locked takie ponowne wysłanie nie jest możliwe, ponieważ nawet wprowadzenie prawidłowych poświadczeń nie pozwoliłoby na autoryzację w większym stopniu niż obecnie — stąd nazwa „Zablokowane” — ponieważ i tak byłoby to zabronione. 

Nagłówki odpowiedzi będą zawierać coś w rodzaju „Zezwalaj: GET POST HEAD OPTIONS TRACE”; zezwalając na te metody, ale nie „PATCH” lub „DELETE” – są one zablokowane dla tego zasobu.

424 Nieudana zależność

Ten kod błędu jest podobny do a 503 Usługa niedostępna, z tą różnicą, że serwer nie zrealizował żądania, ponieważ żądanie zależy od innego żądania, a to żądanie nie powiodło się. Klient nie powinien powtarzać tego samego żądania bez modyfikacji. 

Na przykład użytkownik próbuje wykonać akcję przy użyciu dwóch metod; jedna metoda wymaga uwierzytelnienia, a inna nie. Jeśli użytkownik nie zostanie uwierzytelniony, otrzyma w odpowiedzi ten kod błędu.

425 Za wcześnie

Kod błędu 425 Too Early jest zwracany przez serwer, który nie jest gotowy do przetworzenia żądania. Może to być spowodowane tym, że serwer jest zajęty lub otrzymał żądanie, którego nie może obsłużyć. Inną możliwością jest to, że klient wykorzystał nieaktualne informacje do złożenia pierwszego żądania i od tego czasu to się zmieniło.

426 Wymagana aktualizacja

Jeśli wystąpi błąd 426, oznacza to, że serwer odmawia obsługi żądania na podstawie wybranego protokołu. „Aktualizacja” do innego protokołu może zostać zatwierdzona i przetworzona. Błąd 426 będzie zawierał informacje o tym, jakich protokołów potrzebuje.

Na przykład podczas żądania strony przeglądarka może otrzymać odpowiedź 426 z informacją, że musi użyć HTTPS zamiast HTTP.

428 Wymagany warunek wstępny

Status 428 Wymagany warunek wstępny oznacza, że ​​warunki muszą być spełnione, aby spełnić żądanie. Większość serwerów używa tego, aby uniknąć problem „utraconej aktualizacji”. Dzieje się tak, gdy klient uzyskuje stan zasobu, modyfikuje go i zastępuje go na serwerze. 

W międzyczasie państwo jest modyfikowane przez kogoś innego – stąd konflikt. Pomyśl o tym jak o dwóch osobach walczących o prawo do używania tej samej strony w zeszycie.

Serwery sieci Web stosują warunki, aby zapewnić, że każdy, kto z nim pracuje, ma prawidłowe kopie modyfikowalnych stanów. Aby zainicjować sprawdzanie warunków wstępnych, musisz dołączyć do żądania pole nagłówka „If-Match” lub „If-Unmodified-Since”. Na przykład:

GET /test HTTP/1.1
If-Match: "747060ad8c113d8af7ad2048f209582f

429 Zbyt wiele wniosków

Błąd HTTP 429 Zbyt wiele żądań jest spowodowany odrzuceniem żądania HTTP przez serwer, ponieważ klient wysłał zbyt wiele żądań w określonym czasie. Ten błąd jest zwykle powodowany przez pewnego rodzaju system ograniczania szybkości, taki jak Cloudflare Ograniczanie tempa lub Skrypt ochrony anty-DDoS.

Limity szybkości będą się różnić, więc nie można tego przewidzieć, chyba że to Ty zarządzasz limiterem. Jednak tak długo, jak będziesz próbował to przepychać, istnieje duża szansa, że ​​Twój adres IP zostanie w końcu zbanowany.

431 Żądanie pól nagłówka jest zbyt duże

Kod statusu 431 oznacza po prostu, że pola nagłówka wysyłane do serwera są zbyt duże. Może to również oznaczać, że pole nagłówka jest uszkodzone. W tym drugim przypadku reprezentacja odpowiedzi zwykle wskazuje określone pole nagłówka, które jest zbyt duże.

Odpowiedzi z kodem stanu 431 mogą być używane przez serwery pochodzenia do wskazania, że ​​żądanie może być niebezpieczne lub nieodpowiednie. Odpowiedź musi zawierać metadane opisujące, dlaczego taka akcja nie może zostać zakończona.

451 Niedostępne z powodów prawnych

Błąd HTTP 451 zostanie zgłoszony, gdy zawartość nie będzie dostępna z powodów prawnych. Jeśli otrzymasz ten kod błędu, skontaktuj się z administratorem serwera, który może dostarczyć więcej informacji o przyczynie problemu i sposobach jego rozwiązania.

Ponieważ ten błąd jest związany z cenzurą i kwestiami prawnymi, sensowne jest, aby wszelkie żądania powodujące błąd 451 najczęściej zwracały ogólny komunikat informujący, że zasób jest niedostępny z powodów prawnych.

Naprawianie 400 kodów błędów

Sposób naprawienia 400 kodów błędów zależy od tego, czy jesteś użytkownikiem, czy właścicielem witryny. W przypadku użytkowników nie musisz nic robić poza odświeżeniem strony lub spróbuj ponownie później. Jeśli to nie zadziała, musisz skontaktować się z właścicielem/administratorem witryny, aby to naprawić.

Jeśli jesteś właścicielem witryny i otrzymałeś ten kod błędu w swoim terminalu, musisz zrozumieć kilka rzeczy. Po pierwsze, wiele kodów błędów 400 może być spowodowanych niewłaściwie napisanym kodem w plikach serwera. Musisz zrozumieć, co oznaczają te różne błędy i znaleźć właściwy sposób postępowania, aby je naprawić. 

Wnioski

400 błędów może powodować wiele frustracji, ale na szczęście są one bardzo łatwe do usunięcia, jeśli rozumiesz, czego chce serwer WWW. Na szczęście każdy błąd jest inny i będzie miał swój własny komunikat o stanie w przeglądarce. Powinno to pozwolić ci dowiedzieć się, dlaczego żądanie nie powiodło się i jak możesz to naprawić.

Jeśli nadal masz problemy z nierozwiązanym żądaniem, spróbuj skontaktować się z pomocą techniczną hostingu lub wypróbuj inną przeglądarkę, ponieważ niektóre przeglądarki mogą inaczej obsługiwać niektóre żądania.

Przeczytaj więcej

O Timothy Shim

Timothy Shim jest pisarzem, redaktorem i tech geekiem. Rozpoczynając karierę w dziedzinie technologii informatycznych, szybko znalazł drogę do druku i od tego czasu współpracował z międzynarodowymi, regionalnymi i krajowymi tytułami medialnymi, takimi jak ComputerWorld, PC.com, Business Today i The Asian Banker. Jego wiedza specjalistyczna dotyczy technologii zarówno z punktu widzenia konsumenta, jak i przedsiębiorstwa.