302 Found: Hva Det Er og Hvordan for å Fikse Det

En 302-Funnet er en HTTP response status code som indikerer at den forespurte ressursen har vært midlertidig flyttet til en annen URI. Siden plasseringen eller gjeldende omdirigering direktiv kan endres i fremtiden, en klient som mottar en 302 Found svar-koden skal fortsette å bruke den opprinnelige URI for fremtidige forespørsler.,

Dessverre, kan det være vanskelig å skille mellom alle mulige HTTP-svar-koder og bestemme den eksakte årsaken til feil som 302 Found – koden. Det er dusinvis av mulige HTTP-statuskoder som brukes til å representere komplekse forholdet mellom klient, en web-applikasjon, en web server, og mange tredjeparts web-tjenester som kan være i bruk, så å finne årsaken til en bestemt status code kan være utfordrende., I denne artikkelen vil vi undersøke 302 Found – koden ved å se på noen tips om feilsøking, sammen med noen potensielle løser vanlige problemer som kan være årsaken til dette problemet i din egen web-applikasjoner, så la oss få til det!

Problemet er Server-Side

Alle HTTP-svar status koder som er i 3xx kategorien er vurdert redirection messages. Slike koder indikere til brukeren agent (dvs. din nettleser) som et ytterligere tiltak er nødvendig for å fullføre forespørsel og få tilgang til ønsket ressurs., I motsetning til client error responses funnet i 4xx – koder, som 404 Not Found Error vi utforsket nylig, som kan enten stammer fra en klient – server-side problemet, 302 Found kode generelt indikerer et problem på selve web-server hosting av din søknad.

når Det er sagt, utseendet av en 302 Found er vanligvis ikke noe som krever mye tilsyn. Alle moderne nettlesere vil automatisk oppdage 302 Found svar kode og behandle midlertidig omadressering handling automatisk., Web server hosting programmet vil vanligvis omfatte en spesiell Location topptekst som en del av svaret sendes til klienten. Denne Location overskriften indikerer den nye URL-adressen der den forespurte ressursen kan bli funnet. For eksempel, hvis det kommer en forespørsel i å få tilgang til URL , men web-serveren er konfigurert til å tvinge omdirigering til en sikker versjon ved hjelp av https, svar fra serveren vil omfatte Location: https://airbrake.io topp., Dette forteller nettleseren at den skal omdirigere dette enkelt forespørsel til til sikret URL . I de fleste tilfeller, vil nettleseren automatisk oppdage dette 302 Found svar-koden, kan du lese den nye Location URL-adressen, og sender anmodning til den nye plasseringen.

det er Imidlertid viktig å huske på at 302 Found svar-koden er brukt til helt andre formål enn 301 Moved Permanently vi så på i forrige uke., I tilfelle av tidligere, omadressering bør være midlertidig (dvs. bare for den gjeldende, enkelt forespørsel) — leseren skal «huske» den opprinnelige URI og behandle eventuelle fremtidige forespørsler om å bruke det samme URI. Men, med en 301 Moved Permanently kode leseren blir fortalt at den opprinnelige URI er ikke lenger gyldig, slik at alle fremtidige forespørsler skal bruke den nye URI gitt av Location topp.,

Siden 302 Found indikerer at noe har gått galt i server av programmet, kan vi i stor grad se bort fra client siden av ting. Hvis du prøver å diagnostisere et problem med din egen søknad, kan du umiddelbart ignorere de fleste klient-side kode og komponenter, for eksempel HTML, CSS (cascading style sheets), klient-side JavaScript, og så videre. Dette gjelder ikke kun for å nettsteder, enten., Mange smart-phone-apper som har et moderne utseende brukergrensesnittet er faktisk drevet av en vanlig web-applikasjon bak kulissene, en som er bare skjult fra brukeren. Hvis du bruker en slik søknad og en 302 Found forekommer, er problemet ikke kommer til å være knyttet til appen installert på telefonen eller lokale testing enheten. I stedet, vil det bli noe på server-siden, som utfører de fleste av logikk og behandling bak kulissene, utenfor oppgavene til det lokale grensesnittet som presenteres til brukeren.,

Hvis din søknad genererer uventet 302 Found svar koder det finnes en rekke tiltak du kan ta for å diagnostisere problemet.

Start Med en Grundig Søknad Backup

