Linux基礎知識_13 -- http&httpd

http協議javascript

實驗:
   
Yum install httpd php php-mysql mariadb-server  //安裝相關文件

  

   啓動httpd以及mariadb服務,並關閉防火牆以及selinux;
   Systemctl start httpd
   Systemctl start mariadb
   Iptables -F
   Systemctl stop firewalld
   Seteforce 0

  測試是否安裝成功php

 
   Vim /var/www/html/index.php   
      <?php Phpinfo();       ?>

  訪問,可以看到php的測試主頁面便可
    http://192.168.94.130css

 

  vim /var/www/html/index.php	
    <?php $conn=mysql_connect(‘127.0.0.1’,’root’); If ($conn) Echo 「ok」; Else Echo 「false」; Mysql_close(); ?>

  訪問,可以看到php的測試數據顯示ok則表示正確;html

  在數據庫上建立用戶;前端

	Mysql
	Grant all on wpdb.* to ‘wpuser’@’localhost’ identified by ‘wppasswd’;
	Grant all on wpdb.* to ‘wpuser’@’127.0.0.1’ identified by ‘wppasswd’;
	Create database wpdb;
	Flush privileges;
	Exit

  查看用戶是否添加成功java

  Mysql -uwpuser -pwppasswd
  Show databases;

  修改wordpress的配置文件mysql

	Unzip workpress-4.3.1-zh_CN.zip
	Cp -a wordpress /var/www/html/
	Cd /var/www/html/wardpress
	Cp wp-config-sample.php wp-config.php

  添加數據庫,用戶,以及密碼linux

	Vim wp-config.php
		Define(‘DB_NAME’, ‘wpdb’);
		Define(‘DB_USER’, ‘wpuser’);
		Define(‘DB_PASSWORD’, ‘wppasswd’);

 訪問測試:
   在流量器上訪問:http://192.168.94.130/wdpressweb

    docker方式搭建 wordpress 平臺;----比較容易便捷sql

---------------------------------------------------------------------------------------

一、套接字 (進程間通信)

     tcp/ip  --  osi 
     應用層 --> 資源子網 (提供正真客戶所須要的資源信息 -- 應用層!) 
     --------
     傳輸層 --> tcp udp
     網絡層  -->  通信子網  (內核提供)
     主機到主機層
     套接字概念:關聯應用層資源與底層的網絡;使得,不一樣主機之間可以實現應用數據的交互; 
     全部進程間通信的機制,咱們都叫作IPC機制(進程間通信);套接字只是 IPC 機制中的一種而已;
          常見的IPC通信機制:一、MQ -- 消息隊列
                      二、socker 套接字
                         三、single 信號
                      四、共享內存
     分類:
          根據數據包封裝的狀況分類:
            一、SOCK_STREAM  tcp的套接字
            二、SOCK_DGRAM udp的套接字
            三、SOCK_RAM 裸套接字
          地址簇來進行分類:
            一、IPV6的套接字
            二、IPV4的套接字
            三、UNIX的套接字
 
     咱們也能夠將套接字理解爲內核的系統調用 -- system call(C語言開發相關的底層代碼 -- 相似於函數):
            編譯型(面向過程的)的編譯語言的調用 -- 函數
            解釋型(面向對象的)的編程語言的調用 -- 類
     套接字相關的應用:
            socket() 建立套接字
            listen() 監聽
            accept() 接受請求
            connect() 請求鏈接創建
            write() 發送數據
            read() 從緩存中接受數據
 
     咱們http協議,使用B/S架構(瀏覽器與服務器架構)就須要經過套接字的方式進行數據傳輸!!! 
          http://www.baidu.com/...  -- URL
               /...  --> 指定資源  URI
               http --> 協議
               www  -->  提供指定服務的主機的主機名
               baidu.com  -->  域名

