今日のお勉強。171207-HTTPの基本
HTTPの基本。171207
telnet、まずはヤフーで挑戦しました!
最初、telnetをする時はIPを入力しないと出力されないのかな?と思ってヤフーのIPを調べてました。
IPの調べ方は、
$ nslookup 【調べたいURL】
で、IPを調べることができるそうですね!
でも、そこまでしなくても、
$ telnet 【URL】 【繋げるポート番号】
でIP無くてもできました。
続けて
$ POST / HTTP/1.1
$ Host: www.yahoo.co.jp
と入力すると、情報やHTMLが表示されます。
ただ、GETやPOSTはさっさと入力しないと時間切れになるみたいですね
(^^;)
こんな感じで表示されました。
当ブログも出るかな?と思ってやってみました。
当ブログは、はてなブログさんを使わせていただいておりますが、はてなブログさんのサーバーはnginxをご利用されてるそうですね!
Content-Lengthの意味があまりよくわからなくて、
1000と入力しても、50と入力しても、10と入力しても、htmlの長さがあまり変わらないのです。
調べるとメッセージ本文の長さを設定とのことで、1000と入力したら1000byte分のhtmlのコードの記述が表示されるのかと思ったのですが…。
う〜ん。
htmlの前の英数字もよくわかりませんが、webの様々な情報が見れるのは大変便利ですね。
今日のお勉強。171204-HTTPの基本
HTTPの基本。171204
もいちどイチから! HTTP基礎訓練中 連載インデックス - @IT -
を読んでおりました。
セキュリティは難しそうというイメージがありましたが、身近なところからも気をつけなければならないということなのですね。
DBと連動したサイトで、DB改ざんしたりなどの悪さをすること。
SQLインジェクションでデータベースを攻撃(!)してみよう | 丸ノ内テックブログ
セッション
クッキーと似てるイメージ。
セッションIDがあることによって、サーバー側が認識し、やりとりの無駄な手間を省ける。
だが、そのセッションIDを利用して個人情報を抜き取ったりなどの悪さをする人もいるらしい。
調べれば調べるほどセキュリティって怖いですね…!
今日のお勉強。171125-HTTPの基本
HTTPの基本。171125
前回nginxの学習した時、ちょっと難しかったため、HTTPの学習するとわかりやすい。というアドバイスをいただき、
を読んで学習しておりました。
こちらから(ブラウザ)要求すると、webサーバーから返答してくれるというのが楽しかったです。
HTTP - 1.1。1.0と1.1ではちょっと違いがあるらしい(HTTP入門 - メゾット)
server - nginxの、バージョン1.10.3(調べてみると、2017/1/31にリリースしたバージョンらしい)
Date - 2017/11/25(土)14:59:33(イギリス時間)
Content-Type - text/html。「コンテンツの種別を MIMEタイプで示します。コンテンツの内容がテキスト(HTML)形式であることを示します」(引用)らしいです。
MIME(マイム)とはインターネットを利用した電子メールで送受信するための通信規格(引用)らしいです。
Content-Length - コンテンツの長さをbyteで表示。半角英数字なので612文字ということでしょうか。
Last-Modified - エンティティ(本体)の最終更新日。2017/11/23(木)14:04:58(イギリス時間)
Connection - HTTPの持続時間。closeは持続時間完了してる。
ETag - エンティティタグ。キャッシュで効率化。初回アクセスにETagもらう。次アクセスした時にETagつけてリクエストする。転送量の負荷を削減させたりできるらしい。
HTTPヘッダチューニング Etag・Last-Modified | REDBOX Labo
事例に学ぶWebシステム開発のワンポイント(12):ブラウザキャッシュでパフォーマンス向上―負荷分散装置の落とし穴に注意− - @IT
Accept-Ranges - 要求において使用可能な単位をクライアントに伝えます(引用)byteという単位を使用してます。
今日のお勉強。171123-nginxの基本
nginxをdebianにインストール。171123
# sudo apt-get install nginx
nginxをインストール
# wget "http://nginx.org/keys/nginx_signing.key"
# sudo apt-key add nginx_signing.key
wgetコマンドはファイルをダウンロード。
apt-keyはキー管理コマンド。addで新しいキーを追加。
# sudo vi /etc/apt/sources.list
をviで開いて以下2行を追記。
# deb http://nginx.org/packages/debian/ squeeze nginx
# deb-src http://nginx.org/packages/debian/ squeeze nginx
インストール
# sudo apt-get update
# sudo apt-get install nginx
ブラウザにIPアドレス記述して表示すると…
成功!(^o^)/
次は…、
# sudo /etc/init.d/nginx start
と書くと、startコマンドで、サービス起動。
/etc/init.d/nginx
のディレクトリに、nginxを起動させるらしい。
# GET / HTTP/1.0
と、最初は404エラーが出てきましたが、3回目で以下のように成功しました。なぜ。
を読むと、
「# root /usr/share/nginx/www;
とあるので、wwwディレクトリ以下にhtmlファイルを置けば良いことが分かる。」
と書いてありましたが、そのような行はありませんでした。
(?_?)
defaultのserverの中に
# root /var/www/html;
はありましたが。
オブジェクト指向は初めてですが、便利そうですね!
今日のお勉強。171120-nginxの基本
nginxの基本。171120
nginx(エンジンエックスと読む)とは。
サーバーである。
webサーバー
リバースプロキシサーバー
メールプロキシサーバー
プロキシとは、代理という意味で、自分のPCに変わってアクセスしてくれるサーバー。
nginxはシングルプロセスで処理が軽く、大量のリクエストの処理向き。
プロセスとは、サーバーで実行されるタスク。仕事。
マルチプロセスは複数のプログラムを動かす。
シングルプロセスは一つずつ仕事をこなす。
イケてるエンジニアになろうシリーズ 〜メモリとプロセスとスレッド編〜 - もろず blog
nginxについて | レンタルサーバー【エックスサーバー】
サーバーは他にも有名なapacheというものもある。
apacheはマルチプロセスだけど、大量のリクエストには向かない。
nginx
WebApplicationと連携するときには、プロキシサーバとして動作させる。
- PHP : PHP-FPMで動かし、FastCGI経由で動作させる
- Ruby : unicornで動かし、HTTPプロキシーとしてアクセスする。
引用:NginxとApache HTTP Serverの違いメモ - Qiita
今日のお勉強。171112-mysqlの基本
mysqlの基本。171112
php勉強してた時にmysqlも学んでたはずなのですがあまり覚えてなく、復習がてら手元にあるテキストにて学習しました。
.....インストールの段階で迷ってしまいましたが(^^;)
最新のmysqlとは、どれを選べばいいのだろう?と思い、
apt-cache search mysql
と、サーチしてみたところ、色々出てきました…。
最新のやつどれだろう?どれを選べばいいのだろう?
と迷って時間かかり、mysql-serverというものをインストールしました。
MARIA DBというものですがこれで大丈夫なのかな…。MARIA DB有名ですけど…。
ユーザー作成・データベース作成・テーブル作成
mysqlってどうやるのだろう。と調べてました。
# sudo mysql
と入力すると、mysqlモードに!
を参考にし、
CREATE USER 【ユーザー名】@【ホスト名】 identified by 'パスワード';
で、なんとかユーザーを作成しました。
その後、
CREATE TABLE 【テーブル名】(
isbn VARCHAR(20) PRIMARY KEY, (20文字以内まで・主キー)
price INTEGER (整数)
);
と、テーブルを作成。
(isbn、priceは適当につけました。)
そして、データベース作成ですが、何度も何度もやってもできなくて、なんでだろう?ほんとどうしてだろう?と考えてたら、、、
ずっと「DATABASE」を「DATEBASE」と書いてしまってました。
綴りが一文字違う(涙)
なので、やっとCREATE DATABASE使ってデータベース作成できました!
CREATE DATABASE 【データベース名】;
...ただ、INSERT INTOで入れ直しましたが(汗)
USE 【データベース名】
でそのデータベースに入れることができます。
INSERT文
INSERT INTO テーブル名(isbn,price) VALUE('0001',2020);
(priceは整数だから''はいらないのかと思われます。)
久しぶりなので、復習という感じになりましたが、、、、思い出せるように頑張ります…!
今日のお勉強。171109-sslの基本
sslの基本。171109
SSLを学んでおりました。
図解で学ぶネットワークの基礎:SSL編 - 図解で学ぶネットワークの基礎:SSL編:ITpro
暗号化とは複雑に感じました(^^;)
「よく分かる公開鍵認証」~初心者でもよくわかる!VPSによるWebサーバー運用講座(2) | さくらのナレッジ
PKIと公開鍵暗号方式・共通鍵暗号方式・鍵長とは?|GMOグローバルサイン【公式】
鍵の管理が容易。
誰でも取得可能。
暗号化・復号の処理が遅い。
ショッピングサイトや広く情報を収集するサイトなどで幅広く利用されてる。
何かのサイトに登録する時、仮登録メールを開いて、登録完了するのはこうゆう仕組みを利用されてるのでしょうか。
暗号化・復号の処理が早い。
送受信する相手が少ない場合は、鍵の管理は簡単。
鍵は非公開で安心して送受信できる。
鍵が公開されていないため、安心して通信することができる。
送受信する相手や通信の頻度が少ない場合のやりとりに向いてる。
ただ、相手が増えるとその分鍵を用意する必要があり、管理が大変。
TCPとは
http://www.picfun.com/lan19a.html
データのやり取りを色んな層でやりとりしてる。
イーサネットの層は直接繋がれたネットワークの中で。
IPの層はルーターがIPアドレスで判断。接続されてるネットワーク同士の通信のやりとり。
アプリケーション層はHTTP
信頼度の高いデータの転送。通信プロトコル。
プロトコルとは決まりごと。規則。
通信の決まりごと。通信の規則。
ネットワークの通信方法の名前。
ITって、ネットワークって、難しいですねー。