Redirect header

Redirect header hii hutumika kuhamisha response kwendakwenye ukurasa mwingine. Yaani unaweza kuhamishwa kutoka ukurasa ambao upo kwa sasa, na kupelekwa kwenye ukurasa mwingine.

 

Redirect header huwekwa kwa kutumia http header field ya location.ikifuatiwa na link ya ukurasa ambao una response. Sasa redirect header inakuwa pamoja na http status.

 

Http status hii nihali ya ukurasa wa wavuti. Kwa mfano kabla hujafanya redirect kwenda kwenye ukurasa mwingine utatoa taarifa kwenye brower kuwa ukurasa huu umefanyiwa redirect permanent, ama temporary ama vinginevyo. Pia ni vyema kuweka exit() au die() baada ya redirect ili kuzuia kabisa execusion ya code. Ni kwa sababu sheria zinataka kuwa baada ya kutumia http redirect kusifuatiwe na maudhui mengine.



Sasa hizi permanent na temporary na nyininezo ni hal za hiyo http redirect. Tofauti na kutumia haya maneno utatumia code zake kutambulisha browser. Brower itaelewa hizo code. Wacha tuzione.

 

Http status code:-

  1. 301 - moved permanently hii humaanisha kuwa response ya ukurasa wa saa imehamishwa kwenye ukurasa mwingine permanent. Unapoweka hii ya permanent unaiambia search engine kama google ama mtumiaji kuwa huu ukurasa hautatumika tena, hivyo ni vyema kutumia ukurasa ambao utaweka kwenye redirect.

Mfano:

header('HTTP/1.1 301 Moved Permanently');

header('Location: https://example.com/new-url');

exit;

 

  1. 302 Found (temporary redirect) hii ina maana redirect hii ni temporary. Hii ina maana unaiambia search engine ama mtumiaji kuwa maudhui ya ukurasa huu yamehamishwa kwenye ukurasa mwingine temporary lakini anaweza kuaendelea kutumia ukurasa huu.

Mfano:

header('HTTP/1.1 302 Found');

header('Location: https://example.com/temporary-url');

exit;

 

  1. 303 see other hii ina maana response ya ukurasa huu inaweza kupatikana kwenye kurasa nyingine kwa kutumia GET methode. (tutajifunza kuhusu GET method huko mbele). Hii hutumika baada ya ku submit form, hivyo ili kuzuia form ku submit tena maudhui yaleyale.

Mfano:

header('HTTP/1.1 303 See Other');

header('Location: https://example.com/other-url');

exit;

 

  1. 307 temporary redirect: Hii ipo sawa na 302 ila hapa kilichoongezeka ni kuwa method na body ya request ya mwanzoni huweza kutumika tena ili kuweza kufanikisha redirect. (tutajifunza kuhusu body na medthod huko mbeleni)

Mfano:

header('HTTP/1.1 307 Temporary Redirect');

header('Location: https://example.com/temporary-url');

exit;



  1. 308 Permanent redirect: Hii ipo sawa na 301 ila hapa kilichoongezeka ni kuwa method na body ya request ya mwanzoni huweza kutumika tena ili kuweza kufanikisha redirect.

Mfano: 

header('HTTP/1.1 308 Permanent Redirect');

header('Location: https://example.com/new-url');

exit;

 

  1. Basic redirect: hii sio status ila nimeiweka tu kwenye hiiorodha. Hapa ni pale unataka tu ku redirect bila ya sababu yeyote. Hii hakuna haja ya kuweka http redirect status.

Mfano:

header('Location: https://example.com');

exit;

 

exit na die hizi hutumika katika kuzuia ama ku stop excusion of code. Ina maana zikitumika phphaiweze tena kuendelea ku run code hata kama code zinaendelea huko chini. So hizi zinaonyesha mwisho wa ku run code kwenye faili husika.

 

HTTP/1.1 ni niniasa?

Lamda unaweza kujiuliza hii http/1.1 ni nini hasa. Kwa ufupi hii inamaanisha http toleo la 1.1 yaani version ya 1.1. Ina maana kulikuwa na toleo la 1.0. Mwanzoni wakati internet inaanza ilianza na http kwa maana ya internet protocal.

 

Hattp ina maanisha hyper text transfer protocol. Kama utaongeza s kuwa https hiyo ni secured. So http/1.1 ni improvement ya http/1.0. Tutajifunza zaidi kuhusu hii ishu kwenye masomo yanayofuata.