Som med alt annet, det er bedre å ha spilt det trygt i starten enn å skru opp noe og kommer til å angre på det senere på nedover veien. Som sådan, er det viktig at du utfører en fullstendig sikkerhetskopiering av din søknad, database, og så videre, før du prøver noen reparasjoner eller endringer i systemet., Enda bedre, hvis du har mulighet, kan du opprette en komplett kopi av programmet på en sekundær staging – server som ikke er «live», eller ikke er ellers aktiv og tilgjengelig for publikum. Dette vil gi deg en ren prøvefelt med å teste alle mulige reparasjoner for å løse problemet, uten truer sikkerheten eller hellighet av det aktive programmet.

Diagnostisere en 302-Funnet Svar Kode

En 302 Found svar-koden angir at den forespurte ressursen bør midlertidig nås på en annen URI., Men, det er fullt mulig at serveren er feilkonfigurert, forårsaker den til å svare feil med 302 Found – koder, i stedet for standard og forventet 200 OK – koden i et normalt, funksjonelle forespørsel. Dermed er en stor del av diagnostisere problemet vil være å gå gjennom prosessen med å dobbelt-sjekke hvilke ressurser/url-er genererer 302 Found svar koder og avgjør om disse kodene er hensiktsmessig eller ikke.,

Hvis din søknad er å svare med 302 Found koder som det bør ikke være å utstede, dette er en sak som mange andre besøkende kan oppleve som godt, dramatisk hindre programmets evne til å betjene brukerne. Vi vil gå over noen feilsøking tips og triks for å hjelpe deg med å prøve å løse dette problemet. Hvis ingenting her fungerer, ikke glem at Google er din venn. Prøv å søke etter bestemte vilkår knyttet til problemet, for eksempel navnet på programmet er CMS eller web server-programvare, sammen med 302 Found., Sjansene er du vil finne andre som har opplevd dette problemet, og har funnet en løsning.

Feilsøking på Server-Siden

Her er noen flere tips for å hjelpe deg med å feilsøke hva som kan være årsaken 302 Found vises på server-siden av ting:

Bekreft Din Server Konfigurasjon

Din søknad er sannsynlig kjører på en server som bruker en av de to mest populære web server programvare Apache eller nginx., På tidspunktet for publisering, begge av disse web-servere som utgjør over 84% av verdens web server programvare! Dermed er en av de første trinnene du kan ta for å finne ut hva som kan være årsaken til disse 302 Found svar koder er å kontrollere konfigurasjonen filer til web-server-programvare for utilsiktede omdirigere instruksjoner.

for Å finne ut hvilken web-serveren din søknad ved hjelp av vil du ønsker å se etter en nøkkel-fil. Hvis webserveren Apache deretter se etter en .htaccess fil i roten av ditt nettsted file system., For eksempel, hvis søknaden din er på en delt verten som du vil sannsynligvis ha et brukernavn som er forbundet med hosting konto. I et slikt tilfelle, programmet rotkatalogen er vanligvis funnet på banen av /home/<username>/public_html/ slik .htaccess filen vil være på /home/<username>/public_html/.htaccess.

Hvis du ligger .htaccess fil og deretter åpne det i en tekst-editor og se etter linjer som bruker RewriteXXX direktiver, som er en del av mod_rewrite modulen i Apache., Som dekker nøyaktig hvordan disse reglene arbeidet er godt utenfor omfanget av denne artikkelen, men det grunnleggende konseptet er at en RewriteCond direktivet definerer en tekst-basert mønster som vil bli matchet mot inn Nettadresser. Hvis en samsvarende URL er forespurt av en besøkende til nettstedet, RewriteRule direktiv som følger en eller flere RewriteCond direktiver brukes til å utføre den faktiske omdirigering av anmodning til den aktuelle URL-adressen.,

For eksempel, her er en enkel RewriteCond og RewriteRule kombinasjon som passer alle innkommende forespørsler til example.com og etablerer en midlertidig omadressering til at samme URI på temporary-example.com domene i stedet:

RewriteEngine onRewriteCond %{HTTP_HOST} ^example\.com$RewriteRule ^(.*)$ http://www.temporary-example.com/$1 

