Django知識總結(一)

1. 簡述Http協議?
  - 超文本傳輸協議
  - 特色:
    - 無狀態,請求響應以後,再次發起請求時,不認識。
    - 短鏈接,一次請求和一次響應就斷開鏈接。
  - 格式:
    - GET請求:輸入地址回車:https://passport.jd.com/new/login.aspx?ReturnUrl=https%3A%2F%2Fwww.jd.com%2F
    請求由兩部分組成:請求頭和請求體,請求頭和請求體經過\r\n\r\n分割,請求頭和請求頭之間經過\r\n分割。
    """GET /new/login.aspx?ReturnUrl=https%3A%2F%2Fwww.jd.com%2F http1.1\r\nhtml

    User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36\r\ndjango

    Host:jd.com\r\n\r\n"""
    響應由兩部分組成:響應頭和響應體,
    b'HTTP/1.1 200 OK\r\nDate: Mon, 05 Nov 2018 01:15:31 GMT\r\nServer: Apache\r\n瀏覽器

    Last-Modified: Tue, 12 Jan 2010 13:48:00 GMT\r\nETag: "51-47cf7e6ee8400"\r\nsocket

    Accept-Ranges: bytes\r\nContent-Length: 81\r\nCache-Control: max-age=86400\r\nExpiresTue, 06 Nov 2018 01:15:31 GMT\r\n函數

    Connection: Keep-Alive\r\nContent-Type: text/html\r\n\r\n <html><head> .... </html>'

    - POST請求:
    請求由兩部分組成:請求頭和請求體
    """POST /new/login.aspx?ReturnUrl=https%3A%2F%2Fwww.jd.com%2F http1.1\r\nspa

    User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36\r\nhtm

    Host:jd.com\r\n\r\nusername=haoxu666&password=123"""中間件

      響應:
    b'HTTP/1.1 200 OK\r\n生命週期

    Date: Mon, 05 Nov 2018 01:15:31 GMT\r\n路由

    Server: Apache\r\nLast-Modified: Tue, 12 Jan 2010 13:48:00 GMT\r\n

    ETag: "51-47cf7e6ee8400"\r\n

    Accept-Ranges: bytes\r\n

    Content-Length: 81\r\n

    Cache-Control: max-age=86400\r\n

    Expires:Tue, 06 Nov 2018 01:15:31 GMT\r\n

    Connection: Keep-Alive\r\n

    Content-Type: text/html\r\n\r\n

    用戶名或密碼錯誤'

2. 你瞭解的請求頭都有什麼?
  - User-Agent,設備信息。
  - Host,當前訪問的主機名稱。
  - referrer,作防盜鏈。
  - Content-Type: ....


3. 你瞭解的請求方式有哪些?

  - GET/POST/PUT/PATCH/DELETE/OPTIONS 

4. django請求的生命週期

  瀏覽器上輸入 http://www.oldboyedu.com 地址回車發生了什麼?  - 瀏覽器輸入:http://www.oldboyedu.com 回車  - DNS解析,將域名解析成IP。  - 瀏覽器(socket客戶端),根據IP和端口(80)建立鏈接,發送請求。  - 服務端接收請求  - 實現了wsgi協議的模塊,如:wsgiref接收到用戶請求。  - 而後將請求轉交給django的中間件,執行中間件的process_request(process_view)。  - 路由系統進行路由匹配。  - 匹配成功執行視圖函數,視圖函數進行業務處理(ORM操做數據+模板渲染)  - 交給中間件的process_response方法  - wsigref的socket.send,將結果返回給瀏覽器。  - 斷開socket鏈接。  - 瀏覽器斷開鏈接。

相關文章
相關標籤/搜索