2010-05-14 94 views
2

Selenium(RC)正用於測試ASP.NET 1.1站點。ASP.NET MVC Head Verb和Selenium RC

當我們通過Selenium RC(通過配置的瀏覽器自動執行請求 - 在本例中爲Firefox)時,http動詞是「HEAD」。我們有幾個表單操作方法,分別用AcceptVerbs(HttpVerbs.Get)或HttpVerbs.Post分別裝飾GET和POST方法。這些方法返回404並記錄「無法找到公共操作方法」錯誤消息。

問題:

  • 當編寫單獨的GET/POST操作方法是什麼處理元首動詞的最佳做法?我們是否應該總是用AcceptVerbs(HttpVerbs.Get | HttpVerbs.Head)來裝飾?

  • 爲什麼Selenium RC自動化瀏覽器代替If-Modified-Since標題時會生成HEAD謂詞?

  • 我們也看到了使用HEAD動詞的(非主流)抓取工具的日誌條目。我們創建了robots.txt條目來阻止這些抓取工具將網站編入索引,但是現在我們想知道從SEO角度來看最好的做法是什麼。對HEAD爬行器做出迴應很重要嗎?有使用它的主流爬蟲嗎?它會影響SEO排名嗎?

+0

這是3個問題,它可能是值得分裂他們,然後給出正確的標籤,以獲得更好的答案 – AutomatedTester 2010-05-16 17:44:31

回答

3
  1. 是的,我認爲,只要你限制你的要求是隻得到,你應該始終允許頭他們以及 - 事實上,我認爲它應該建立在MVC框架(在我的待辦事項列表上的下一件事:在MVC錯誤跟蹤器中提出問題,[HttpGet]屬性應該以某種方式支持HEAD動詞)
  2. 我想知道這個問題的答案。與此同時,存在a suggested workaround - 將'true'作爲Selenium open()的第二個參數。
  3. 我不認爲它會影響SERP排名本身,但是我可以看到爬網程序如果HEAD給出404將不會請求整個頁面。根據HTTP規範(RFC2616),「HEAD方法與GET相同除了服務器不能在響應中返回消息主體「,所以,如果你正在做的事情 - 允許該方法並避免不公開的問題應該不成問題。