私が理解している限りでHTTP
は、Hyper Text Transfer Protocol の略で、テキスト形式で Web サーバーとの間でデータを送受信します。この場合、ドキュメント/画像を Web サーバーに送信またはアップロードするにはどうすればよいですか?
2 に答える
HTTP
あなたが述べたように、ハイパーテキスト転送プロトコルを意味します。HTTPは、クライアントサービスを提供するコンピューターで要求/応答プロトコルとして機能します。これは、コンピューター(FirefoxやChromeなどのクライアント)でWebブラウザーを使用してナビゲートするときに、そのWebサイトからの情報を要求していることを意味します。
あなたの質問に答えて:すべてがとして転送されbytes
ます。単語のグループはバイトの文字列で構成され、単語のドキュメントはバイトの文字列であり、画像はご想像のとおり、バイトの文字列です。HTTPは、ブラウザーがサーバーと通信する方法であり、特定のコマンドを使用して、ユーザーはデータ(バイトの文字列)をサーバーに送信できます。
歴史的に、バイトはbits
コンピュータでテキストの1文字をエンコードするために使用される数でした。非常に簡単に言えば、すべてのデータはバイトで構成されており、それらHTTP
のバイトをAからBに転送できる1つの方法です。他の方法には、、、FTP
およびがPOP3
含まれます。UDP
TCP/IP
非常に簡単に言えば、HTTPは、サーバーとの間でコマンドを送受信することによって機能します。クライアントとサーバー間の要求/応答に一般的に使用される2つの方法は、GET
とPOST
です。GETリクエストは指定されたリソース(バイト単位)からのデータを要求し、POSTは処理されるデータを指定されたリソース(バイト単位)に送信します。次に、コンピュータはそれらのバイトを理解可能な形式に変換します-例:
Webサイト上の画像に移動します(ダウンロードします)。ブラウザはそれが画像であることを認識します(いくつかの方法で、しかし今のところ、画像はファイルであると言い
.png
ます)。ブラウザは、ダウンロードする画像があることを認識し、画像タグ間のそれらのバイトを変換して画像としてレンダリングします。次に、画像が画面に読み込まれるのを確認します(喜び!)。Word文書をWebサイトにアップロードします。HTTPは、ドキュメントが添付された状態でPOSTリクエストをサーバーに送信し、ドキュメントをバイト文字列として送信します。サーバーはそれをあなたまたはそれが指定する場所に置き、あなたはあなたのワード文書(バイトの長い文字列)をサーバーにアップロードしました。
つまり、簡単に言えば、すべてがに変換されbytes
ます。コンピューター上にあるドキュメントとWebサイトからダウンロードされた画像は、どちらも異なる量とバイトの組み合わせで構成されています。
私は実際にコンピュータサイエンスの学位を持っていないので、これを説明することに挑戦しました。ただし、次のリンクから詳細情報を見つけることができます。
Content-Type
HTTPでは、ヘッダーを使用して転送するデータのタイプを指定できます。内容は必ずしもテキストではありませんが、任意のバイトストリームにすることができます。
HTTP/1.1 200 OK
Server: carrier pigeon
Content-Type: image/jpeg
Date: today
...contents...
HTTPヘッダー、要求メッセージ、および応答メッセージはすべてプレーンテキストですが、コンテンツはテキストである必要はありません。
HTTPの元のバージョンはヘッダーをサポートしていなかったため、テキストと画像を区別する信頼できる方法はありませんでした。HTTP 1.0が登場すると、HTTPはハイパーテキストの転送に使用されるだけでなく、名前が固定されています。