<草稿>1022http

HTTP: HyperText Transfer Protocal :超文本傳輸協議
超鏈接
web:
    http/0.9:僅支持純文本
    HTML:HyperText Mark Language
browser:www的客戶端
URI:Uniform Resource Indetifier統一資源標識符包括但不僅限於互聯網
        統一:路徑格式的統一
    子對象:URL:Uniform Resource Loacator用來描述互聯網的統一標示格式
    格式:protocal://Host:port/path/to/file
web資源:讓web瀏覽器訪問的文件 web對象
    多個資源很可能被整合爲一個html文檔
http方法: telnet IP   提交首部  獲得反應
    GET
    POST 提交
    PUT 上傳
    DELETE 刪除
    HEAD 只返回head信息   
    Trace
    options
    connection
MIME:Multipuipose Internet Mail Extension 多用途互聯網郵件擴展
SMTP:Simple Mail Transmission Protocol 簡單郵件傳輸協議
    MIME:將非文本數據在傳輸前重新編碼爲文本格式,接收方能後還原爲以前的格式,還能調用相應的程序來打開此文件。
    Base64:一種編碼格式
動態效果:
    ActiveX
    flash
    Java,Applet(由於太重被淘汰)   JRE解析代碼
動態網頁:服務器端存儲的非HTML格式,而是編程語言開發的腳本,服務器接收參數後在服務器運行一次,運行完成後會生成HTML的文檔,把生成的文檔發給客戶端
    web-->protocal-->php(運行)-->html
    動態網頁包含靜態內容和動態內容,動態內容才需要運行。
緩存:
HTTP首部:http報文 :請求報文,響應報文
    get /2.html
    主機名
請求報文語法:
    <method> <request-URL> <version>
    <headers>
    <entity-body>
     如 :
    GET / HTTP/1.1
    Host: www.laoguang.

    Connection:keep-alive
響應報文:
    <version> <status> <reason-phrase>
    <headers>

    <entity-body>
    狀態代碼:
    1xx:純信息
    2xx:成功類信息 (200 正常相應 )
    3xx:重定向信息 (301永久重定向,302臨時,304沒有發生任何改變)
    4xx:客戶端錯誤類信息 (404文件不存在)
    5xx:服務端錯誤類信息
http/1.1
    增強了緩存
    增加了長連接
應用程序服務器
    IIS   
    tomcat(apache,JSP,open source)
    Websphere(IBM,JSP)
    Weblogic(Oracle,JSP,commodity)
    JBoss(Redhat,open source)

查看服務器用的軟件www.netcraft.com

Apache:17年
ASF:Apache Software Foundation
    web:httpd
        Tomcat  php解釋
        Hadoop  並行管理環境
httpd:
    1.實現創建進程
    2.按需維持適當進程
    3.模塊化設計,核心短小精悍,各種功能都模塊添加(PHP)
        支持運行配置,支持單獨編譯模塊
    4.支持多種方式的虛擬主機配置
        虛擬主機:物理服務器一個,web程序也只有一個,卻可以服務多個不同站點
        套接字(Socket):IP:port
            基於IP的虛擬主機
            基於端口的虛擬主機
            基於域名的虛擬主機
    5.支持Https協議 (mod_ssl)
    6.支持用戶認證
    7.支持基於IP或主機名的ALC
    8.支持目錄的訪問控制
    9.支持URL重寫

RedHat(httpd):
    rpm包
    源碼編譯
