Server. Transfer versus Response. Redirect
Server en Response zijn beide objecten in ASP. NET. Serverobject biedt methoden en eigenschappen voor verschillende taken met betrekking tot een server. Overdracht is een methode van het serverobject en het verzendt informatie over de huidige status naar een ander.asp-bestand voor verwerking. Response-object beschrijft methoden en eigenschappen met betrekking tot de respons van een server. Omleiden is een methode van het Response-object en het stuurt een bericht naar de browser waardoor het verbinding maakt met een andere URL. Hoewel zowel Server. Transfer als Response. Redirect kunnen worden gebruikt om een gebruiker van de ene pagina naar de andere over te brengen, verschillen ze in de manier waarop ze deze taak daadwerkelijk uitvoeren.
Wat is Response. Redirect?
Redirect is een methode in het Response-object. Wanneer de Response-methode wordt aangeroepen, stuurt deze de HTTP-code 302 en de URL van de opgevraagde webpagina naar de browser van de gebruiker. De HTTP-code 302 informeert de browser van de gebruiker dat de aangevraagde bron zich onder een andere URL bevindt. Wanneer de browser de code ontvangt, wordt de bron op de nieuwe locatie geopend. De opgevraagde webpagina kan zich op dezelfde server bevinden als de pagina die het verzoek bevatte of het kan zich op een andere server bevinden. Bij het aanvragen van een webpagina die zich op dezelfde server bevindt als de huidige pagina, kan de responsmethode als volgt worden gebruikt:
Response. Redirect ("nextPage.html");
Bij het opvragen van een webpagina die op een andere server staat, kan de responsmethode als volgt worden gebruikt:
Response. Redirect ("https://www.newServer.com/newPage.aspx");
Wat is Server. Transfer?
Zoals eerder vermeld, is Transfer een methode van het Server Object. Wanneer de overdrachtsmethode wordt aangeroepen, wordt het oorspronkelijke verzoek gewijzigd om naar een andere pagina op dezelfde server over te brengen. Wanneer een nieuwe pagina wordt aangevraagd met behulp van de Server. Transfer, verandert de URL die wordt weergegeven in de webbrowser van de gebruiker niet. Dit komt doordat de overdracht plaatsvindt aan de serverzijde en de browser geen kennis heeft van de overdracht. Door de tweede overbelasting voor Server. Transfer (string path, bool preserveForm) te gebruiken en de tweede parameter in te stellen als true, kunnen geplaatste formuliervariabelen en query-strings beschikbaar worden gemaakt voor de tweede pagina.
Wat is het verschil tussen Server. Transfer en Response. Redirect?
Hoewel zowel Server. Transfer als Response. Redirect kunnen worden gebruikt om een gebruiker van de ene pagina naar de andere over te brengen, zijn er enkele verschillen tussen de twee methoden. Naast het schijnbare syntactische verschil, maakt Response. Redirect een roundtrip naar de server, terwijl Server. Transfer de focus van de webserver naar een andere webpagina verandert. Daarom kunnen serverbronnen worden behouden door Server. Transfer te gebruiken. Aan de andere kant kan Response. Redirect worden gebruikt om de gebruiker om te leiden naar een webpagina op een andere server, terwijl Server. Transfer alleen kan worden gebruikt om de gebruiker om te leiden naar webpagina's op dezelfde server. Ook door Server. Transfer te gebruiken, zijn eigenschappen van de vorige pagina toegankelijk voor de nieuwe pagina, maar dit is niet mogelijk met Response. Redirect. Bovendien, Response. Redirect verandert de URL in de adresbalk van de browser wanneer de nieuwe pagina wordt geopend, maar bij gebruik van de server. Overdracht van de originele URL blijft behouden en de inhoud van de pagina is zojuist vervangen. De gebruiker kan het dus niet gebruiken om een bladwijzer voor de nieuwe pagina te maken.