【python socket編程】—— 4.實現redirect函數

前文:【python socket編程】—— 3.響應html


Flask框架中有一個redirect函數,用於實現頁面的跳轉,如今咱們來實現它。原理就是:當瀏覽器接受到服務器響應的狀態碼是301或者302時,表示請求的頁面已經永久或臨時性轉移到了新的位置,而這個新的位置儲存在響應的headerLocaiton這個字段。例如一個實現跳轉的響應以下:python

HTTP/1.1 302 OK 
Content-Type: text/html
Location: /login

這是一個很簡單的http響應,狀態碼302表示原先請求的網頁臨時性轉移到了/login'OK'這個沒有影響,能夠改爲任意東西,如'JUMP'),很明顯這就是用戶請求的頁面是須要登陸才能查看的。所以redirect函數能夠這樣寫:編程

def redirect(path):
    header = 'HTTP/1.1 302 JUMP\r\nContent-Type: text/html\r\n'
    location = 'Location: {}'.format(path)
    response = header + location
    return response.encode('utf-8')

下一篇文章:【python socket編程】—— 5.實現cookie和sessionsegmentfault

相關文章
相關標籤/搜索