nodejs と Python_node.js を使用して作成された単純な HTTP 静的ファイル サーバー
日常の開発プロセスでは、CDN 上に配置されたいくつかの静的ファイル (JavaScript、CSS、HTML ファイルなど) を変更する必要があることがよくあります。このプロセスでは、オンライン CDN をマッピングする方法が必要になります。ディレクトリからローカルへ ハードディスク上のディレクトリ。これにより、ファイルをローカルで変更する場合、公開する必要がなく、更新後すぐにその効果が確認できます。
たとえば、CDN ドメイン名は http://a.mycdn.com で、対応するローカル ディレクトリは D:workassets です。すべてのユーザーが http://a.mycdn.com/* にアクセスできるようにします。ローカルの D:workassets* に移動します。たとえば、http://a.mycdn.com/s/atp.js にアクセスすると、実際には、インターネットからオンライン ファイルをダウンロードせずに、ローカルの D:workassetssatp.js を読み取っていることになります。
この関数の実装は非常に簡単で、重要なポイントは次のとおりです:
1. HTTP サービスをローカルで開き、ポート 80 をリッスンします。
2. システムのホスト ファイルを変更し、「127.0.0.1 a.mycdn.com」を追加し、CDN ドメイン名をローカル サーバー アドレスにバインドします。
3. ローカル HTTP サービスを設定します。GET リクエストを受信した後、まず、対応するファイルがローカル ハードディスク上に存在するかどうかを確認します。存在しない場合は、そのファイルの内容がオンラインで返されます。返されます。
ご覧のとおり、重要な部分はローカル HTTP サービスを構築することです。この分野には、Apache や Ngnix などのサーバー ソフトウェアをローカルにインストールし、対応する転送ルールを構成するなど、多くのチュートリアルがあります。ただし、この方法はまだ少し複雑だと個人的に感じています。この記事で紹介するのは、サーバー ソフトウェアのインストールを必要としない別の方法です。
ローカルで開発とデバッグを行っているため、パフォーマンスと同時実行性の要件は高くありません。そのため、実際には Apache/Ngnix のような専門的な HTTP ソフトウェアは必要ありません。必要なのは、HTTP サービスを提供できるスクリプトだけです。たとえば、nodejs を使用して実装します。
*
**/
var http = require("http"), url = require("url"),
パス = require("パス"),
fs = require("fs"),
local_folders、
Base_url;
local_folders = [ // ローカル パス。エージェントはこのリストのディレクトリでファイルを検索し、見つからない場合はオンライン アドレス
];
base_url = "http://10.232.133.214" // オンライン パス、ファイルが見つからない場合は、このアドレスにリダイレクトします
;
var i, l = local_folders.length,
fn;
console.log(" パス名をロードしてみます ");
for (i = 0; i fn = local_folders[i] パス名;
fs.readFile(fn, function (err, data) {
response.writeHead(302, {
});
console.log("「パス名」のリクエストを受信しました。");
Response.writeHead(200);
Response.write(data);
Response.end();
});
戻る;
}
応答.end();
}
http.createServer(
var req_url = request.url,
// http://a.tbcdn.cn/??p/global/1.0/global-min.css,tbsp/tbsp.css?t=20110920172000.css に似たリクエストを処理します
loadFile(パス名, 応答);
}).listen(80);
http 経由でパスにアクセスすると、上記のスクリプトはまず対応するローカル ディレクトリを検索し、見つからない場合は対応するオンライン ディレクトリに直接ジャンプします。住所。見つからない場合の別の解決策は、ローカル サーバーにオンラインから対応するコンテンツをダウンロードさせて返すことですが、この要件の場合は 302 ジャンプで十分です。
nodejs バージョンに加えて、Python バージョンも作成しました:
# -*- コーディング: utf-8 -*-
#
# 作者: oldj
#
OS をインポート
BaseHTTPServer をインポート
LOCAL_FOLDERS = [
"D:/work/assets"
]
BASE_URL = "http://10.232.133.214"
クラス WebRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_GET(self):
print "「%s」のリクエストを受け取りました。" % self.path
LOCAL_FOLDERS 内のフォルダー:
fn = os.path.join(folder, self.path.replace("/", os.sep)[1:])
if os.path.isfile(fn):
self.send_response(200)
self.wfile.write(open(fn, "rb").read())
休憩
その他:
self.send_response(302)
self.send_header("場所", "%s%s" % (BASE_URL, self.path))
server = BaseHTTPServer.HTTPServer(("0.0.0.0", 80), WebRequestHandler)
server.serve_forever()
ご覧のとおり、Python バージョンのバージョンは、nodejs バージョンよりも正確に向上しています。
上の 2 段階コードの機能は、出力コンテンツのない場合の MIME タイプ、コンテンツ長などの情報に比べて、起こり得るブロック操作 (文書の長時間取得など) に対しても特別な処理を行っていません。実際に公開されている環境では、これらはすでに動作可能なバージョンですが、さらに多くの要求を満たすために、この 2 つのスクリプトを継続して拡張することもできます。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









