ASP.NetMVC2プロジェクトで簡単なアクションメソッドを作成しました。
public class HomeController : Controller
{
public ActionResult TestMe()
{
return View();
}
}
次に、Fiddlerを起動し、次のURLにアクセスするためのHTTPGETリクエストを作成しました。
http://localhost.:51149/Home/TestMe
予想される全ページのコンテンツが返されました。
次に、HTTPGETの代わりにHTTPHEADを使用するようにリクエストを変更しました。予想される頭の情報だけを受け取り、生の出力には体の情報はありませんでした。
HTTP/1.1 200 OK
Server: ASP.NET Development Server/10.0.0.0
Date: Wed, 07 Jul 2010 16:58:55 GMT
X-AspNet-Version: 4.0.30319
X-AspNetMvc-Version: 2.0
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 1120
Connection: Close
私の推測では、HTTP GET動詞にのみ応答するように、アクションメソッドに制約を含めていると思います。このようなことを行うと、GETとHEADの両方で機能します。または、値が提供されない場合は、制約を完全に省略できます。
public class HomeController : Controller
{
[AcceptVerbs(new[] {"GET", "HEAD"})]
public ActionResult TestMe()
{
return View();
}
}