テスト用更新Pingダミーサーバーを作成して検証。アクセスアップにつながるのか?
更新Pingとは
更新Pingとは、ブログなどを更新した際に、更新した事を通知する仕組みです。
ブログの設定で更新通知を送るサーバーを設定しておくと、記事の更新時にブログ名とブログのトップページのURLがサーバーに通知されます。
この情報を元に、受信サーバーは、RSSなどを取得したりして、更新情報を取得し、新着記事などとしてリンクを作成したりするのに使ったり、ブログ検索などにエントリーされます。
これによって、自分のブログへのリンクが増えたり、検索サイトでヒットする確率が増えるので、アクセス増加の可能性があります。
更新通知サービスが使えないブログ
楽天ブログでは、この更新Pingを送るサービスがありません。(と思います)
トラックバックPingなどのサービスを利用して、更新通知を送る事はできますが、更新Pingサーバーの設定はできないと思います。
このココログもベーシックだからか、自由な追加はできないみたいです。
あらかじめ用意された選択肢にチェックするようになっています。
ブロガーも設定方法がわかりませんでした。
そこで、自作しようというのが、そもそもの企みでした。
しかしながら、あまりいい加減に、現在稼動中のサービスに頻繁に更新Pingを送るのも迷惑ですし、実際にキチンと届いているのか。
また、送られるデータの形式は、本当に正しいのかを判断する事ができません。
更新Pingのしくみ
更新Pingは、RPC (Remote Procedure Call) という仕組みを使います。
リモートの手続きをコールします。
他のサーバーで動いているプログラムに、何らかのデータを渡して処理を行ってもらいます。
プログラミング言語のパスカル (Pascal) では、プロシージャは、値を返しませんが、RPCは戻値というか、レスポンスを返します。
これは、RPCがCGIなどのウェブアプリケーションで作られていて、HTTPアクセスに対する応答が必要だからではないかと思います。
更新Pingに更新を通知するには、XMLという形式のデータを、サーバーにPOSTします。
受信サーバーは、更新通知が送られてくると、エラーかどうかの情報と、そのメッセージ文字列をXML形式で戻してくれます。
しかし、実際には、エラーなし、「Thanks for the ping.」なんてメッセージが戻ってきても、本当に正常に送られているのかどうか、わかりません。
Pingサーバーにアクセスしている事、結果を受け取っている事は確認できますが、その先でブログ名が文字化けしてしまったり、URLが空文字列だったりという事があるかもしれません。
更新Pingを受け取ってみよう
そこで、正しく送られているであろう更新通知と、自作した更新通知を比較してみようと思い、受信した更新通知のXMLをファイル出力するCGIを作成しました。
そして、更新Ping送信機能のあるブログから、自作のPingサーバーに更新通知を送ります。
次に、自作のツールで更新通知を送ります。
その二つを比較してみました。
結果は、ほぼ同じでした。
<?xml version="1.0"?>
が、
<?xml version="1.0" encoding="UTF8"?>
だったりしましたが、調べてみると、encodingを省略した場合にはUTF-8として扱われるようなので、問題はなさそうです。
ということで、どうやら正常に送られていると考えて良さそうです。
ちょっとでも、アクセスアップにつながるといいかなと。
更新Pingとは、ブログなどを更新した際に、更新した事を通知する仕組みです。
ブログの設定で更新通知を送るサーバーを設定しておくと、記事の更新時にブログ名とブログのトップページのURLがサーバーに通知されます。
この情報を元に、受信サーバーは、RSSなどを取得したりして、更新情報を取得し、新着記事などとしてリンクを作成したりするのに使ったり、ブログ検索などにエントリーされます。
これによって、自分のブログへのリンクが増えたり、検索サイトでヒットする確率が増えるので、アクセス増加の可能性があります。
更新通知サービスが使えないブログ
楽天ブログでは、この更新Pingを送るサービスがありません。(と思います)
トラックバックPingなどのサービスを利用して、更新通知を送る事はできますが、更新Pingサーバーの設定はできないと思います。
このココログもベーシックだからか、自由な追加はできないみたいです。
あらかじめ用意された選択肢にチェックするようになっています。
ブロガーも設定方法がわかりませんでした。
そこで、自作しようというのが、そもそもの企みでした。
しかしながら、あまりいい加減に、現在稼動中のサービスに頻繁に更新Pingを送るのも迷惑ですし、実際にキチンと届いているのか。
また、送られるデータの形式は、本当に正しいのかを判断する事ができません。
更新Pingのしくみ
更新Pingは、RPC (Remote Procedure Call) という仕組みを使います。
リモートの手続きをコールします。
他のサーバーで動いているプログラムに、何らかのデータを渡して処理を行ってもらいます。
プログラミング言語のパスカル (Pascal) では、プロシージャは、値を返しませんが、RPCは戻値というか、レスポンスを返します。
これは、RPCがCGIなどのウェブアプリケーションで作られていて、HTTPアクセスに対する応答が必要だからではないかと思います。
更新Pingに更新を通知するには、XMLという形式のデータを、サーバーにPOSTします。
受信サーバーは、更新通知が送られてくると、エラーかどうかの情報と、そのメッセージ文字列をXML形式で戻してくれます。
しかし、実際には、エラーなし、「Thanks for the ping.」なんてメッセージが戻ってきても、本当に正常に送られているのかどうか、わかりません。
Pingサーバーにアクセスしている事、結果を受け取っている事は確認できますが、その先でブログ名が文字化けしてしまったり、URLが空文字列だったりという事があるかもしれません。
更新Pingを受け取ってみよう
そこで、正しく送られているであろう更新通知と、自作した更新通知を比較してみようと思い、受信した更新通知のXMLをファイル出力するCGIを作成しました。
そして、更新Ping送信機能のあるブログから、自作のPingサーバーに更新通知を送ります。
次に、自作のツールで更新通知を送ります。
その二つを比較してみました。
結果は、ほぼ同じでした。
<?xml version="1.0"?>
が、
<?xml version="1.0" encoding="UTF8"?>
だったりしましたが、調べてみると、encodingを省略した場合にはUTF-8として扱われるようなので、問題はなさそうです。
ということで、どうやら正常に送られていると考えて良さそうです。
ちょっとでも、アクセスアップにつながるといいかなと。
テスト用ダミーPingサーバーソース
#!/usr/bin/local/perl
# 受信データ読み込み
read (STDIN, $xml, $ENV{CONTENT_LENGTH});
# ファイルに出力
open OUT, ">> ping.xml";
print OUT $xml . "\n\n";
close OUT;
# 結果出力
print <<EOF
content-type: text/xml
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value>
<struct>
<member>
<name>flerror</name>
<value><boolean>0</boolean></value>
</member>
<member>
<name>message</name>
<value><string>Thanks for the ping.</string></value>
</member>
</struct>
</value>
</param>
</params>
</methodResponse>
EOF
こんな感じで、エラー処理も何もしていないテストCGIを作りました。
危なっかしいので、テスト後は、すぐに削除しました。
ただ、普段は、MetaGatewayを使って書いているので、MetaGatewayの機能でPingを送る事ができるので、あまり使うことはなさそうですけど。
色々と勉強になりました。
危なっかしいので、テスト後は、すぐに削除しました。
ただ、普段は、MetaGatewayを使って書いているので、MetaGatewayの機能でPingを送る事ができるので、あまり使うことはなさそうですけど。
色々と勉強になりました。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- httpsになったらレイアウトが崩れたりスクリプトが動かなかったりを修正(2023.06.19)
- AdSense サイト運営者向けポリシー違反レポート(2018.06.05)
- Raspberry pi 3を使ってみた(2016.08.22)
- チープ過ぎるマルチモニター(2015.07.06)
- 効果的なデフラグを考えてみた(2015.02.26)
この記事へのコメントは終了しました。
コメント