不惑にしてまだ何者でもない者のブログ

Arduino関連、Raspberry Pi関連、プログラミング学習

paizaラーニング『Web技術入門編01 :URIとHTTPを知ろう (全11回) 』を受講してみた

2020-10-06 22:02:29 | paiza
さて次にpaizaラーニングで何を受講しようかと考え、
Web系のプログラミング知識が乏しいので、
『Web技術入門編 (全3レッスン)  』を受けてみることにした。

まずは、その1『Web技術入門編01 :URIとHTTPを知ろう』を受講してみよう。

01:Web技術の基本ポイント

ここは、講義を受講するだけのチャプターだから、出てきた用語を以下に整理。
  • クライアントーサーーモデル
  • URI(Universal Resource Identifier):Webページなどのネット上のリソースを指定する。Webページのアドレスである「URL」もURIの一種。
  • HTTP(HyperText Transfer Protocol):ブラウザとWebサーバの通信手順
  • HTML(HyperText Markup Language):Webページのフォーマット

02:URIを理解しよう

  • URIの構成要素
    • スキーム:通信手段を指定する(http,https,file,mailto)
    • ドメイン名:ネット上のサーバを指定(www.example.com)
      • .com:商用利用
      • .co.jp:日本の企業
    • ポート番号:サーバのリソースにアクセスする技術的な出入口
      • http:80(デフォルト)
      • https:443(デフォルト)
    • パス:Webサーバ内のリソースの位置を階層的に記述
    • クエリ:Webサーバに提供する追加パラメータ
      • ?key1=value1&key2=value2
    • フラグメント:リソース自体の特定の場所へのアンカー
      • #Anchor

03:curlを使ってみよう

  • curl [オプション] URI:シェルコマンドでWebサーバにアクセスして、Webページに関するいろいろな情報やデータを取得できる。
    • -I:レスポンスヘッダを出力する
今日はここまで。ちょっと疲れたからもう寝よう。

04:HTTPの中身を知ろう

  • curl URI:webページを見る
  • curl URI -v:HTTPの送受信データを見る
  • HTTPのステートレス性
    • 1回のやりとりで処理が完了
    • ステートレス:やり取りの状態を持たない

05:ブラウザから送信するデータを知ろう

  • HTTPメソッド
    • GET:リソースの取得
    • POST:サーバ上の状態を変更
    • PUT:リソースの更新、リソースの作成
    • DELETE:リソースの削除
    • HEAD:リソースのヘッダだけを取得
    • OPTIONS:リソースがサポートしている通信オプションを取得
    • TRACE:プロキシ動作の確認
    • CONNECT:プロキシ動作のトンネル接続への変更
このチャプターの演習課題では、おそらく正解コマンドを打っているのにも関わらず不正解となった。
試行錯誤した結果、どうやら”--trace-ascii - ”を抜いてやると正解となるっぽい?

06:ブラウザが受信するデータを知ろう

  • リクエストメッセージのフォーマット
    • リクエストライン:サーバの処理結果を記述
    • ヘッダ:レスポンスに関連する情報を記述
    • メッセージボディ:サーバから出力するデータ
  • レスポンスのステータスコード分類
    • 100番台     継続
    • 200番台  リクエスト完了
    • 300番台  リダイレクト(移行)
    • 400番台  リクエスト失敗
    • 500番台     サーバエラー

07:Webサーバの役割を理解しよう

  • Webサーバの役割
    • クライアントからのHTTPによるアクセスを処理
    • Webページなどのリソースを送り返す
    • アクセスに応じて、プログラムを起動する
    • セッション制御を可能にするクッキーの提供
    • アクセス制御
  • 代表的なWebサーバアプリケーション
    • Apache HTTP Server
    • nginx
    • Internet Information Services (IIS)
  • 典型的なWebサーバの構成(LAMP)
    • OS:Linux
    • Web:Apache
    • DB:MySQL
    • APP:PHP
このチャプターは、演習課題なしの講義のみだった。

08:Webサーバのアクセスログを見てみよう

  • Apacheの設定を確認する
    • ls /etc/apache2/
    • cat /etc/apache2/apache2.conf
  • アクセスログを見る
    • sudo ls -al /var/log/apache2/

09:Basic認証をやってみよう

  • .htaccessファイルの役割
    • Basic認証/Digest認証
    • ファイル一覧の表示可否
    • エラーページの指定
    • デフォルトページの指定
    • リダイレクト
    • アクセス制限
  • パスワードの作成・追加・削除
    • .htpasswdの作成とユーザの追加(初回)
      htpasswd -c .htpasswd user1
    • .htpasswd のユーザ追加
      htpasswd .htpasswd user2
    • .htpasswd のユーザ削除
      htpasswd -D /hogehoge/.htpasswd user2

10:Cookieを理解しよう

  • Cookieを取得するコマンド
    curl http://xxx.paiza-user-learning.cloud/~ubuntu/cookie/set_cookie.php -v -c cookie.txt
  • Cookieを送り返すコマンド
    curl http://xxx.paiza-user-learning.cloud/~ubuntu/cookie/get_cookie.php -v -b cookie.txt
何だかよう分からん😵 
眠いけど、あと1チャプターだけだからもうひと踏ん張り😏 

11:セッション管理を理解しよう

  • セッション:HTTPによるアクセス状況を管理
    • セッションの用途:掲示板のログイン状態やECサイトのショッピングカートを維持
    • クッキーを利用して実現
    • 安全なWebサービスに必要不可欠な技術
結構難しい内容だった。
多分、明日にはほとんど忘れてしまっているだろう。

LinuCレベル1取得に向け勉強中:101試験模擬問題(1回目)

2020-10-06 10:42:17 | LinuC
LinuCレベル1取得に向けた勉強の続き。

 
どうやら5章までが、101試験の範囲らしく、
5章の後に、101試験模擬問題が用意されているので、受けてみる。

101試験模擬問題

  1. B,C→◯
  2. B→❌D
  3. D,E→❌A,B
  4. A→❌C
  5. B→❌D
  6. A→◯
  7. C,D→◯
  8. B,D→◯
  9. A,D→❌A,B
  10. A,C→◯
  11. C→◯
  12. ?→❌disable
  13. D→◯
  14. A,D→❌A,C
  15. B→◯
  16. C→❌B
  17. B,D→◯
  18. D→❌C
  19. A→❌B
  20. D→◯
  21. C→❌B
  22. A→◯
  23. C→◯
  24. B→◯
  25. A→◯
  26. B→◯
  27. delete→❌unset
  28. C→◯
  29. ${PATH}→❌$PATH
  30. D→◯
  31. D→❌A
  32. D→❌B
  33. D→◯
  34. "test"→❌<<
  35. A→◯
  36. A→◯
  37. C→❌D
  38. B→◯
  39. C→◯
  40. B→◯
  41. A→◯
  42. C→❌D
  43. B→❌C
  44. C→◯
  45. sudo apt upgrade→❌dpkg-reconfigure
  46. search→◯
  47. B→◯
  48. C→◯
  49. B→❌B,C
  50. D→◯
  51. B→❌A
  52. A,D→◯
  53. A,B→◯
  54. B,E→◯
  55. B→◯
  56. A→❌C
  57. B→❌A,B
  58. C→❌B
  59. D→◯
  60. C→◯
正解率:35/60=0.583(58.3%)
合格が6割だとすると、ぎりぎり不合格かな😅