httpd:
    /usr/sbin/httpd(MPM:prefork)
    httpd:root,root (master process)
    httpd:apache,apache (worker worker)
    /usr/rc.d/init.d/httpd
    Port:(80/tcp)(ssl:443/tcp)
    /etc/httpd工作根目錄程序安裝目錄
    /etc/httpd/conf配置文件目錄
        httpd.conf
        /etc/httpd/conf.d/*.conf使用Include來包含
    /etc/httpd/modules:模塊目錄
    /etc/httpd/logs-->/var/log/httpd日誌目錄
        訪問日誌:access_log
        錯誤日誌: err_log
    /var/www/html 靜態頁面所在目錄
    /var/www/cgi-bin 動態頁面使用目錄
        Common Gateway Interface
        perl,python,java(Servlet,JSP),php
        fastcgi:
        程序:指令和數據
            管理數據的服務器:數據服務器
/etc/httpd/conf/httpd.conf
    directive  value
    指令不區分大小寫,值區分大小寫 LoadRunner HP的測試工具很強大很暴力
    MPM:Multi Path Modules 多道處理模塊
        mpm_winnt
        prefork : 一個請求用一個進程相應
        worker:一個請求用一個線程響應,啓動多個進程,每個進程生成多個線程
        event :一個進程處理多個請求

URL路徑跟本地文件路徑不是一碼事,URL是相對於DocumentRoot而言的
    Options
        Indexes:允許索引目錄
        None:不支持任何選項
        FollowSymLinks:允許追蹤符號鏈接
        Includes:允許執行服務端包含(SSI)
        ExecCGI:允許允許CGI腳本
        Multiview:語言自適應
        ALL:啓用所有選項
        +|- 子目錄增加或減少選項,如果沒有+|-就是覆蓋繼承
    AllOverride ACL訪問機制
        None,Auth
    Order:基於主機的訪問功能的,IP或網絡地址定義訪問控制機制
        Order allow,deny
        Deny from 192.168.0.0/24
            地址的表示方式:IP network/netmask HOSTNAME DOMAINNAME partial IP
        httpd -t 測試語法
        htpasswd -c -m file username
        PV:Page View 每天的頁面訪問量
        Uv:User View 每天的獨立IP訪問
CGI 一種協議,按需調用某個程序
Apache跟動態內容環境結合的方式:
    1,做成apache模塊   一個進程處理
    2,基於CGI通信      web進程需要動態內容解析的,交給解析器,解析完畢後返回給web
    3,基於fastCGI      一個服務器自己管理自己的CGI
虛擬主機:
    先取消中心主機,只需要註釋掉中心主機DocumentRoot即可
物理服務器只能運行一個站點,但虛擬主機可以爲多個站點服務
socket IP:PORT
    基於IP的虛擬主機,使用不同的IP
    基於Port的虛擬主機,使用不同的port提供不同的站點
    基於主機頭的虛擬機主機,使用不同的主機名提供不同的站點
<VirtualHost IP:PORT>
    DocumentRoot "/path/to/file"
    ServerName ""
    ServerAlias ""
    <Directory "/path/to/file">
        定義訪問規則
    </Directory>
    ErrorLog logs/site1.err_log
    CustomLog logs/site1.access_log combined
</VirtualHost>
SSL
    Secure Socke Layer
        SSLv2,SSLv3
TLS    Transport Layer Secure
        v1相當於SSLv3
SSL會話建立是基於IP的,也就是說虛擬主機不能使用
httpd (mod_ssl) -->https 實現
1,爲web服務器提供證書
2,安裝mod_ssl,讓httpd 支持ssl功能
3,配置httpd使用簽名提供的證書和私鑰
4,驗證(客戶端信任的ca證書)
MVC
php:用於開發動態網頁,是一種腳本語言,在服務器端運行,嵌入到HTML,面向對象
php,PHP License 不要聲稱自己是PHP就行

BBS:
    discuz   qq
    phpwind  alibaba
    phpbb 
blog:
    wordpress
    drupal CMS,Content Managing System
SQL:MySQL,PostgreSQL 輕量級
    默認:3306端口
Oracle Sybase Informix

SQL Server

 

 

數據庫查詢會拖慢速度
靜態化,動態內容提取出來
HTTP Hyper Text Transfer Protocol 80/tcp
HTTPS 基於ssl/TLS的Http   443/tcp
HTML :Hyper Text Mark Language
Server: Apache,Nginx,Lighttpd,
request
<method> <usr><version>
httpd headers
空白行
<body>

response
<version><status code><reason_phrase>
httpd headers
空白行
<body>
get,post,put,head,delete,options,trace,connection
ServerSignature 顯示apache信息
Context Switch (CS) 上下文切換
保存現場
恢復現場
I/O多路複用模型
    select() prefork
    poll()
    epoll()     linux當前最流行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章