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。
