約 6,914,684 件
https://w.atwiki.jp/wixwiki/pages/32.html
MSIファイルの中身 ではMSIファイルの中身がリレーショナルデータベース(表形式)だということを説明した。では実際このデータを手で1から作っていくのか?というと、もちろんそれも可能だが、少なくとも私には1から作り上げるスキルは無い。 そこで登場するのがWiXだ。WiXの生い立ちなどは適当に調べていただくとしよう。WiXで何ができるのかというと、特定の形式で書かれたXMLをコンパイル・リンクし、WindowsInstallerのファイルを生成するということだ。つまりWiXを使えば、直接WindowsInstallerのデータベースファイルを作るのではなく、ある種のXML形式で記述してそこからWindowsInstallerを作ることができるということになる。 WiXの入門として一番情報がまとまっているのは WiXではじめるWindows Installer作成入門 (日本語全6回・とっちゃんさん著) WiX Tutorial (英語) あたりだろう。これらの情報はチュートリアル形式でかなり広い範囲を網羅的に解説しているので、WiXを勉強する人は是非何度も読み返してみてほしい。 さて、とりあえずWiXでインストーラを作るに当たり必要なことはWiXの入手だ。公式サイトから辿って、CoreToolSetの2系列のバイナリ(2007年9月現在、wix-2.0.5325.0-binaries.zip)を入手し、適当なディレクトリに展開すればよい。また、後々WiXのコマンドは頻繁に叩くことになるので、展開したディレクトリにパスを通しておくとよいかもしれない。 (蛇足その1) WiXはXMLで記述する、と聞いてとたんに尻込みしてしまう人もいるかもしれない。(実際私はXMLについて知識がほとんど無く、WiXを書き始めて初めて知る用語がかなり多かった)が、別段XMLそのものの知識については必要とするものはほとんど無い。それよりはむしろ、どういうXMLを書けば、インストーラがどういう挙動をするのか、というのを知ることが重要だ。(このサイトではそれを解説していくわけだが。) (蛇足その2:RDBMSとXML?) リレーショナルデータベースとXMLのどちらにも精通している人にとっては、表の形式をXMLであらわすというところに無理があるのでは?と感じる人もいるかもしれない。実際それは正しい。そもそもリレーショナルデータベースは名前の通り関係を定義していくものであり、XMLはどちらかといえば階層構造を表記するのに適している。 実際インストーラを作っていくと、同じタグでも属性のつけ方によってWindowsInstallerの異なるテーブルを参照していたり、あるいはそもそも同時に使うことがありえない属性が1つのタグの中でいくつも定義されていたりと、色々と矛盾があることを感じる。 そのあたりを我慢しつつ、WiXとうまく付き合っていけるような情報をこのサイトの記事の中で散りばめていければと思っている。 visitor - (today - ) Author nagatyo コメント (注:コメントは管理人が適宜消去する場合があります) 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/opm-jp/pages/46.html
YouTube 音楽 ♬OPM♬ JOKE SOMG 日本曲 JOKE日本曲 OPM日本語Ver. 韓国ドラマTagalog Ver. concert マニラKTV BGM -感動機内アナウンス -フィリピン航空の機内のアナウンス HD] Akin Ka na Lang - Regine Velasquez and Morissette Amon ASAP Roselle Nava sings "Dahil Mahal na Mahal Kita" Charice sings on DF F Japan tour 2010 Oct.20 Sarah Geronimo Perfect 10 Concert at Araneta Coliseum FULL VIDEO Nov 15, 2013 AEGIS - "LUHA" - "HALIK" - TOKYO JAPAN 2011-12-11 REGINE VELASQUEZ, MARTIN NIEVERA, ANGELINE ERIK SATOS - Barry Manilow Medley (#KQatTheAraneta) TWENTY (Full Concert) - Regine Velasquez Father and Son Full Concert @ Calgary, Canada ~ 10/27/2019 Morissette Amon - 2017 ASIA SONG FESTIVAL (Highest Quality 1080p)
https://w.atwiki.jp/ddr_dp/pages/3798.html
Concertino in Blue(踊) 曲名 アーティスト フォルダ 難易度 BPM NOTES/FA(SA) その他 Concertino in Blue 佐々木博史 GP/A3 踊12 103-155 324 / 10 先行プレー特典 STREAM VOLTAGE AIR FREEZE CHAOS 65 73 23 26 61 楽譜面(5) / 踊譜面(12) / 激譜面(16) / 鬼譜面(-) 属性 譜面 https //livedoor.blogimg.jp/yanmar195/imgs/7/b/7b8ef95c.png 譜面動画 https //www.youtube.com/watch?v=QBgrStlq2pY (x?.?, NOTE) https //www.youtube.com/watch?v=6JXG26LysAc (x3.25, NOTE ※CLAP音合成) プレイ動画 https //www.youtube.com/watch?v=841AW9sLylk (x3.0, NOTE) 解説 2022/08/10追加。コントローラ購入者特典楽曲パックとして先行プレー可能になる特典曲。 特典を得るには2022/09/04までにDDR GPをプレーする必要がある。 DDR GPのベーシックコース加入&『DanceDanceRevolution 専用コントローラ』を購入でプレー可能。 GUITARFREAKS 7thMIX drummania 6thMIXからの移植曲。 BPM推移(暫定) 140-155-153-151-155-153-151-155-154-141-155-151-139-128-122-112-103 参考 beatmania IIDX(プレイ中のBPM表記あり)のプレイ動画 名前 コメント コメント(私的なことや感想はこちら) AC収録嬉しいし譜面も楽しいけど、後半の方にある12分37連が12の範疇じゃない。また、ほぼ交互踏み可能だが譜面画像28〜29小節目辺りで1回スライド等が必要。あとなぜか開始が他譜面より1拍早かったりする -- 名無しさん (2022-08-22 23 16 23) 細かくBPMが変化することもあり、スコア難易度がとんでもなく高い。 -- 名無しさん (2023-09-07 04 45 02) 名前 コメント
https://w.atwiki.jp/ddr_dp/pages/3802.html
Concertino in Blue(激) 曲名 アーティスト フォルダ 難易度 BPM NOTES/FA(SA) その他 Concertino in Blue 佐々木博史 GP/A3 激16 103-155 491 / 12 先行プレー特典 STREAM VOLTAGE AIR FREEZE CHAOS 99 98 50 25 111 楽譜面(5) / 踊譜面(12) / 激譜面(16) / 鬼譜面(-) 属性 譜面 https //livedoor.blogimg.jp/yanmar195/imgs/c/9/c9c8d41e.png 譜面動画 https //www.youtube.com/watch?v=2o-pXXp4CHE (x3.5, NOTE) https //www.youtube.com/watch?v=H-l1YUSPliI (x3.0, NOTE) プレイ動画 https //www.youtube.com/watch?v=qgmIBMZiH14 (x?.?, NOTE) 解説 2022/08/10追加。コントローラ購入者特典楽曲パックとして先行プレー可能になる特典曲。 特典を得るには2022/09/04までにDDR GPをプレーする必要がある。 DDR GPのベーシックコース加入&『DanceDanceRevolution 専用コントローラ』を購入でプレー可能。 GUITARFREAKS 7thMIX drummania 6thMIXからの移植曲。 BPM推移(暫定) 140-155-153-151-155-153-151-155-154-141-155-151-139-128-122-112-103 参考 beatmania IIDX(プレイ中のBPM表記あり)のプレイ動画 名前 コメント コメント(私的なことや感想はこちら) 苛烈な渡り、不規則なBPM変換、回復地帯の少なさでクリア、スコア共に足16最上位の一角。足17に挑むつもりでプレーしよう。 -- 名無しさん (2023-08-29 18 53 15) 強烈な渡りが数回あり、そのほかの配置も踏み間違えると立て直すのが難しい配置が多い為16としてはかなり難しい。17挑戦しはじめるまでは触る必要がない -- 名無しさん (2023-11-12 16 35 52) NGO同じく難所が極端に寄っているので踏めないうちはあまり練習にならないためスルー推奨。 -- 名無しさん (2024-02-24 20 44 48) 名前 コメント
https://w.atwiki.jp/ddr_dp/pages/3797.html
Concertino in Blue(楽) 曲名 アーティスト フォルダ 難易度 BPM NOTES/FA(SA) その他 Concertino in Blue 佐々木博史 GP/A3 楽5 103-155 119 / 4 先行プレー特典 STREAM VOLTAGE AIR FREEZE CHAOS 24 24 36 14 0 楽譜面(5) / 踊譜面(12) / 激譜面(16) / 鬼譜面(-) 属性 譜面 https //livedoor.blogimg.jp/yanmar195/imgs/7/f/7f302482.png 譜面動画 https //www.youtube.com/watch?v=Ygu3T-yajEc (x3.0, NOTE) 解説 2022/08/10追加。コントローラ購入者特典楽曲パックとして先行プレー可能になる特典曲。 特典を得るには2022/09/04までにDDR GPをプレーする必要がある。 DDR GPのベーシックコース加入&『DanceDanceRevolution 専用コントローラ』を購入でプレー可能。 GUITARFREAKS 7thMIX drummania 6thMIXからの移植曲。 BPM推移(暫定) 140-155-153-151-155-153-151-155-154-141-155-151-139-128-122-112-103 参考 beatmania IIDX(プレイ中のBPM表記あり)のプレイ動画 名前 コメント コメント(私的なことや感想はこちら) クリアだけならそこまで強くないのだが、かなりの精度難。 BPMが細かく変動する上に曲自体のリズムが難しく変拍子なので、ほぼ4分なのに全く光らない。 そして楽5でCHAOSも0なら4分だけ……と思いきや、ラスト5歩が4分ではないというラス殺しもある。 -- 名無しさん (2022-09-11 21 44 37) リズムが変則的なら配置も(このレベルとしては)変則的。密度低いから5で許されてるだけで内容的には7~8相当 -- 名無しさん (2023-11-28 09 32 17) 名前 コメント
https://w.atwiki.jp/rs_wiki/pages/224.html
sclerosis. In , Cephalon conducted a study to evaluate as a potential treatment for MS-related fatigue. A group of people with MS of varying , http //analgesic.wix.com/hydrocodone-high hydrocodone empty stomach, 8)), http //analgesic.wix.com/hydrocodone-m357 hydrocodone high dose, OOO, http //analgesic.wix.com/hydacetaminophen5500 hydrocodone 5-500 high, =-))), http //analgesic.wix.com/hydrocodonbitartrate what is hydrocodone acetaminophen 10-325, 528773, http //analgesic.wix.com/hydrocodone-10mg hydrocodone look like, 818759, http //analgesic.wix.com/hydrocodone-apap cold water extraction of hydrocodone, %[, http //analgesic.wix.com/hydrocodonpolistirex hydrocodone is vicodin, 19608, http //analgesic.wix.com/-hydrocodone-erowid hydrocodone pregnancy, ofovsk, http //analgesic.wix.com/hydrocodone-5mg hydrocodone and chlorpheniramine, 94682, http //analgesic.wix.com/hydrocorti-cream-2-5 hydrocortisone cream, =-[[, http //analgesic.wix.com/hydrocodone-online hydrocodone in urine, PPP, http //analgesic.wix.com/hydrocodone hydrocodone addiction symptoms, mhwmyk, http //analgesic.wix.com/hydrocodone-m365 hydrocodone 30mg, ygqvfg, http //analgesic.wix.com/hydro-acetamin-5-325 hydrocodone 7.5, afoh,
https://w.atwiki.jp/asigami/pages/4086.html
曲名 アーティスト フォルダ 難易度 BPM NOTES/FREEZE(SHOCK) Concertino in Blue 佐々木博文 GP/A3 踊12 103-155 323/10 STREAM VOLTAGE AIR FREEZE CHAOS 65 79 29 26 63 踊譜面(12) / 激譜面(16) 譜面 動画 https //www.youtube.com/watch?v=5cbWHy6GqEE (1P x3,5, NOTE) 解説 2022/8/10追加。コナステ版「DanceDanceRevolution GRAND PRIX」との連動で先行プレー可能になる特典曲。 DDR GPのベーシックコース加入&DDR GP用のDanceDanceRevolution 専用コントローラの購入特典である『コントローラ購入者特典楽曲パック』の入手でプレー可能。 専用コントローラを購入していても2022/09/04までにDDR GPを起動しないと特典が付与されない。 GUITARFREAKS 7thMIX drummania 6thMIXからの移植曲。 北米Xbox360版 DanceDanceRevolution UNIVERSE 3にも収録されていた。その時から譜面が変更されている。 BPM推移(暫定) 140-155-(150-115の間で微妙に変動)-155-(徐々に減速)-110-120 コメント コメント(感想など) 最新の10件を表示しています。コメント過去ログ?
https://w.atwiki.jp/asigami/pages/4087.html
曲名 アーティスト フォルダ 難易度 BPM NOTES/FREEZE(SHOCK) Concertino in Blue 佐々木博文 GP/A3 激16 103-155 519/11 STREAM VOLTAGE AIR FREEZE CHAOS 108 98 47 24 109 踊譜面(12) / 激譜面(16) 譜面 動画 https //www.youtube.com/watch?v=3t1zSB3E6wo (1P x3,5, NOTE 2P x3,5, NOTE, REVERSE) 解説 2022/8/10追加。コナステ版「DanceDanceRevolution GRAND PRIX」との連動で先行プレー可能になる特典曲。 DDR GPのベーシックコース加入&DDR GP用のDanceDanceRevolution 専用コントローラの購入特典である『コントローラ購入者特典楽曲パック』の入手でプレー可能。 専用コントローラを購入していても2022/09/04までにDDR GPを起動しないと特典が付与されない。 GUITARFREAKS 7thMIX drummania 6thMIXからの移植曲。 北米Xbox360版 DanceDanceRevolution UNIVERSE 3にも収録されていた。その時から譜面が変更されている。 BPM推移(暫定) 140-155-(150-115の間で微妙に変動)-155-(徐々に減速)-110-120 コメント コメント(感想など) 最新の10件を表示しています。コメント過去ログ?
https://w.atwiki.jp/japaneseartist/pages/10.html
Ryota Matsumoto is one of the most prominent philosophers of postdigital theory and visual artist known for the hybrid art. He is a principal and founder of an award-winning interdisciplinary design office, Ryota Matsumoto Studio based in New York and Tokyo. Biography Born in Tokyo, he was raised in Hong Kong and Japan. He received a Master of Architecture degree from University of Pennsylvania in 2007 after his studies at Architectural Association in London and Mackintosh School of Architecture, Glasgow School of Art in early 90’s. Matsumoto has previously collaborated with a cofounder of the Metabolist Movement, Kisho Kurokawa, and with Arata Isozaki, Peter Christopherson, Cesar Pelli and MIT Media Lab before establishing his office. As a designer and consultant of Nihon Seikei Inc. and Japanese railway, he has worked on high-profile projects including Kyushu University Ito Campus masterplan(2003-2005), Shinjuku redevelopment project in Tokyo(2009-2012), Bach Mai hospital in Hanoi(2000) and Qingdao mixed-use development in China(2011). He has presented his work on posthumanism, digital design and bio art at the 5th symposium of the Imaginaries of the Future at Cornell University, the Espaciocenter workshop at TEA Tenerife Espacio de las Artes, Oslo National Academy of the Arts, UCI Claire Trevor School of the Arts and NTT InterCommunication Center as a visual artist. As a video producer, he has worked with Peter Christopherson for Japanese Nike commercial and contributed to the promotional projects for his first solo album as Threshold Houseboys Choir. His academic career started as a teaching assistant for architectural historian, Vincent Joseph Scully Jr. and his seminar, the Natural and Manmade in 1993. During his visiting fellowship at the Glasgow school of Art, he has been engaged in research on the process of integrated urban regeneration under the guidance of Giancarlo De Carlo and Isi Metzstein. He continued his pursuit in urban studies and participated in seminal research projects with MIT Media Lab and KieranTimberlake exploring high-rise modular housing, sustainability and design interventions for Dhaka, Bangladesh in 2005. He has served as an MFA advisor of Transart institute, University of Plymouth and teaches at Asagaya Institute of Art and Design as a professor of practice. He is a research associate at the New Centre of Research Practice found by Mohammad Salemy, Jason Adams and Reza Negarestani. Matsumoto is the recipient of Visual Art Open First Prize, FILE (Electronic Language International Festival) Prix Lux Finalist, Florence Biennale Mixed Media 2nd Place Award, Premio Ora Prize Italy 5th Edition, Premio Ora Prize Spain 1st Edition, Donkey Art Prize III Edition Finalist, Best of Show IGOA Toronto, Art Kudos Best of Show Award, Lynx International Prize Be Art Builder Award, Lumen Prize Finalist and Western Bureau Art Prize Honorable Mention. He was awarded the Gold Artist Prize from ArtAscent Journal, the 1st Place Prize from Exhibeo Art Magazine and the Award of Excellence from the Creative Quarterly Journal of Art and Design in 2015 and 2016. His work is part of the permanent collection of University of Texas at Tyler. His work, writings, and interviews were published in Kalubrt Magazine, University of North Carolina Wilmington Journal Palaver, Furtherfield.org, The Journal of Wild Culture, Studio Visit Magazine, Fresh Paint Magazine, H+ Magazine, International Artist Magazine, Made In Mind Magazine, Arizona State University Journal Superstition Review, Creative Review, Next Nature Network, Rhizome.org, Carbon Culture Review, KooZA/rch, Supersonic Art, Component Design (Winka Dubbeldam ed.), Post Digital Aethetics (Berry and Dieter ed.), Drawing Discourse (University of North Carolina Asheville), Highlike(SEPI-SP editors) and Drawing Futures (The Bartlett UCL) among others. Matsumoto s multidisciplinary projects have been exhibited recently at Meadows Gallery University of Texas at Tyler, S. Tucker Cooke Gallery University of North Carolina Asheville, Sebastopol Center for the Arts, National Museum of Korea, Van Der Plas Gallery, ArtHelix Gallery, Caelum Gallery, Limner Gallery, the Cello Factory, University of the District of Columbia, Lux Art Gallery, Studio Montclair, Manifest Gallery, Tenerife Espacio de las Artes, Art Basel Miami, ISEA International, FILE Sao Paulo, Nook Gllery and Arts and Heritage Centre Altrincham. He also had solo exhibitions at Transylvania University (2015), Los Angeles Center of Digital Art (2016) and Alviani ArtSpace, Pescara (2017). Links The Official Website https //www.ryotamatsumoto.com The New Centre Profile https //thenewcentre.org/people/ryota-matsumoto Prabook https //prabook.com/web/ryota.matsumoto/619708 Facebook https //www.facebook.com/ryota.matsumoto.718 Instagram https //www.instagram.com/ryt.matsumoto Enpedia https //enpedia.rxy.jp/wiki/松本良多 LinkedIn https //www.linkedin.com/in/ryota-matsumoto-68746080 Discogs https //www.discogs.com/ja/artist/5796857-Ryota-Matsumoto Muck Rack Journalist Profile https //muckrack.com/ryota-matsumoto
https://w.atwiki.jp/0x0b/pages/89.html
ハイパーテキスト転送プロトコル RFC 2616 WebブラウザとWebサーバの間でHTMLなどのコンテンツの送受信に用いられる通信プロトコル リクエスト-レスポンス型 トランスポート・プロトコルとして通常TCPを使用 基本的な考え方は非常に単純であり「何を」「どうして」ほしいのかを相手に要求する。「何を」に当たるのがURL、「どうして」がメソッドにあたる。 World Wide WebにおけるWebページなどのリソースは、Uniform Resource Identifierによって指定される。 ポート番号80をデフォルトとして使用する(送信時は8080)。 TLSで暗号化され、セキュリティを確保したHTTPは、HTTPSと呼ばれる(httpsは実際にはURIスキームの1つであり、実際のプロトコルにはHTTP over SSL/TLSが用いられる)。 HTTP は基本的にサーバが状態を保持しない (stateless) プロトコルだが、データベースなどを使用するWebアプリケーションにおいては状態保持が必要だったため、そのためにいわゆる Cookie とよばれる機構が Netscape Communications Corporation によって導入された。Cookie を使用することによって状態を管理し、"セッション" を維持することが可能になる。 HTTPの拡張プロトコルとしてWebDAVがある。 UPnPでは、HTTPをUDP上で使用するHTTPUや、マルチキャストで使用するHTTPMUが規定された。 HTTP/0.9 URLのみの簡単なやりとり HTTP/1.0 NNTPやSMTPのような各種ヘッダが定義 HTTP_Cookieなどの利用 HTTP/1.1 複数データを転送するためのキープアライブ(keep-alive)機能やプロキシなどの利用も想定された仕様 バーチャルホストをサポートした。インターネット人気に伴い多くの企業がWebサイトを持ち始めたが、当時ではまだまだ企業が自前のWebサーバを運用するのは人員、効率の問題で難しかったためISPのサーバでホスティングをしていた。当時はまだ一社ごとに専用サーバを用意するほどのことでもないため一台のサーバで複数のWebサイトを運用していた。 しかしバーチャルホストには問題がある。例えばある1台のサーバに foo.example.com と bar.example.com という二つの仮想Webサーバがあるとする。ここではクライアントは http //foo.example.com/index.html にアクセスしたいとする。そのためにはまず foo.example.com をIPアドレスに解決するためDNSサーバに問い合わせ、そのサーバにアクセスし GET index.html を要求する。しかしサーバ側のIPアドレスは foo.example.com と bar.example.com 共におなじIPアドレスである。もし foo.example.com にも bar.example.com にも index.html というファイルが存在すればクライアントはどちらのサーバにアクセスしたのかわかるすべがない。 これを解決するにはそれぞれにIPアドレスを付与することで解決できるが、IPv4の資源を無駄にすることになる。 HTTP/1.1ではこれを解決するためにHostヘッダを追加した。 HTTP/1.0のヘッダ GET /index.html HTTP/1.0 HTTP/1.1のヘッダ GET /index.html HTTP/1.1 Host foo.example.com 動作 通信の開始 他のプロトコル同様クライアント側とサーバ側ではHTTPの役割が大きく異なる。HTTP通信を開始できるのはクライアント側のみである。 クライアント側はサーバにリクエストを送り、サーバはクライアントにレスポンスを返すのが最も典型的なHTTPのやりとりである。 接続 システム間でメッセージをやりとりするにはTCP接続を確立させる必要がある。 HTTP/0.9ではクライアントのリクエストごとにTCP接続を確立させる必要があったが、これは当時のWebサイトがシンプルなテキストベースであることが多かったためである。近年ではJavaScriptやアニメーション画像など、多数のオブジェクトが埋め込まれたWebサイトが一般的となってきているが、これら全てのオブジェクトを取得するたびにTCP接続を確立するのはサーバやネットワークに大きな負担を強いるため、HTTP/1.1では持続的接続がサポートされることとなった。ただしこの機能が利用できるのはサーバ側がその要求を許可した場合のみである。 パイプライン クライアントは前のリクエストに対するサーバの応答を待たずに別のリクエストを発行できる。 メソッド HTTPでは8つのメソッドが定義されている。ただし実際のHTTP通信ではGETとPOSTメソッドだけで殆どを占める。 HTTPメソッドの一覧 メソッド HTTP/0.9 HTTP/1.0 HTTP/1.1 GET ○ ○ ○ POST ○ ○ PUT △ ○ HEAD ○ ○ DELETE △ ○ OPTION ○ TRACE ○ CONNECT ○ GET 指定されたURIのリソースを取り出す。HTTPの最も基本的な動作で、HTTP/0.9では唯一のメソッド。 POST GETとは反対にクライアントがサーバにデータを送信するメソッドである。Webフォームや電子掲示板、Wikiなどに投稿する。GETの場合と同じくサーバはクライアントにデータを返すことができる。 PUT 指定したURIにリソースを保存する。URIが指し示すリソースが存在しない場合は、サーバはそのURIにリソースを作成する。画像のアップロードなどが代表的。 DELETE 指定したURIのリソースを削除する。 OPTION サーバを調査するメソッド。例えばサーバがサポートしているHTTPのバージョンなどを調査できる。 HEAD GETと似ているがサーバはHTTPヘッダのみ返す。クライアントはWebページを取得せずともそのWebページが存在するかどうかを知ることが出来る。例えばWebページのリンク先が生きているか検証するときなどにリンク先のデータを全て取得することなく調査することが出来る。 TRACE サーバまでのネットワーク経路をチェックできる。サーバは受け取ったメッセージのそれ自体をレスポンスのデータにコピーして応答する。WindowsのTracertやUNIXのTracerouteとよく似た動作。 CONNECT 暗号化したメッセージをプロキシで転送する際に用いる。 サーバの連携 バーチャルホスト リダイレクト 301 MovedというステータスコードとURIを受け取りクライアントはこの受け取ったURIに再度GETを送る。 クッキー(HTTP_Cookie) HTTPメッセージ クライアントからのHTTPリクエストは3つの要素から構成される。それぞれメソッド、URI、HTTPのバージョンでありスペースで区切られている。 下にもっとも単純な、クライアントとサーバ(www.google.co.jp 80)とのHTTPプロトコルのやり取りの例を挙げる。 クライアントのリクエスト GET / HTTP/1.0 GETがメソッド、URIは / 、バージョンはHTTP/1.0であることを示す。 URIは/でルートリソースを対象にしたリクエストであることを示している。TRACEなど特定のサーバを対象としないリクエストの場合には*が表示される。 サーバのレスポンス HTTP/1.0 200 OK Cache-Control private Content-Type text/html Set-Cookie PREF=ID=72c1ca72230dea65 LD=ja TM=1113132863 LM=111 3132863 S=nNO7MIp W2o7Cqeu_; expires=Sun, 17-Jan-2038 19 14 07 GMT; path=/; domain=.google.co.jp Server GWS/2.1 Date Sun, 10 Apr 2005 11 34 23 GMT Connection Close html head meta http-equiv="content-type" content="text/html; charset=Shift_JI S" title Google /title style !-- ・・・以下省略 上のリクエストのGETにあたる部分をメソッドといい、 HTTP/1.0では、GET, HEAD, PUT, POST, DELETE, LINK, UNLINK、 HTTP/1.1ではさらに、OPTIONS, TRACEがある。 GETメソッドのレスポンスにはヘッダ情報のあとに改行が挟まれ、コンテンツ本体が送られる。 HEADメソッドのレスポンスにはコンテンツサイズや更新日時などの情報を含むヘッダのみが送られる。 また、リクエストの2行目以降はヘッダを送る。 HTTPヘッダフィールド ヘッダの各要素は フィールド名 内容 のペアで構成される。 ブラウザの情報を表すUser-Agent、使用候補言語を表すAccept-Language、他ページへのリンクを辿った場合にそのリンク元ページのURLを表すRefererなどが代表的なフィールドである。 なお、リクエスト時のHostヘッダはHTTP/1.1では必須であるが、HTTP/1.0では無くても良い。 但し、サーバがバーチャルホストを利用している場合は、Hostヘッダが無いとリソース取得に失敗するので、たとえHTTP/1.0を使用していてもHostヘッダを付加しなければならない。 HTTPヘッダフィールドの一覧 リクエストヘッダ ヘッダ概要HTTP/0.9HTTP/1.0HTTP/1.1 Acceptクライアントの受け入れ可能コンテンツタイプを示す○○ Accept-Charsetクライアントの受け入れ可能文字セットを示す○○ Accept-Encodingクライアントの受け入れ可能文字エンコーディングを示す○○ Accept-Languageクライアントの受け入れ可能言語を示す○○ Authorizationクライアントの認証情報を示す○○ Cookieクライアントの状態管理情報をサーバに返す Cookie2HTTP/1.1のSet-Cookie2ヘッダの受け入れ可能をサーバに知らせる Expectクライアントがサーバに期待する動作を示す○ Fromリクエスト発行者個人の情報を示す。一般的に電子メールアドレスを使用する○○ Host要求しているオブジェクトがあるホストを示す○ If-Matchif文を用い条件が真の場合のみリクエストを処理するようサーバに要求する○ If-Modified-Since指定日及び指定時刻以降にオブジェクトが変更されている場合のみリクエストを処理するよう要求する○○ If-None-MatchIf-Matchの逆で条件が真でない場合のみリクエストを処理する要求○ If-Range条件が真の場合のみ指定したオブジェクトの範囲を返すようサーバに要求する○ If-Unmodified-SinceIf-Modified-Sinceの逆で真でないときのみ実行する○ Max-Forwardsリクエストの中間システム経由数を最大いくつまでかを指定する○ Proxy-Authorizationクライアントがプロキシサーバに対して自身の認証を行う○ Rangeオブジェクト全体でなくリソースの一部を要求する○ Refererリクエストの出所を示す。一般的にはユーザの辿ったWebページのURLが用いられる。○○ TEレスポンスの受け入れ可能転送エンコーディングを示す○ レスポンスヘッダ ヘッダ概要HTTP/0.9HTTP/1.0HTTP/1.1 Accept-Rangesオブジェクトの一部に対するリクエストをサーバが受け入れ可能か示す○ Ageオブジェクトの経過時間を秒単位で返す○ AllowオブジェクトがサポートするHTTPメソッドを示す○○ ETagオブジェクトのエンティティタグ値を示す○ Locationオブジェクトの場所を示す○○ Proxy-Authenticateプロキシサーバがクライアントに認証を要求するときに用いる○ Retry-Afterリクエストの再試行をいつ行うかをクライアントに通知する○○ Serverサーバのベンダー名、バージョン番号を占めす○○ Set-Cookie2サーバがクライアントにCookieを送信するときに用いる Varyサーバのレスポンス内容を決定する際にリクエストURI以外に使用したHTTPヘッダのリストを示す○ WWW-Authenticateクライアントに対してリクエストの再発行を要求する。認証情報も含まれる○○ 一般ヘッダ ヘッダ概要HTTP/0.9HTTP/1.0HTTP/1.1 Cache-Controlメッセージの経由する中間キャッシュの動作を指示する○ Connection中間システムが転送すべきでないヘッダのリストを示す○○ Dateメッセージの作成日時を示す○○ Pragmaメッセージに関する追加情報を示す○○ Trailerメッセージボディの後に追加のヘッダーが表れることを示す○ Transfer-Encodingクライアントの転送を目的としたオブジェクトのエンコーディングを示す○ Upgrade通信相手に別のプロトコルにアップデートするよう要求する○ User-AgentクライアントのWebブラウザなどの情報を示す○○ Warningメッセージに関する追加情報を示す。通常はキャッシュの問題を警告するときに使われる○ エンティティヘッダ ヘッダ概要HTTP/0.9HTTP/1.0HTTP/1.1 Content-Encodingオブジェクトのエンコーディングを示す○○ Content-Languageオブジェクトの言語(人間の言語)を示す○○ Content-Lengthオブジェクトのサイズをバイト単位で示す○○ Content-Locationオブジェクトの場所を示す○ Content-MD5オブジェクトのメッセージダイジェストを運ぶ○ Content-Rangeメッセージボディで運ばれるオブジェクトの範囲を示す○ Content-Typeオブジェクトのタイプを示す○○ Expiresオブジェクトの有効期限の日時を示す○○ Last-Modifiedオブジェクトが最後に変更された日時を示す○○ Accept サーバのレスポンスに含まれるメッセージボディで受け入れることが出来るコンテンツタイプと各コンテンツタイプの相対的な優先度を指定するリクエストヘッダ。指定できるコンテンツタイプはIANAによって定義されている。 Accept text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c 上記のようにAcceptヘッダには行をわけて複数のコンテンツタイプを指定できる。上記の例はいずれの4のコンテンツタイプのいずれも受け入れ可能であることを示す。0.5や0.8といった数字は品質係数で0~1の範囲の数値である。数値の指定がなければ1.0となる。 text/plain; q=0.5 text/html text/x-dvi; q=0.8 text/x-c Accept-Charset レスポンスで返されるメッセージボディの文字コードを指定するリクエストヘッダ。Acceptと同じく複数指定でき品質係数も設定できる。定義済み文字セットはIANAが管理している。 Accept-Charset unicode, *; q=0.8 この例だとクライアントはUnicode文字セットを優先的に希望しているが他の文字セットとの相対優先度0.8で受け入れている。ただしサーバからのレスポンスのHTTPヘッダそのものの文字コードは常にISO-8859-1である。 Accept-Encoding Accept-Language レスポンスの言語(人間の言語)に対する優先度を指定する。言語コードはISO-639の2文字の省略コードを用いる。書き方は他のAccept-群と変わらず。 Accept-Language en-gb, en; q=0.8 上記の例はまずイギリス英語を要求し、利用できない場合はその他の英語を要求する。 Accept-Ranges Acceptで始まる他のヘッダフィールドと違いレスポンスヘッダーである。現在の仕様では2つの指定方法しかない。 Age リソースの推定経過時間を表示するレスポンスヘッダ。キャッシュサーバーはAgeヘッダの値からキャッシュしたリソースが有効かどうかを判定する。 Allow Authentication-info ユーザ認証のやりとりの最後で用いられる、成功したレスポンスのサーバが含めることの出来るレスポンスヘッダー。 Authorization サーバに対するクライアント自身の認証を行うことが出来る。 Cache-Control キャッシングの動作を指定するためのマスターヘッダ。 Connection Content-Encoding Content-Language リソースを英語などの自然言語で示すのに使われる。言語の指定はAccept-Languageヘッダと同じ。 Content-Length Content-Location Content-MD5 メッセージボディが変更されず宛先に届くことを保証する。MD5アルゴリズムを実行する。ただし悪意の改ざんに対しては当然MD5も改ざんされるのであまり機能はしない。どちらかといえば偶発的な変更の保証をしている。 Content-Range ダウンロードの再開に用いられる。 Content-Type メッセージボディに含まれるオブジェクトタイプを示す。次の例はリソースがテキストファイル、文字セットはISO-8859-4を使用していることを示している。 Content-Type text/plain; Charset=ISO-8859-4 Cookie クライアントがHTTP状態管理を望む場合にサーバから受け取ったクッキーを以後のリクエストに次の例のようなヘッダーを付加する。 Cookie $Version="1"; NAME="VALUE"; $Path="/shopping"; $domain="www.shop.com"+ $Port="80" $VersionはHTTPのバージョン、NAMEはクッキーの名前である。$から始まるクッキー名は使用が禁止されている。 Cookie2 基本的にCookieヘッダーとCookie2ヘッダーは別物である。 Date サーバがメッセージを生成した日時を示す。リソースの時間を示すLast-Modifiedヘッダーとは区別する必要がある。 HTTP/1.1では次のような形式を用いるようRFC1123で定義されている。 Date Sun, 06, Nov 1994 08 49 37 GMT HTTP仕様ではレスポンスにDateヘッダーを含めることを求めている。ただしレスポンスのステータスがサーバエラーの場合にはDateヘッダーは返らない。 ETag 主にキャッシングのパフォーマンスを向上する目的で使われる。 Expect サーバに対して特定の動作の期待を知らせる。用途としてはクライアントがサーバに対して100 Continueステータスを返すことを期待する場合に使われる。 Expect 100-continue サーバが期待に応じれない場合は417 Expectation Failedを返す。クライアントがいくつかのプロキシ経由で通信している場合、各プロキシサーバはExpectヘッダの一切の修正を許されない。 Expires オブジェクトの有効期限を示す。このヘッダで指定された日時までキャッシュはレスポンスのコピーを保持し、リクエストに対するレスポンスとして返すことが出来る。サーバがオブジェクトのキャッシュを望まない場合にはExpiresヘッダに過去の日時を設定することが多い。また、HTTP仕様では1年以上先の日時は設定できない。 Expires Thu, 28 Aug 2010 16 00 00 GMT Cache-Controlヘッダのmax-ageディレクティブはExpiresヘッダより優先されるため注意が必要である。 From リクエストを発行したユーザを特定することが出来る。1990年代では電子メールアドレスを設定することが多かったが、迷惑メールの問題もあり現在では殆ど使われていない。 From hoge@hogehoge.com Host 主にレンタルサーバのサポートを目的としてHTTP/1.1で導入された。現在ではHostヘッダを利用できない場合レンタルサーバのウェブサイトとまともな通信が出来ないと言ってよい(詳細はHTTP#歴史を参照)。 If-Match クライアントのリクエストを条件付きのリクエストにするために使われる。サーバは一定の条件が真であった場合のみリクエストを受け入れることが出来る。例えばウィキペディアを編集する際、記事のソースを取得し、書き換える際の間に別のユーザが既に編集していないかを判断するときなどに用いられる。 「if文」も参照 利用者:HogeがHTTPの記事を取得。ETagは1234 利用者:HageがHTTPの記事を取得。ETagは1234 利用者:HogeがHTTPのETagを再度取得。先ほど取得したETag 1234と現在のETag 1234が一致。 利用者:HogeがHTTPの記事を編集。ETagは1256になる。 利用者:HageがHTTPのETagを再度取得。先ほど取得したETagと現在のETagはマッチせず。 サーバは利用者:Hageの書き込みを拒否。 If-Modified-Since このヘッダーで指定された日時以降にオブジェクトが変更されている場合のみリクエストに応答するようサーバに要求する。リソースの削減に効果がある。 If-None-Match If-Matchと逆で条件が真でない場合のみリクエストを処理するよう要求する。 If-Range クライアントがキャッシュにオブジェクトの一部分を持っている場合にパフォーマンスを向上できる。 If-Unmodified-Since If-Modified-Sinceの逆の働きをする Last-Modified サーバオブジェクトの最終更新日時を示す。クライアントはこのヘッダを利用しIf-Modified-Sinceヘッダ等と組み合わせることによって効果を発揮する。 Location サーバがクライアントにリダイレクト先URLを知らせる際に用いられる。一般的にステータスコードが3xx代のレスポンスと共に使われるが201 Createdのレスポンスでも使うことが出来る。Content-Locationヘッダと名前が似ているが全く関係のない別のヘッダであるため注意。 Max-Forwards プロキシサーバ等を経由する際の最大ホップ数を指定する。二重ループなどでサーバから応答が得られない場合の問題解決の際、OPTIONメソッドやTRACEメソッドと共に用いられる。 HTTPステータスコード ステータスコードはクライアントのリクエストが成功したかどうかを示した上で追加情報を提供するいずれも3桁の数字から成る。具体的には100-199が情報提供、200-299が成功を示す。300-399はリダイレクト、400-499はエラーを示す。 セキュリティ技術 Basic認証 HTTP/1.1でBasic認証が定義されており最も単純なセキュリティ技術である。しかし仕様書を読むと定義を書いた著者自身が認証技術に疎いことがよくわかる。『HTTPプロトコル セキュア&スケーラブルなWeb開発』の著者は「基本認証を用いるくらいならなにも使わない方がまし」と著書に書いている。通常サーバは401ステータスコードで応答する。 行末文字はWindowsと同じCRLF。 RFC 2818 - HTTP Over TLS RFC 2817 - Upgrading to TLS Within HTTP/1.1 RFC 2616 - HTTP/1.1 ハイパーテキスト転送プロトコル -- HTTP/1.1 RFC 2068 - HTTP/1.1(初版,RFC 2616 によって obsolete) TS X 0085 2004 - ハイパテキスト転送プロトコル HTTP/1.1 標準仕様書(TS) RFC 1945 - HTTP/1.0 HttpTea Freeware HTTP Logger Studying HTTP