HTTPプロトコル、手のラインとWebフレームワーク

まず、ソフトウェア開発フレームワーク

C / Sアーキテクチャ:クライアント:クライアント、サーバー:サーバー

B / Sのアーキテクチャ:ブラウザ:ブラウザ、サーバー:サーバー

PS:B / Sは、C / Sの性質であります

二、HTTPプロトコル

HTTPプロトコル:ハイパーテキスト転送プロトコル

4つの特性

  1. TCP / IPベースのアプリケーション層の演技オーバー
  2. 要求応答に基づいて、
  3. ステートレスクッキーセッショントークン...
  4. 接続なし長い接続用WebSocket(大型パッチHTTPプロトコル)

データフォーマット

1.リクエストのフォーマット

  • 要求(リクエストメソッド、プロトコルバージョン)の最初の行
  • リクエストヘッダ(ロットK:Vキーと値のペア)
  • / R / N
  • リクエストボディ(リアルタイムデータ要求は何を取得することではない場合にのみ、POSTリクエストを送信)

2.応答形式

  • 応答の最初の行
  • レスポンスヘッダ
  • / R / N
  • レスポンスボディ

応答ステータスコード

数字でいくつかの特定の意味を表します。

  • 1XX:サーバーは、データが処理されている、あなたは追加のデータを提出し続けることができます正常に受信しました
  • 2XX:サーバーの成功応答(200のリクエスト成功)
  • 3XX:リダイレクション(301、302)
  • 4XX:リクエスト・エラー(404要求されたリソースが存在しない場合、403回のアクセス拒否)
  • 5XX:内部サーバーエラー(500)

第三に、リクエストメソッド

リクエストを取得する:サーバーへのデータへ

ポストの要求:サーバーにデータを送信する(例:ユーザログイン)

(URL:ユニフォームリソースロケータ)

第四に、純粋な手のラインとWebフレームワーク

1.手のラインとWebフレームワークピュア:

  • 手動でソケットを書きます
  • マニュアルデータ処理形式のhttp

wsgirefモジュールに基づいて、2:

  • 上記処理モジュールは、二つのマニュアルを実装します
  • 異なるPYファイルの異なる機能を分割するためによると
  • urls.pyは、ルーティングおよび表示機能の対応関係を置きます
  • view.pyプットビュー機能(関数クラス)
  • あなたが機能を追加したい場合は、分割が完了した後、あなたはそれに手と足以上のちょうど2つの場所を必要とします

3.静的および動的なページ:

  • 静的ページ:フロントエンドのデータが死んで書かれています。
  • 動的ページ:リアルタイムデータ取得(例:フロントエンドデータベースバックエンドのデータ収集表示)。

4.jinja2モジュールは、テンプレートをレンダリング実装しています。

五、Pythonの三の大のWebフレームワーク

1、ジャンゴ:

  • 長所:大、特に特別な機能が付属して、空母に似て
  • 短所:時々あまりにも重いです

2、フラスコ:

  • 利点:小さいと細かい、特に小さな自身の特定の機能、レンジャーに類似するが、特に第3のモジュールと
  • 短所:サードパーティのモジュールに依存しすぎて

3、トルネード:

  • 非同期ノンブロッキング
  • ゲームサーバを開発するために回帰し
A:socket部分
B:路由与视图函数对应关系
C:模板语法

Django:
    A用的别人的(wsgiref),B和C都是自己写的
    
Flask:
    A用的别人的 werkzeug(基于wsgiref), C用的别人的(jinja2), B自己写的
    
Tornado:
    三个都是自己写的

六、Djangoの内容紹介

项目名
    跟项目名同名的文件夹
        settings.py 暴露给用户的配置文件
        urls.py 路由与视图函数对应关系
    应用名(app)
        migrations文件夹 存放数据库迁移记录的
        admin.py Django后台管理
        apps.py 注册相关
        models.py 模型类
        tests.py 测试文件
        views.py 存放视图函数
    templates文件夹 存放html文件
    manage.py Django入口文件

おすすめ

転載: www.cnblogs.com/17vv/p/11700412.html