legg Merke til den ekstra flagget på slutten av RewriteRule, som uttrykkelig sier at responsen koden skal være 302, som viser til nettlesarar (nettlesere) at dette er en midlertidig viderekobling., Dermed, hvis du finner noen merkelige RewriteCond eller RewriteRule direktivene i .htaccess fil som ikke synes å tilhøre, kan du prøve midlertidig kommentere dem ut (ved hjelp av # karakter prefiks) og starte din web-server for å se om dette løser problemet.

På den annen side, hvis din server kjører på nginx, vil du trenger å lete etter en helt annen konfigurasjon-fil., Som standard er denne filen som heter nginx.conf og ligger i et av de få felles kataloger: /usr/local/nginx/conf, /etc/nginx, eller /usr/local/etc/nginx. Når du ligger, åpne nginx.conf i en tekst-editor og se etter rewrite direktiver som bruker redirect flagg. For eksempel, her er en enkel block directive (dvs., en navngitt sett av direktiver) som konfigurerer en virtuell server ved å opprette en midlertidig omadressering fra example.com til temporary-example.com:

server { listen 80; listen 443 ssl; server_name www.example.com; rewrite ^/$ http://www.temporary-example.com redirect;}

Rewrite direktiver i nginx er lik RewriteCond og RewriteRule direktiver funnet i Apache, som de har en tendens til å inneholde mer kompleks tekst-basert mønstre for å søke., Uansett, ser du gjennom din nginx.conf fil for eventuelle unormale rewrite direktiver som omfatter redirect flagg (den alternative permanent flagg vil utstede 301 svar-koder i stedet). Kommentar ut noe unormalt før omstart av serveren for å se om problemet ble løst.

se etter Utdatert Programvare

RFC spesifikasjon dokument for HTTP-1.,0 uttalt at formålet med en 302 Found svar-kode for å angi klient skal utføre en midlertidig omadressering. Imidlertid, mange nyere nettlesere vil behandle en 302 kode mottatt via en POST forespørsel som en feilaktig GET be om stedet, som forårsaket problemer og forvirring for noen web-server programvare som prøver å få lesere til å utføre riktig oppgave når midlertidig omadressering var nødvendig. For å løse denne HTTP-1.,1 RFC spesifikasjon dokument lagt 303 See Other og 307 Temporary Redirect svar-koder, som er eksplisitt hjelp av håndtering POST-to-GET og midlertidige direkte svar, henholdsvis.

Skuring Logger

Nesten alle web-applikasjonen vil holde noen form for server-side og logger. Application logs er vanligvis historien om hva programmet gjorde, for eksempel hvilke sider som ble forespurt, som servere den er koblet til, noe som database resultater det gir, og så videre., Server logs knyttet til selve maskinvaren som kjører programmet, og vil ofte gi deg opplysninger om helse-og status på alle tilkoblede tjenester, eller til og med bare selve serveren. Google «logger» hvis du bruker et CMS eller «logs» og «logger» hvis du kjører et egendefinert program, for å få mer informasjon om å finne den logger seg i spørsmålet.

Debug Din Søknad Kode

Hvis alt annet svikter, kan det være et problem i noen egendefinerte koden i appen din som forårsaker problemet., Prøv å diagnostisere hvor problemet kan komme fra gjennom manuelt debugging søknaden, sammen med analysering gjennom programmet og server logger. Ideelt sett, kan du lage en kopi av hele programmet til en lokal utvikling-maskinen og utføre en trinn-for-trinn-debug-prosessen, som vil tillate deg å gjenskape den eksakte situasjon der 302 Found oppstått og se programmet kode det øyeblikket noe går galt.,

uansett hva årsaken er, utseendet til en 302 Found i din egen web-applikasjon er en sterk indikasjon på at det kan hende du trenger en feil management verktøy for å hjelpe deg å automatisk oppdage slike feil i fremtiden. Den beste av disse verktøyene kan også varsle deg og ditt team umiddelbart når det oppstår en feil. Airbrake er feil overvåking programvare gir real-time error overvåking og automatisk unntak rapportering for alle utviklingsprosjekter., Airbrake state of the art web-oversikten sikrer at du får round-the-klokke status oppdateringer på programmet for helse og feil priser. Uansett hva du arbeider på, Airbrake enkelt integreres med alle de mest populære språkene og rammeverkene. Plus, Airbrake gjør det enkelt å tilpasse unntak parametre, samtidig som det gir deg full kontroll over aktive feil filter system, slik at du bare samle de feil som betyr mest for deg.,

Sjekk ut Airbrake er feil overvåking programvare, i dag og se selv hvorfor så mange av verdens beste engineering team bruk Airbrake å revolusjonere deres unntak håndtering praksis!

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *