302 gevonden: wat het Is en hoe het te repareren

een 302 gevonden bericht is een HTTP response status code wat aangeeft dat de gevraagde bron tijdelijk is verplaatst naar een andere URI. Aangezien de locatie of huidige omleidingsrichtlijn in de toekomst gewijzigd kan worden, moet een client die een 302 Found antwoordcode ontvangt, de oorspronkelijke URI blijven gebruiken voor toekomstige aanvragen.,

helaas kan het moeilijk zijn om een onderscheid te maken tussen alle mogelijke HTTP response codes en de exacte oorzaak van fouten te bepalen, zoals de 302 Found code. Er zijn tientallen mogelijke HTTP-statuscodes die worden gebruikt om de complexe relatie tussen de client, een webapplicatie, een webserver en de veelheid aan webservices van derden weer te geven, dus het bepalen van de oorzaak van een bepaalde statuscode kan een uitdaging zijn., In dit artikel zullen we de 302 Found code onderzoeken door te kijken naar een paar tips voor het oplossen van problemen, samen met een aantal mogelijke oplossingen voor veelvoorkomende problemen die dit probleem kunnen veroorzaken binnen uw eigen webapplicaties, dus laten we aan de slag!

het probleem is Server-Side

alle HTTP response statuscodes die zich in de 3xx Categorie bevinden, worden beschouwd als redirection messages. Dergelijke codes geven aan de user agent (dat wil zeggen uw webbrowser) aan dat een extra actie nodig is om het verzoek te voltooien en toegang te krijgen tot de gewenste bron., In tegenstelling tot client error responses gevonden in de 4xx codes, zoals de 404 Not Found Error die we onlangs hebben onderzocht, wat kan voortvloeien uit een client – of server-side probleem, 302 Found code geeft over het algemeen een probleem aan op de eigenlijke webserver die uw toepassing host.

Dat gezegd hebbende, het uiterlijk van een 302 Found is meestal niet iets dat veel tussenkomst van de gebruiker vereist. Alle moderne browsers detecteren automatisch de302 Found responscode en verwerken de tijdelijke omleiding automatisch., De webserver die de toepassing host, zal doorgaans een speciale Location header bevatten als onderdeel van het antwoord dat het naar de client stuurt. DezeLocation header geeft de nieuwe URL aan waar de gevraagde bron kan worden gevonden. Als er bijvoorbeeld een verzoek binnenkomt om toegang te krijgen tot de URL , maar de webserver is geconfigureerd om omleiding naar een beveiligde versie te forceren met https, zal het antwoord van de server de Location: https://airbrake.io header bevatten., Dit vertelt de browser dat het deze enkele aanvraag moet omleiden naar naar de beveiligde URL van . In de meeste gevallen zal de browser automatisch deze 302 Found antwoordcode detecteren, de nieuwe Location URL lezen en het verzoek naar die nieuwe locatie doorsturen.

Het is echter belangrijk om in gedachten te houden dat de 302 Found response code wordt gebruikt voor compleet andere doeleinden dan de 301 Moved Permanently waar we vorige week naar keken., In het geval van de eerste, de omleiding moet tijdelijk zijn (dat wil zeggen alleen voor de huidige, enkele aanvraag) — de browser moet “onthouden” de oorspronkelijke URI en verwerken eventuele toekomstige verzoeken met behulp van dezelfde URI. Echter, met een301 Moved Permanently code wordt de browser verteld dat de originele URI niet langer geldig is, dus alle toekomstige verzoeken moeten de nieuwe URI gebruiken die wordt geleverd door deLocation header.,

aangezien de 302 Found aangeeft dat er iets mis is gegaan binnen de server van uw toepassing, kunnen we de client grotendeels negeren. Als u een probleem probeert te diagnosticeren met uw eigen applicatie, kunt u de meeste client-side code en componenten onmiddellijk negeren, zoals HTML, cascading style sheets (CSS), client-side JavaScript, enzovoort. Dit geldt ook niet alleen voor websites., Veel slimme telefoon apps die een modern ogende gebruikersinterface hebben, worden eigenlijk aangedreven door een normale webapplicatie achter de schermen; een die gewoon verborgen is voor de gebruiker. Als u een dergelijke toepassing gebruikt en een 302 Found optreedt, zal het probleem niet gerelateerd zijn aan de app die op uw telefoon of lokaal testapparaat is geïnstalleerd. In plaats daarvan zal het iets aan de server-kant zijn, dat het grootste deel van de logica en verwerking achter de schermen uitvoert, buiten het bereik van de lokale interface die aan de gebruiker wordt gepresenteerd.,

als uw toepassing onverwachte 302 Found responscodes genereert, kunt u een aantal stappen nemen om het probleem te diagnosticeren.

begin met een grondige applicatie back-up

zoals met alles, is het beter om het veilig te hebben gespeeld bij het begin dan om iets te verknallen en later spijt te krijgen. Als zodanig, is het van cruciaal belang dat u een volledige back-up van uw toepassing uit te voeren, database, enzovoort, voordat u een fixes of wijzigingen aan het systeem., Nog beter, als je de mogelijkheid hebt, maak dan een volledige kopie van de applicatie aan op een secundaire staging server die niet “live” is of anderszins niet actief en beschikbaar is voor het publiek. Dit geeft u een schone proeftuin waarmee u alle mogelijke oplossingen kunt testen om het probleem op te lossen, zonder de veiligheid of heiligheid van uw live-toepassing in gevaar te brengen.

diagnose van een 302 gevonden Responscode

A 302 Found responscode geeft aan dat de gevraagde bron tijdelijk moet worden geopend op een andere URI., Het is echter heel goed mogelijk dat de server verkeerd is geconfigureerd, waardoor het onjuist reageert met 302 Found codes, in plaats van de standaard en verwachte 200 OK code van een normale, functionele aanvraag. Een groot deel van het diagnosticeren van het probleem zal dus gaan door het proces van dubbele controle welke bronnen/URL ‘ s 302 Found responscodes genereren en bepalen of deze codes geschikt zijn of niet.,

als uw applicatie reageert met 302 Found codes die het niet zou moeten uitgeven, is dit een probleem dat veel andere bezoekers ook kunnen ervaren, waardoor de mogelijkheid van uw applicatie om gebruikers te bedienen aanzienlijk wordt belemmerd. We zullen gaan over een aantal tips en trucs voor het oplossen van problemen om u te helpen proberen om dit probleem op te lossen. Als niets hier werkt, vergeet dan niet dat Google je vriend is. Probeer te zoeken naar specifieke termen die gerelateerd zijn aan uw probleem, zoals de naam van de CMS-of webserversoftware van uw toepassing, samen met 302 Found., De kans is groot dat je anderen vindt die dit probleem hebben ervaren en een oplossing hebben gevonden.

problemen oplossen op de Server-kant

Hier zijn enkele extra tips om u te helpen problemen op te lossen waardoor de 302 Found op de server-kant van de dingen verschijnt:

bevestig uw serverconfiguratie

uw toepassing draait waarschijnlijk op een server die een van de twee populairste webserversoftware gebruikt, Apache of nginx., Op het moment van publicatie vormen beide webservers over 84% van ‘ s werelds webserversoftware! Een van de eerste stappen die u kunt nemen om te bepalen wat de oorzaak kan zijn van deze 302 Found response codes is het controleren van de configuratiebestanden voor uw webserversoftware op onbedoelde instructies.

om te bepalen welke webserver uw toepassing gebruikt, moet u naar een sleutelbestand zoeken. Als uw webserver Apache is, zoek dan naar een .htaccess bestand in de root directory van uw website bestandssysteem., Als uw toepassing zich bijvoorbeeld op een gedeelde host bevindt, heeft u waarschijnlijk een gebruikersnaam gekoppeld aan het hostingaccount. In een dergelijk geval wordt de rootmap van de toepassing meestal gevonden op het pad van /home/<username>/public_html/, dus het .htaccess bestand zou op /home/<username>/public_html/.htaccessstaan.

Als u het .htaccess bestand hebt gevonden, open het dan in een teksteditor en zoek naar regels die RewriteXXX richtlijnen gebruiken, die deel uitmaken van de mod_rewrite module in Apache., Hoe deze regels precies werken valt buiten het toepassingsgebied van dit artikel, maar het basisconcept is dat een RewriteCond richtlijn een tekstgebaseerd patroon definieert dat zal worden vergeleken met ingevoerde URL ‘ s. Als een bezoeker van de site een overeenkomende URL opvraagt, wordt de RewriteRule richtlijn die volgt op een of meer RewriteCond richtlijnen gebruikt om de daadwerkelijke omleiding van de aanvraag naar de juiste URL uit te voeren.,

bijvoorbeeld, hier is een eenvoudige RewriteCond en RewriteRule combinatie die overeenkomt met alle inkomende verzoeken tot example.com en stelt tijdelijk een omleiding op dezelfde URI op de temporary-example.com domein in de plaats:

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

let op de extra vlag aan het einde van de RewriteRule, waarin expliciet wordt gesteld dat de response code moet worden 302 aangeven in user-agents (browsers) dat dit een tijdelijke omleiding., Dus, als u een vreemde RewriteCond of RewriteRule richtlijnen in het .htaccess bestand dat niet lijkt te horen, probeer ze tijdelijk uit te commentaren (met behulp van de # karakter prefix) en herstart uw webserver om te zien of dit de probleem.

aan de andere kant, als uw server draait op nginx, moet u zoeken naar een compleet ander configuratiebestand., Dit bestand wordt standaard nginx.conf genoemd en bevindt zich in een van de enkele veel voorkomende mappen: /usr/local/nginx/conf, /etc/nginx, of /usr/local/etc/nginx. Eenmaal gevonden, open nginx.conf in een teksteditor en zoek naar rewrite richtlijnen die de redirect vlag gebruiken. Hier is bijvoorbeeld een eenvoudige block directive (d.w.z., een benoemde set van richtlijnen) dat stelt een virtuele server door het creëren van een tijdelijke omleiding van example.com om het temporary-example.com:

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

Rewrite richtlijnen nginx vergelijkbaar zijn met de RewriteCond en RewriteRule richtlijnen in de Apache, als ze de neiging om meer complexe tekst-gebaseerde patronen voor zoeken., Hoe dan ook, Kijk door uw nginx.conf bestand voor elke abnormale rewrite richtlijnen die de redirect vlag bevatten (de alternatieve permanent vlag zal 301 responscodes geven in plaats daarvan). Commentaar eventuele afwijkingen voordat u de server opnieuw opstart om te zien of het probleem is opgelost.

Controleer op verouderde Software

het RFC-specificatiedocument voor HTTP 1.,0 stelde dat het doel van een 302 Found responscode was om aan te geven dat de client een tijdelijke omleiding moet uitvoeren. Veel nieuwere browsers verwerken echter een 302 code ontvangen via een POST verzoek als een foutieve GET verzoek in plaats daarvan, wat problemen en verwarring veroorzaakte voor sommige webserver software die probeerde browsers de juiste taak te laten uitvoeren wanneer tijdelijke omleiding nodig was. Om dit op te lossen de HTTP 1.,1 RFC-specificatiedocument voegde de 303 See Other en 307 Temporary Redirect responscodes toe, die expliciete middelen zijn voor het verwerken van respectievelijk POST-to-GET en tijdelijke directe reacties.

schuur de Logs

bijna elke webapplicatie zal een of andere vorm van server-side logs bijhouden. Application logs zijn typisch de geschiedenis van wat de toepassing deed, zoals welke pagina ‘ s werden opgevraagd, welke servers het verbond, welke database resultaten het levert, enzovoort., Server logs zijn gerelateerd aan de hardware die de toepassing draait, en zal vaak details geven over de status en status van alle verbonden services, of zelfs alleen de server zelf. Google ‘logs’ als u een CMS gebruikt, of ‘logs’ en ‘logs’ als u een aangepaste toepassing uitvoert, om meer informatie te krijgen over het vinden van de logs in kwestie.

Debug uw toepassingscode

als al het andere mislukt, kan het zijn dat een probleem in een aangepaste code binnen uw toepassing het probleem veroorzaakt., Probeer te diagnosticeren waar het probleem kan komen uit door handmatig debuggen van uw toepassing, samen met het parsen door middel van toepassing en server logs. Idealiter maakt u een kopie van de gehele toepassing naar een lokale ontwikkelmachine en voert u een stap-voor-stap debugproces uit, waarmee u het exacte scenario opnieuw kunt maken waarin de 302 Found is opgetreden en de toepassingscode kunt bekijken op het moment dat er iets misgaat.,

ongeacht de oorzaak, het verschijnen van een 302 Found binnen uw eigen webapplicatie is een sterke indicatie dat u mogelijk een foutbeheerprogramma nodig hebt om dergelijke fouten in de toekomst automatisch te detecteren. Het beste van deze tools kan u en uw team zelfs onmiddellijk waarschuwen wanneer er een fout optreedt. Airbrake ‘ s error monitoring software biedt real-time fout monitoring en automatische uitzondering rapportage voor al uw ontwikkelingsprojecten., Airbrake ‘ s state of the art web dashboard zorgt ervoor dat u 24-uurs statusupdates ontvangt over de gezondheid en foutenpercentages van uw toepassing. Het maakt niet uit waar je aan werkt, Airbrake integreert gemakkelijk met de meest populaire talen en frameworks. Plus, Airbrake maakt het gemakkelijk om uitzondering parameters aan te passen, terwijl u volledige controle over de actieve fout filter systeem, zodat u alleen de fouten die het meest belangrijk te verzamelen.,

Bekijk vandaag nog Airbrake ’s error monitoring software en ontdek zelf waarom zoveel van’ s werelds beste technische teams Airbrake gebruiken om hun exception handling practices te veranderen!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *