約 4,555,712 件
https://w.atwiki.jp/wicky/pages/212.html
HTTPメッセージ HTTPは単純なテキストベースのプロトコルである。現在広く使用されているHTTPプロトコルはHTTP/1.1である。ただし古いブラウザなどではHTTP/1.0が使用されるが、Apacheを含むたいていのWebサーバではその両方に対応している。 Webサーバとクライアントの間では、複数行からなるHTTPメッセージがやり取りされる。WebクライアントがWebサーバへ送るメッセージを「リクエストメッセージ」、その応答としてWebサーバが返すメッセージを「レスポンスメッセージ」という。なお、HTTPメッセージにおける1行とは行末が「CRLF」(キャリッジリターン・ラインフィード)のテキストデータである。 リクエストメッセージ 次にリクエストメッセージのフォーマットの概略を示す。 先頭行のリクエストラインでは、次のような書式でサーバに送る「メソッド」(コマンド)を指定する。 メソッド URI HTTPバージョン ※「URI」(Universal Resource identifiers)とは、リソースの位置を示すための表記法である。実際にはURLはURIの一形式である。ここでは、WebサーバでDocumentRootとして設定されているディレクトリを起点とする絶対パスと考えてかまわない。 HTMLファイルやイメージファイルの取得には「GET」メソッドが使用される。たとえば、WebサーバのDocumentRootとして設定されているディレクトリから、HTTP/1.1プロトコルを使用し、HTMLファイル「index.html」を取得するリクエストラインは次のようになる。 GET /index.html HTTP/1.1 2行目以降のリクエストヘッダはリクエストに関する付加的な情報である。各行のフォーマットは次のようになる。 フィールド名:値 たとえば「host」フィールドはサーバのホスト名を指定する。なお、「バーチャルホストの設定?」で説明する、バーチャルホストに対応するため、HTTP/1.1以降ではリクエストヘッダに少なくともhostフィールドが必須になっている。次にhostフィールドの例を示す。 host www.peachpress.co.jp リクエストメッセージのヘッダ以降の部分であるメッセージボディが、クライアントからサーバに送る実際のデータである。コンテンツを取得するGETメソッドなどでは不要だが、たとえば、CGIプログラムなどにデータを送るPOSTメソッドでは、メッセージボディにデータを格納する。 主なメソッド 次に、一般的に使用されているHTTP/1.1のメソッドの例を示す。 ■HTTP/1.1の主なメソッド メソッド 説明 GET 指定したリソースを取得 HEAD 指定したリソースのレスポンスヘッダのみを取得 OPTIONS 使用できるメソッドやオプションの一覧を取得 POST サーバにリソースを送信 TRACE サーバの診断に利用 レスポンスメッセージ 次にリクエストメッセージを受け取ったWebサーバが返すレスポンスメッセージのフォーマットを示す。 先頭のステータスラインは要求されたリクエストの結果を示している。 HTTPバージョン ステータスコード 理由フレーズ 「ステータスコード」は結果を示す3桁の数値で、「理由フレーズ」はその簡単な説明である。たとえば要求されたファイルが見つからない場合には、次のようなステータスラインが返される。 ●ステータスコード HTTP/1.1 404 Not Found 次に主なステータスコードと理由フレーズを示す。 ■主なステータスコードと理由フレーズ ステータスコード 理由フレーズ 説明 200 OK リクエストが正しく処理された 400 Bad Request リクエストが不正なものであった 403 Forbidden アクセスが拒否された 404 Not Found ファイルが見つからない 405 Method Not Allowed 指定したメソッドがサポートされていない 415 Unsupporeted Media Type 指定したメディアタイプがサポートされていない 500 Internal Server Error サーバ内部のエラーが発生した 505 HTTP Version Not Supported リクエストしたバージョンはサポートされていない 「レスポンスヘッダ」はメッセージに関する付加情報である。各行の書式は「フィールド:値」となる。次に例を示す。 ●レスポンスヘッダ Date Wed, 08 Nov 2006 05 22 35 GMT ←日付 Server Apache/2.2.3 (Fedora) ←サーバ名 Last-Modified Fri, 29 Sep 2006 14 57 49 GMT ←最終更新日 ETag "1979a1-127-3d29b840" ←コンテンツに割り当てられる固有の値 Accept-Ranges bytes Content-Length 295 ←ファイルのサイズ Conection close Content-Type text/html; charset=UTF-8 ←①ファイルのタイプ ①の「Content-Type」がファイルのMIMIタイプである。HTMLファイルの場合には「text/html」になる。そのあとの「charset」で文字コードを指定することもある。 最後の「メッセージボディ」は実際にクライアントに送信するファイルである。つまり、HTMLファイルが要求された場合にはそのHTMLファイルの中身がメッセージボディになる。 ●メッセージボディ !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http //www.w3.org/TR/html4/loose.dtd" " html head title Sample /title meta http-equiv="Content-type" content="text/html; charset=UTF-8" /head body bgcolor="#FFFFFF" h1 Hello /h1 /body /html
https://w.atwiki.jp/yoshida2/pages/115.html
telnetでブラウズ(HTTP) このページでは、インターネットでホームページなどをブラウジングするときに利用するHTTPプロトコルについて説明しています。 概要 HTTPプロトコルとは、Hypertext Transfer Protocolの略で、インターネットでホームページなどをブラウジングするときに利用しているプロトコルです。 HTTPプロトコルは、TCP/IP上のプロトコルで、通常80番ポートを使ってアクセスします。 詳細な定義は、以下のRFCで定義されています。 RFC-1945 HTTP/1.0 RFC-2068 HTTP/1.1 基本的に、メッセージを要求(リクエスト)し、その応答結果(レスポンス)を表示するだけです。 HTTPのアクセスログ ApacheなどのWebサーバのログを見ると、リクエストとレスポンスが、以下の形式で出力されます。 アクセスログの書式 アクセス元 - - [アクセス時間] メソッド名 URL名 プロトコルバージョン レスポンスコード 例: 10.0.1.20 - - [01/Jul/1999 23 22 46 +0900] GET /usr/joe/index.html HTTP/1.0 200 2060 メソッドの種類には、GETやPOSTなどがあります。 GETメソッドは、HTMLデータや画像データなどを取得する場合に使用します。 GETメソッドで要求すると、ヘッダ情報とHTMLデータが返却されます。 GETメソッドでCGIを呼び出すこともできます。 パラメータを渡す場合は、URLの後に ?name1=データ1 name2=データ2 という形式で指定します。 HEADメソッドは、ファイルサイズや更新日時を調べる場合に利用します。 HEADメソッドを利用すると、ヘッダ情報だけが返却されます。 POSTメソッドは、CGIなどにデータを渡す場合に使用します。 パラメータなどのデータは、環境変数などによって、CGIに渡ります。 以下に、HTTPのバージョンとメソッドの種類を示します。 メソッドの種類 HTTP/1.0 GET, HEAD, PUT, POST, DELETE, LINK, UNLINK HTTP/1.1 OPTIONS, TRACE, PATCH 以下に、レスポンスコードの一覧を示します。 100番台は通信エラー、200番台は正常終了、300番台はリダイレクト、400番台はクライアントエラー、500番台はサーバエラーを表しています。 リダイレクトとは、クライアントの指定したURLに移動した場合などに返却されます。 レスポンスコード コード 内容 コード 内容 100 Continue 101 Switching Protocols 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 No Content 205 Reset Content 206 Partial Content 300 Multiple Choices 301 Moved Permanently 302 Moved Temporarily 303 See Other 304 Not Modified 305 Use Proxy 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Time-out 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Request Entity Too Large 414 Request-URI Too Large 415 Unsupported Media Type 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Time-out 505 HTTP Version not supported レスポンスコードは、ログファイルなどに出力されますので、知っていると役に立つと思います。 telnetでブラウジング では、実際にtelnetでブラウジングしてみましょう。 telnetコマンドで、WWWサーバ名と、80番ポートを指定します。 Linux# telnet ash.jp 80 そこで、環境変数をすべて表示するCGI(env.cgi)を起動してみます。 まず、GETコマンドで、取得したいURLと、HTTPのバージョンを指定します。 GET /~joe/prog/cgi/env01.cgi HTTP/1.0 ここで、リターンのみを入力しても表示されますが、以下のオプションも入力してみます。 指定したオプションは、環境変数としてCGIに渡ります。 User-Agent Telnet [ja] (Linux) Host www.ash.jp リターンのみを入力すると、レスポンスと、HTMLが表示されます。 当然、HTMLのソースが表示されるだけですから、頭の中でHTMLを解析し画面イメージを想像する必要があります。 以下に実行結果を示します。 Linux# telnet ash.jp 80 Trying 210.154.87.18... Connected to ash.jp. Escape character is ^] . GET /~joe/prog/cgi/env01.cgi HTTP/1.0 User-Agent Telnet [ja] (Linux) Host ash.jp HTTP/1.1 200 OK DeleGate-Ver 5.8.8 (delay=7) Date Fri, 02 Jul 1999 09 56 24 GMT Server Apache/1.3.3 (Unix) Content-Type text/html Via 1.0 210.154.87.18 80 (DeleGate/5.8.8) Content-Length 954 html body h1 CGIでの環境変数一覧 /h1 hr h3 環境変数の表示 /h3 DOCUMENT_ROOT = /usr/local/share/apache/htm br GATEWAY_INTERFACE = CGI/1.1 br HTTP_FORWARDED = by http //210.154.87.18 80/ (DeleGate/5.8.8) for sv01.lo.ash.or .jp br HTTP_HOST = ash.jp br HTTP_USER_AGENT = Telnet [ja] (Linux) br HTTP_VIA = 1.0 210.154.87.18 80 (DeleGate/5.8.8) br PATH = /usr/local/sbin /usr/local/bin /sbin /usr/sbin /bin /usr/bin br QUERY_STRING = br REMOTE_ADDR = 10.0.1.254 br REMOTE_PORT = 12621 br REQUEST_METHOD = GET br REQUEST_URI = /~joe/prog/cgi/env01.cgi br SCRIPT_FILENAME = /home/joe/public_html/prog/cgi/env01.cgi br SCRIPT_NAME = /~joe/prog/cgi/env01.cgi br SERVER_ADMIN = info@ash.jp br SERVER_NAME = ash.jp br SERVER_PORT = 80 br SERVER_PROTOCOL = HTTP/1.0 br SERVER_SIGNATURE = ADDRESS Apache/1.3.3 Server at ash.jp Port 80 /ADDRESS br SERVER_SOFTWARE = Apache/1.3.3 (Unix) br hr br このCGIのソース: a href=env01.txt env01.cgi /a br /body /html Connection closed by foreign host. 最初の、HTTP/1.1 200 OKは、HTTPプロトコルで、正常に転送したことを表します。 その後にヘッダ情報が転送され、最後にHTMLのソースが転送されます。 環境変数として、以下の値が追加設定されているのが確認できます。 HTTP_HOST = ash.jp HTTP_USER_AGENT = Telnet [ja] (Linux) このように、HTTPプロトコルは、要求(リクエスト)に対して、応答(レスポンス)が返却されるだけのシンプルなプロトコルです。 余談ですが、HTTPプロトコルという呼び方は、Hyper Text Transfer Protocol プロトコルになって、プロトコルが2重になってしまい、おかしいです。 でも、この方がわかりやすいので、私はよく使います。
https://w.atwiki.jp/htmlwiki/pages/14.html
HTMLとは、HyperText Markup Languageの頭文字をとったものです。 HyperText ハイパーリンク(リンク.関連づけること)の機能を持つ文書のことを「ハイパーテキスト」と呼んでいます。 Markup コンピュータは、文書のレイアウトやフォントサイズだけでは、どこをどう解釈すべきなのか判断できません。 そのために、文書にコンピュータにも分かる印付けの方法です。 Language 言語。 htmlの構造について 基本、bodyの中に「ブロック要素」がいくつもある形になる。 「ブロック要素」の中でさらに詳しく説明を加えるために「インライン要素」というものを使う。 「ブロック要素」 = p ~ /p 「インライン要素」 = div ~ /div この形を必ず守ること。これ以外のソースコードは論外。
https://w.atwiki.jp/water28/pages/83.html
cssメリット WEB標準に準拠 - 「SEO」「アクセシビリティ」「ユーザビリティ」 構成情報HTMLとデザインCSSの分離 メンテナンスが容易 レンダリングエンジン Trident (Internet Explorer等 Gecko Mozilla Firefox等 KHTML Konqueror WebKit Safari、Google Chrome等 Presto Opera 日本のブラウザシェア http //lhsp.s206.xrea.com/misc/browser-share.html レンダリングモードはXHTMLソースコードの最初に記述するDoctypeスイッチングを選択して決定する。DTDは、XHTMLのメタデータが記述されている。 http //www.htmq.com/htmlkihon/302.shtml サーチエンジンシェア(あるサイトのアクセス解析より) http //find.accessup.org/kensaku/access_history.html#graph リンク Zen Garden - ワンソース・マルチデザインサイト http //www.csszengarden.com/tr/japanese/ ユーザビリティ http //www.usability.gr.jp/ http //www.hcdnet.org/ HTML 要素の種類 ブロックレベル要素 widthとheightの値を持つ。指定がない場合、親要素を継承 p div table dl ul ol form address blockquote h1-h6 fieldset hr pre インライン要素 widthとheightの値を持たない。ブロックレベル要素内の文中をマークアップする。ブロックレベル要素を子要素として持つことが出来ない a abbr acronym b bdo big cite code dfn em i kbd label q smap small spam strong sub sup tt var インラインブロック要素 widthとheightの値を持つ。文法的な使われ方はインライン要素 button img input object select span要素 インライン要素。文中、CSSでデザインする span 場所 /span を囲む。 コメント !-- -- 文字実体参照・数値文字参照 http //w3g.jp/others/data/letters sectionとarticleの違い article 単体で完結出来る お知らせや新着情報 section リンク先を見てみないことには分かいような物 コンテンツ類 CSS コメント /* */ 記述場所 インライン p style="color #ff00000;" /p 内部参照 style type="tetxt/css" p{ color ff0000;} /style 外部参照 link rel="stylesheet" type="text/css" href="xxx.css" / @importディレクティブ @import url(xxx.css) all; ←css内に記述。cssを階層構造にしてまとめる物? セレクタ http //weboook.blog22.fc2.com/blog-entry-287.html http //www.htmq.com/csskihon/005.shtml スタイルシートの継承一覧 http //css.eweb-design.com/0108_bsc.html body要素に書いておくと良さそうなもの http //www.designwalker.com/2007/02/css-body.html 詳細度(適応優先順位) * 0 p 1 a link 2 ul li 2 .con 10 #header 100 style="" 1000 #wrapper ul li.home 112 div#header 101 カスケーディング スタイルシートの種類 オーサー(Author) コンテンツ作成者が作成したCSS ユーザー(user) コンテンツ利用者が意図して使用するCSS ユーザーエージェント(User Agent) ブラウザ自体が持っているCSS 優先順位 1 ユーザスタイルシート(!important宣言付き) CSSファイル内に!important宣言があるもの 2 オーサースタイルシート(!important宣言付き) CSSファイル内に!important宣言があるもの 3 オーサースタイルシート サイト制作者がlinkタグやstyleタグなどで指定したもの 4 ユーザスタイルシート ユーザー独自に作成したもの 5 デフォルトスタイルシート ブラウザが標準で持っているもの ボックスモデル ボックスモデル http //www.geocities.jp/multi_column/float/02.html http //www.dspt.net/stylesheet_css/001/010.html マージンの相殺 垂直方向のマージン相殺 正正/値が大きい方 正負/マージンを足した値 負負/絶対値が大きい方 ボックス内にボックスがある場合のマージンの相殺 paddingとboderの値がない場合。絶対値が大きい方が採用 空要素に対するマージン相殺 paddingとboderの値がない場合。マージンを指定しても折りたたまれる http //blog.webcreativepark.net/2008/07/09-001153.html http //kohituji.konjiki.jp/tec/margin.html フォントサイズについて bodyに対してfont-size 62.5%を予め指定しておくと、フォントサイズをemで指定する際、12ピクセル相当なら1.2em、16ピクセルにしたいなら1.6emという風にemを使ったフォントサイズ指定が分かりやすくなる CSS3で単位remは、ルートemの略。html要素にfont-size 62.5%;を指定すると継承する? http //redline.hippy.jp/lab/css/bodyfontsize625.php http //parashuto.com/rriver/development/css3-re ボックスの配置方法(基準位置)を指定 http //www.htmq.com/style/position.shtml
https://w.atwiki.jp/naruhodo-digital/pages/13.html
1.HTML5とは 簡単に言うと、動画とか音楽にも対応した新しいhtml。 現在、ホームページ記述の主流となっている「HTML 4.01」の新バージョンとして開発された言語。HTML4とは上位互換であり、HTML5対応のブラウザからは見ることができる。逆に、HTML5専用ページを対応していないブラウザで見ようとしても、表示することが出来ない(基本的に何も表示されないが、ページによっては対応していませんという旨のメッセージが表示される) ⇨Flashだとここまでできる! HTML5とFlashの機能比較 ⇨http //clockmaker.jp/blog/2010/02/flash-vs-html5/ 2.今までと何が違うのか 2.1 プラグインなしに動画が再生できる。 現在のhtml4では、FlashやSilverlightといったプラグインが仲介することで動画の再生が実現されている。html5では、 video タグにより動画再生を可能にする。これにより、flashが対応していないiphoneで動画が再生できるなど、身近な部分でも期待することができる。 2.1.1 動画再生の問題点 動画再生の問題点に、コーデックの問題がある。現在のデファクトスタンダードとなっているflashでは、プラグイン自体に複数の動画コーデックをサポートしているため問題ないが、html5では、表示するブラウザごとにサポートの必要がある。 特に、大きな問題となっているのは、「H.264」をプッシュするAppleやMicrosoftと、オープンビデオにはオープンコーデックがふさわしいとしているMozilla(firefox)やOperaとの対立である。 「H.264」はライセンス料が必要であるため、営利団体でないMozillaなどは特に難色を示す。逆にオープンソースの「Ogg Theora」では、品質(圧縮効率)が劣るとして、両者の足並みは揃わない。 ⇨「Google、H.264サポート中止」の背景を探る/ascii.jp ⇨http //ascii.jp/elem/000/000/581/581646/ ⇨Flashだとここまでできる! HTML5とFlashの機能比較 ⇨http //clockmaker.jp/blog/2010/02/flash-vs-html5/
https://w.atwiki.jp/mccc/pages/47.html
このページではHTTP APIについて解説する。 参考資料: HTTP API 執筆時のバージョン: ComputerCraft 1.56 for Minecraft 1.6.2 HTTP API各メソッドのヘッダ request get post HTTP API HTTPによりインターネット上のサーバーへGET/POSTリクエストを送信し、ウェブサイトをダウンロードすることができるAPI。 このAPIを利用するには、前もってComputerCraft.cfgのenableAPI_httpをtrueにしておく必要がある。設定がfalse(デフォルト)の場合、このAPI自体コンピュータに読み込まれない。 文字列をURLエンコードするにはtextutils.urlEncode関数を利用するとよい。 なお、ここでは(プロトコルとしての)HTTPについての解説は行わない。 各メソッドのヘッダ (どんなヘッダが送信されているのか気になる人向け) HTTP APIではプレイヤーが任意のヘッダを指定することはできず、またComputerCraft側でも特にヘッダを指定していないため、Javaデフォルトのヘッダで送信されているものと思われる。 以下は各メソッドで送信されるリクエスト行およびヘッダ行の例。ちなみに、ゲーム内でpastebinプログラムを利用してPastebinでプログラムファイルを取得・投稿した時のもの(Javaバージョンは1.7.0 25)。 GETの例 GET /raw.php?i=smLqWBif HTTP/1.1 User-Agent Java/1.7.0_25 Host pastebin.com Accept text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection keep-alive POSTの例 POST /api/api_post.php HTTP/1.1 User-Agent Java/1.7.0_25 Host pastebin.com Accept text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection keep-alive Content-Length 219 request dan200.computer.core.apis.HTTPAPI で定義 http.request( url[, postData]) URLurl(文字列)にHTTPリクエストを送信する。 postData(文字列)を指定すると、POSTメソッドでメッセージボディとして送信される。postDataが省略またはnilの時はGETメソッドで送信される 戻り値:nil レスポンスはos.pullEvent関数でhttp_successまたはhttp_failureイベントを捕捉することで取得する。そのため、レスポンスを非同期的に取得することができる。 例: local url = "http //example.com/" http.request(url) while true do local event, sourceUrl, file = os.pullEvent() if event == "http_success" and sourceUrl == url then print(file.readAll()) file.close() break elseif event == "http_failure" and sourceUrl == url then print("Server didn't respond.") break end end http //example.com/(IANAのExampleドメイン)からウェブページをダウンロードする。 成功した場合はページの内容(HTML)が、失敗(タイムアウト)した場合は"Server didn't respond."が表示される。 get assets\computercraft\lua\bios.lua で定義 http.get( url ) URLurl(文字列)にHTTP GETリクエストを送信し、レスポンスを取得する 戻り値:テーブル型。取得したウェブサイトのファイルハンドル。ただし、取得に失敗した場合はnilが返る リクエストに対するレスポンスが返ってくるまで処理を停止する。内部的にはhttp.request関数とos.pullEvent関数を利用している。 例: local file = http.get("http //example.com/") if file ~= nil then print(file.readAll()) file.close() else print("Server didn't respond.") end http //example.com/(IANAのExampleドメイン)からウェブページをダウンロードする。 成功した場合はページの内容(HTML)が、失敗(タイムアウト)した場合は"Server didn't respond."が表示される。 post assets\computercraft\lua\bios.lua で定義 http.post( url, postData) URLurl(文字列)にHTTP POSTリクエストを送信し、レスポンスを取得する。postData(文字列)がメッセージボディとして送信される 戻り値:テーブル型。取得したウェブサイトのファイルハンドル。ただし、取得に失敗した場合はnilが返る リクエストに対するレスポンスが返ってくるまで処理を停止する。内部的にはhttp.request関数とos.pullEvent関数を利用している。 postDataが省略またはnilの場合は代わりに""(長さ0文字列)が使われる。
https://w.atwiki.jp/abwiki/pages/84.html
ちょっとABとは関係のないお話 [edit] HTTPについて † Hyper Text Transfer Protocolの略。Webブラウザとサーバがやりとりする際などに使われる通信プロトコル バージョンHTTP/1.0と1.1が存在する。ここでは一応1.1ベース ↑ [edit] 準備 † まずはソケットを使った通信を読んでsendとrecvを使えるようになって頂きたい ↑ [edit] 使い方 † 初めにsendでHTTPのリクエストを送信する。続いてrecvでサーバから返事を受け取る 以上 ↑ [edit] リクエストの基本構造 † <メソッド><HTTPバージョン>CRLF <ヘッダ>CRLF CRLF メソッドはGETとかHEADとかPUTとか。プログラムでいう所の関数名 ヘッダっていうのはメソッドの付加情報。関数の引数みたいな物です メソッドは常に一つ。ヘッダは任意の個数です。無い場合もあります 各行の終端にはCRLF(Ex"\r\n"のこと)を付け、終端には空行を付けます ↑ [edit] レスポンスの構造 † レスポンスはリクエストをsendでHTTPサーバーに送ると必ず返されrecvで受け取ることが出来ます <HTTPバージョン><ステータスコード>CRLF <ヘッダ>CRLF CRLF <メッセージボディ> HTTPバージョンとステータスコードは送ったHTTPメソッドの実行結果で、これだけはレスポンスの先頭に必ず存在します 例 HTTP/1.1 200 OK ステータスコードは3桁の数字で表され、百の位が2なら成功、4ならクライアント側のエラー、5ならサーバ側のエラーになります 3の場合は処理を完了するために再度適切なリクエスト送信する必要がある場合を示します 1は複雑なんでパス ヘッダはメッセージボディの情報を表す部分ですがもしかしたら無い場合もあるかも メッセージボディはGETだったら対象となったリソース、POSTだったらCGIの実行結果とか ここもヘッダ部分と同様に存在しない場合がある(例:HEADメソッド) ヘッダとの間に空行がはさまっているので注意。またメッセージボディの最後にCRLFは存在しない ↑ [edit] HTTPメソッド † ↑ [edit] GETメソッド † HTTPサーバーからリソースを取得します 基本形 GET uri HTTP/1.1 Host hostname hostnameは接続するホストサーバー名です。ここのWikiだとURLのwww.2chab.netの部分です uriの部分は取得したいURLのホスト名より先の部分を指定します 2ちゃんねるのトップページを取得する例 GET / HTTP/1.1 Host www.2ch.net 本来は/index.htmlとか/の先の指定も必要なんですが、省略するとindex*(*は一字以上の文字列)を指定した事になります 略さないで書くと GET /index.html HTTP/1.1 Host www.2ch.net 成功すればレスポンスのメッセージボディ部分にGETの対象になったリソースが入っている ステータスコードは成功すれば200 OK。リソースが見つからなければ404。アクセス拒否なら403。サーバー過負荷なら503 もちろんこれ以外のステータスコードである可能性もある ↑ [edit] Rangeヘッダ † リソースに対するGETの範囲を指定するリクエストヘッダです リソースの128バイトから256バイトまで取得 Range 128-256 リソースの512バイト以降を取得 Range 512- このヘッダを含めてGETを送った場合、成功時のステータスコードは206になります 失敗した時は416(要求範囲が不正)が返されるかも ↑ [edit] If-Modified-Sinceヘッダ † リソースが指定日時より後に更新されているか調べるヘッダです 更新されていない場合はGETしません GMTで2007年5月5日午前0時以降に更新されているか調べる If-Modified-Since Sun, 5 May 2007 00 00 00 GMT このヘッダを含めてGETを送った場合、リソースが更新されていなければレスポンスには304(未更新)が返されます この場合メッセージボディはありません 更新されていれば普通に200番代のステータスコードとメッセージボディを返してきます ↑ [edit] HEADメソッド † HTTPサーバーからリソースの情報を取得します 基本形 HEAD uri HTTP/1.1 Host hostname CRLF hostname、uriはGETと同じです 成功すればリソースのヘッダだけ返ってきます(つまりHEAD=GET-メッセージボディ) ↑ [edit] POSTメソッド † HTTPサーバーに情報を送信します CGIのパラメータなんかを送信するために使う。実行結果がCGI依存なのでかなり厄介 基本形 POST uri HTTP/1.1 Host hostname Content-Type type Content-Length 25222length CRLF メッセージボディ hostname、uriはGETと同じ typeはフォームデータだけ場合はapplication/x-www-form-urlencoded 何らかのリソースを含む場合はmultipart/form-data 殆ど前者だけで事足りると思うが、アップローダーのようなリソースを受け付けるCGIは後者を利用する lengthは後に続くメッセージボディの長さ メッセージボディはapplication/x-www-form-urlencodedの場合 変数名1=値1 変数名2=値2... のように変数名と値を=で結んだ物を を区切りとして羅列する。変数名も値もURLエンコードされていなければならない multipart/form-dataは大変なので省略 成功すれば二百番台のステータスコードを返す リソースが既に生成されている場合201を返す(見たこと無いけど) ↑ [edit] GETでPOSTする † サーバーに情報を送信する時はPOSTを使うべきだが、極少量のデータであればGETでも送れる 基本形 GET uri?メッセージボディ HTTP/1.1 Host hostname CRLF uriの後に?とPOSTのとき送ったメッセージボディをつける。やはりURLエンコード必須 Content-TypeとContent-Lengthはいらない
https://w.atwiki.jp/smashblus/pages/4.html
https://w.atwiki.jp/reshia/pages/12.html
HTMLの基本 基本はタグ。文章に記をつけていくところから。 はじめの一歩 文章に「しるし」をつけていくことからはじめる。 次のような文章があった場合 私のブログは、2005年1月から始まりました。 もし「私のブログ」の部分をクリックしたときに 自分のブログに飛べるようにするには 次のように文章に「しるし」をつける。 a href="http //whoinside.blog3.fc2.com/" 私のブログ /a は、2005年1月から始まりました。 この文章をウェブブラウザで見ると、次のようになる。 私のブログは、2005年1月から始まりました。 さらに「2005年1月」の部分に色を赤色にしたい場合は、つぎのようにする。 a href="http //whoinside.blog3.fc2.com/" 私のブログ /a は、 span style="color red" 2005年1月 /span から始まりました。 タグ このように文章につける「しるし」のことを「タグ」と呼ぶ。 タグは、次のような名称を持っている。 基本は 要素名 要素の内容 /要素名 である。 要素名には、そのタグの種類を書く。 たとえば、リンクを貼りたいなら「a」、画像を貼り付けたいなら「img」 文字を装飾したいときなどは「span」となる。 また、「a」などのように、タグの種類を「要素名」として書くだけでは 機能として不十分なものがある(「a」はリンク先を示す必要がある)。 そんなときは、次のように「属性」を指定する。 要素名 属性名="属性値" 要素の内容 /要素名 また、属性に関しては「属性値」だけを持つものもある。 要素名 属性値 要素の内容 /要素名
https://w.atwiki.jp/javadsge/pages/359.html
package rc; import tool.*; public class pro { String u; String[] data=new String[5000]; int s,datanumber; public static void main(String[] args) { pro tes=new pro(); } pro(){ int p; for(p=1;p 15;p++){ u="http //www.coara.or.jp/~cheerkey/shiho/shiho"+p+".html"; getdata sub=new getdata(); sub.makedata(u,"SJIS"); data=sub.data; datanumber=sub.datanumber; int tr; for(tr=1;tr 10;tr++){ for(s=1;s datanumber+1;s++){ int p1=data[s].indexOf(" "); int p2=data[s].indexOf(" "); String str; str=""; if(p1 -1)str=data[s].substring(p1,p2+1); data[s]=data[s].replace(str,""); }} writefile sub3=new writefile(); sub3.data=data; sub3.datanumber=datanumber; sub3.makedata(p+".txt"); } } }