VSコード拡張機能は、悪意のあるコードの隠れ、脆弱性の活用、合法的な拡張機能としての自慰行為など、悪意のあるリスクを引き起こします。悪意のある拡張機能を識別する方法には、パブリッシャーのチェック、コメントの読み取り、コードのチェック、およびインストールに注意してください。セキュリティ対策には、セキュリティ認識、良好な習慣、定期的な更新、ウイルス対策ソフトウェアも含まれます。

VSコードでは、次の手順を通じて端末でプログラムを実行できます。コードを準備し、統合端子を開き、コードディレクトリが端末作業ディレクトリと一致していることを確認します。プログラミング言語(pythonのpython your_file_name.pyなど)に従って実行コマンドを選択して、それが正常に実行されるかどうかを確認し、エラーを解決します。デバッガーを使用して、デバッグ効率を向上させます。

VSコードはWindows 8で実行できますが、エクスペリエンスは大きくない場合があります。まず、システムが最新のパッチに更新されていることを確認してから、システムアーキテクチャに一致するVSコードインストールパッケージをダウンロードして、プロンプトとしてインストールします。インストール後、一部の拡張機能はWindows 8と互換性があり、代替拡張機能を探すか、仮想マシンで新しいWindowsシステムを使用する必要があることに注意してください。必要な拡張機能をインストールして、適切に動作するかどうかを確認します。 Windows 8ではVSコードは実行可能ですが、開発エクスペリエンスとセキュリティを向上させるために、新しいWindowsシステムにアップグレードすることをお勧めします。

VSコードはPythonの書き込みに使用でき、Pythonアプリケーションを開発するための理想的なツールになる多くの機能を提供できます。ユーザーは以下を可能にします。Python拡張機能をインストールして、コードの完了、構文の強調表示、デバッグなどの関数を取得できます。デバッガーを使用して、コードを段階的に追跡し、エラーを見つけて修正します。バージョンコントロールのためにGitを統合します。コードフォーマットツールを使用して、コードの一貫性を維持します。糸くずツールを使用して、事前に潜在的な問題を発見します。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

VSコードはMacで利用できます。強力な拡張機能、GIT統合、ターミナル、デバッガーがあり、豊富なセットアップオプションも提供しています。ただし、特に大規模なプロジェクトまたは非常に専門的な開発の場合、コードと機能的な制限がある場合があります。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

VSコードでJupyterノートブックを実行するための鍵は、Python環境が適切に構成されていることを確認し、コードの実行順序がセルの順序と一致していることを理解し、パフォーマンスに影響を与える可能性のある大きなファイルまたは外部ライブラリに注意することです。 VSコードで提供されるコードの完了とデバッグ機能は、コーディング効率を大幅に改善し、エラーを減らすことができます。