二、http協議基礎
   超文本傳輸協議
     默認狀況下,http協議就是用來實現客戶端與服務端的數據傳輸(文本);
          【流浪器必須安裝插件】
	<html>
	    <head>
	        <title>Title</title>
	    </head>
	    <body>
	        <h1></h1>
	            <p> 內容 <a href="http://www.magedu.com/log.jpg"> 內容 </a> </p>
	        <h2></h2>
	    </body>
	</html>

   http默認只能傳輸文本文件 數據流
   |
   html css javascriptes  //標籤語言 -- 更好的規劃文本格式! ,xml注入攻擊
   |
   MIME
        Multipurpose Internet Mail Extensions   : 多用途互聯網郵件擴展類型
        用來展現圖片以及視頻數據;
        默認狀況下,在傳輸的過程當中,依然文本流量;
        MIME只用做將文本與視頻及圖片進行轉換;

  

  工做機制
        首先會創建TCP鏈接,http tcp80端口;C -- >  S:80
             http請求
             http響應
             注意:請求是有不少的,(前端語言將不少的資源進行劃分,而固定的服務器,只提供固定資源)
        因此,有可能請求了一次,可是實際上生成了不少的進程;
        http支持MPM (多處理模塊)
             由於http提供的訪問進程數量有限,因此,咱們須要啓用一些訪問機制,可以處理高併發流量;
             MPM模塊支持三種模式:
                  prefork  --  默認模式,隊列模式
                  worker -- 多線程模式
                  event -- 多線程併發處理模式
                         每個請求,我都叫一個IO;

 

    修改MPM模式:
       特性:http服務的MPM模式是在服務啓動的那一刻加載進來的。
       目錄:/etc/sysconfig/httpd  -- http -2.2
                                   -- http -2.4
       #HTTPD=/usr/sbin/httpd.worker
       去掉 # 便可;
       必須從新加載配置,這樣才能生效;
   
       ps aux | grep httpd   //查看當前所起的進程
         【注意:web服務是不能隨便重啓!!!】
       相關的配置文件能夠在 /etc/httpd/conf/httpd.conf 文件中去設置;
            除了event模式沒有--由於這種並不穩定,不建議使用;

 

  請求資源
      首先明白:如何識別這些資源 -- 文件後綴來識別;
      靜態資源 -- 圖片 jpg png 、文字 .txt .doc 、視屏 avi mp4 rmvd flv
      *動態資源 -- .php ... *
             LAMP / LNMP / LAMMP / LNMMP -- memcache
             php -- 加速器
             httpd優化 -- 權限限制、MPM的訪問模式、虛擬主機搭建。。。

 

   http的版本 -- (不加密)
        HTTP協議版本:
        HTTP/0.9  最先的被普遍採用的版本 原型版本,不支持多媒體內容
        HTTP/1.0  第一個普遍使用的版本,如今依然被使用,能支持多媒體,可是緩存機制不行
        *HTTP/1.1 加強了緩存功能*當前使用的版本;
        HTTP/2.0  2001年就出來了,如今基於web的應用多數使用HTTP/2.0版本(新版本),它參考了谷歌的spdy協議,因此咱們有理由相信HTTP/2.0會被普遍使用
             默認安裝的都是2.0版本;

 
 ---------------------------------------------------------------
 HTTP協議:
        TCP 80  http://192.168.94.128 - URL
     URL介紹
        URL的完整格式:
            協議類型://用戶名,密碼@hostname:port/URI;參數值?查詢請求#標記
             示例:https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1
        URL包含URI,由URI來定義所要訪問資源的具體位置;
        URN和URL是一個並列的東西(不作了解)
 
 
 
 *cookie機制
    cookie分類:
       永久cookie -- 把cookie值存在硬盤上(這裏須要指定cookie的保存時間)
       臨時cookie -- 把cookie值保存在內存上(重啓流量器即失效)
    cookie很是不安全
 
 
 HTTP事務
      請求 request 和相應 replay,一個請求和一個相應合起來,咱們叫作一個HTTP事務;
      (事務:一次完整的會話,或者工做,才能被稱爲一個事務;)
              mysql
         A     --------------------->    B
         1000                           500
       1000-300=700 ---------->  500+300=800
             mysql -- 事務回滾 
          報文格式 -- http的請求報文  http的應答報文
       http 請求報文:
          首行信息: 模式  URI  版本信息
          頭部信息: 頭部
          請求主體: 實體信息   
 
       http 應答報文:
          首行信息: 版本信息  狀態碼  緣由短語
                          200      OK
          頭部信息:
          應答主體:
 
 
     method(模式):
         GET 普通的請求
         HEAD 之請求網站的頭部信息
         POST 推送用戶名或密碼的時候使用的
         PUT 推送比較大的資源的時候使用的
         DELETE 發起刪除對應資源的命令
         TARCE 允許客戶端查看,被修改後的http請求報文(由於中間經過了代理服務器,而代理服務器會修改咱們的請求表文)
         OPTIONS  客戶端去諮詢服務器端所能支持模式;
         還有其餘不少的擴展模式 -- 例如:MOVE LOCK 等等。
 
    version:http的版本
         常見使用的版本爲 1.1
 
    status:相應狀態碼,例如200,301,302,404,502
         100-199 表示服務器信息迴應 100 101
         200-299 表示成功的請求
            常見的--200 ok  201 create
         300-399 表示重定向
            301 請求的URL指向的資源已經被刪除:但在響應報文中經過首部Location指明瞭資源如今所處的新位置;這個是永久重定向:Moved Permently
            302 與301類似,可是在響應報文中,經過Location指明瞭資源如今所處的臨時新位置;Found
            304 客戶端發出了條件式請求,可是服務器發現客戶端的緩存資源不曾發生改變,則經過響應狀態碼通知客戶端:Not Modified
         400-499 客戶端錯誤狀態碼
            401 須要輸入帳號和密碼認證方能訪問資源,Unauthorizad
            403 請求被禁止:forbidden
            404 服務器沒法找到客戶端請求的資源:Not Found
         500-599 服務器端錯誤
            500 服務器內部錯誤:Internal Server Error
            502 代理服務器從後端服務器收到一條僞響應,Bad Gatway
    reason-phrase(緣由短語):狀態碼說明            如上
相關文章
相關標籤/搜索