PUT メソッドの挙動

HTTP通信におけるPUTメソッドの動きを調べてみました。
ApacheではデフォルトでPUTメソッドは禁止されているので、まずはPUTメソッドを許可する必要があります。
httpd.confを以下のように編集します。

<Directory "/var/www/dav">
AllowOverride all
Order allow,deny
Allow from all
DAV On
</Directory>

PUTメソッドを許可するディレクトリを指定して"DAV on"と記述することでPUTメソッドを使用できるようになります。
※事前に以下のようなwebdavのモジュールを有効にする必要があります。
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so

また対象のディレクトリに対してPUTメソッドを使用してファイルをアップロードするには、最低でもユーザに対して書き込み権限と実行権限を与える必要があります。chmodコマンドで必要な権限を与えます。

telnetで80番ポートに対してPUTのリクエストを送ります。
※必ず"Content-Length"を指定して2行分、改行してから(つまりEnterキーを2回押してから)メッセージ・ボディを入力すること

[example@user]# telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
PUT /dav/put.txt HTTP/1.0
Host: www.example.com
Content-Length: 5

Hello

HTTP/1.1 201 Created
Date: Sat, 31 May 2014 12:55:50 GMT
Server: Apache
Location: http://www.example.com/dav/put.txt
Content-Length: 266
Connection: close
Content-Type: text/html; charset=ISO-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>201 Created</title>
</head><body>
<h1>Created</h1>
<p>Resource /dav/put.txt has been created.</p>
<hr />

ファイルがアップロードされました。
[example@user]# ls
put.txt
[example@user]# cat put.txt
Hello


以上

この記事へのComments:

管理人のみ通知 :

Trackbacks:


プロフィール

トニヒコ

Author:トニヒコ
趣味は旅行と読書とマンガ。
将来の夢はコスモポリタン!

リンク・フリーです。

My hobby is traveling and reading(include manga).
My dream is to become cosmopolitan!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
スポンサード リンク
マクロミルへ登録
FC2カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR