1. 請解釋什么是轉發與重定向,它們有什么區別
轉發:對web用戶是透明的,或者說在Web瀏覽器中的Url是不會變的,在服務器會根據Url去讀取特定的資源,並將資源的內容返回給客戶端
http://localhost:5000/test.tml
服務端資源對於用戶不一定是可訪問的
重定向:用戶是可見的,Web瀏覽器地址欄中的Url將改變
http://localhost:5000/test.tml
http://localhost:5000/abc.tml
服務端資源必須是可訪問的
2. 在Flask中如何轉發和重定向資源
from flask import * app = Flask(__name__) # 轉發 @app.route('/test') def test(): return app.send_static_file('test1.txt') # 重定向 @app.route('/abc') def abc(): return redirect('static/test1.txt') if __name__ == '__main__': app.run()
總結
轉發是讀取指定資源的內容,然后發送給客戶端,瀏覽器的Url是不變的。
而重定向會導致瀏覽器的Url發生變化,也就是讓瀏覽器重新訪問另一個Url。