1. 程式人生 > >html+php+js+mysql執行流程

html+php+js+mysql執行流程

訪問一個網頁,伺服器執行php解析程式,解析php,當用到mysql的時候連結mysql(當php解析完畢自動斷開),當php解析完畢,開始返回html,瀏覽器開始解析html,監測到js和css都是獨立檔案時(很多時候css和js的程式碼都在html裡了),就開始請求js和css檔案,具體他們兩個誰先請求,不太確定,推測是,在html中的順序,瀏覽器在得到html的時候就開始顯示網頁,css完畢的時候,整體顯示完整,js需要觸動。

html是超文字連結語言,是靜態的,顯示在客戶端,只用HTML做出來的網頁是靜態網頁,沒任何互動功能。
JS是一種基於物件和事件驅動的指令碼語言,執行在客戶端,是一種比較簡單的程式語言,使用方法是向Web頁面的HTML檔案中增加一個指令碼讓HTML做出來的表態網頁功能更強大。不需要單獨編譯解釋,當一個支援JavaScript的瀏覽器開啟這個頁面時,它會讀出這個指令碼並執行其指令。


PHP是程式設計語言,執行在伺服器端的,主要用來對處理客戶通過網頁提交的資訊,它是執行在伺服器端的,用來響應客戶的請求。
不能說沒有HTML就是不能存在PHP;

HTML不是語言,而是標籤,瀏覽器執行到標籤就可以做出相對的反映,他並不能阻止PHP或者幫助PHP什麼,只是讓你網頁美觀。
JS是指令碼語言,是讓你瀏覽器可以做出相對的互動響應。
PHP才是程式設計語言,對使用者的請求做出響應。是執行在伺服器的,並不會傳送給使用者。

我們如果建立了一個PHP應用程式,實際上相當於建立了一個PHP指令碼檔案。在伺服器將輸出資訊傳送到客戶端之前,網路伺服器會率先將檔案中的PHP語言進行加工處理。如果伺服器不支援PHP,通常情況下,網路伺服器會直接將超文字檔案送到客戶的瀏覽器上以表示對HTTP的要求作出應答;如果伺服器支援PHP,則在伺服器響應一個對PHP檔案的請求時,會進行下列處理:首先在一個PHP檔案內,標準的HTML編碼會被直接送到瀏覽器上,而內嵌PHP程式卻是先被網路伺服器解釋執行。如果是標準輸出的話,輸出資訊也將作為標準的HTML而被送至瀏覽器。

    PHP可以安裝在Unix/Linux環境下,也可以安裝在Windows環境下。目前網站使用最多的、也是最理想的便是PHP+MySQL+Apache基於Unix/Linux下的伺服器策略。

2.1   PHP工作原理

一個完整的PHP系統由以下幾個部分構成。

作業系統:網站執行伺服器所使用的作業系統。PHP不要求作業系統的特定性,其跨平臺的特性允許PHP執行在任何作業系統上,例如,Windows、Linux等。

伺服器:搭建PHP執行環境時所選擇的伺服器。PHP支援多種伺服器軟體,包括Apache、IIS等。

PHP包:實現對PHP檔案的解析和編譯。

資料庫系統:實現系統中資料的儲存。PHP支援多種資料庫系統,包括MySQL、SQL Server、Oracle及DB2等。

瀏覽器:瀏覽網頁。由於PHP在傳送到瀏覽器的時候已經被解析器編譯成其他的程式碼,所以PHP對瀏覽器沒有任何限制。

圖2.1完整地展示了使用者通過瀏覽器訪問PHP網站系統的全過程,從圖中可以更加清晰地瞭解它們之間的關係。

 
圖2.1   PHP的工作原理

圖2.1解析。

(1)PHP程式碼傳遞給PHP包,請求PHP包進行解析並編譯。

(2)伺服器根據PHP程式碼的請求讀取資料庫。
說明: (3)伺服器與PHP包共同根據資料庫中的資料或其他執行變數,將PHP程式碼解析成普通的HTML程式碼。

(4)解析後的程式碼被髮送給瀏覽器,瀏覽器對程式碼進行分析獲取視覺化內容。

(5)使用者通過訪問瀏覽器瀏覽網站內容。



相關推薦

html+php+js+mysql執行流程

訪問一個網頁,伺服器執行php解析程式,解析php,當用到mysql的時候連結mysql(當php解析完畢自動斷開),當php解析完畢,開始返回html,瀏覽器開始解析html,監測到js和css都是獨立檔案時(很多時候css和js的程式碼都在html裡了),就開始請求js

使用events.EventEmitter 控制Node.js 程序執行流程

html 文件系統 bsp () googl round 命令 文件中 all 使用events.EventEmitter 控制Node.js 程序執行流程 標題寫的可能也不太對,大家領會精神; Node.js 是一個基於Chrome JavaScript 運行時建立的一

PHP程式的執行流程

http://blogread.cn/it/article/5524?f=wb 為了以後能開發PHP擴充套件,就一定要了解PHP的執行順序。這篇文章就是為C開發PHP擴充套件做鋪墊。 Web環境我們假設為Apache。在編譯PHP的時候,為了能夠讓Apache支援PHP,我們會生成一個mod_php5.

node js 非同步執行流程控制模組Async介紹

sync是一個流程控制工具包,提供了直接而強大的非同步功能。基於Javascript為Node.js設計,同時也可以直接在瀏覽器中使用。 Async提供了大約20個函式,包括常用的 map, reduce, filter, forEach 等,非同步流程控制模式包括,序列(series),並行(para

web學習---htmljsphpmysql一個動態網頁獲取流程

htm 註意 blog sql 寫入 conn com sqli cms 使用bootstrap的cms模版系統搭建了一個信息管理系統。通過這個系統學習動態網頁獲取的工作流程。 抓包分析一個頁面的數據請求流程如下圖所示: 同樣,對於需要向數據庫插入數據,可以使用aja

[轉]PHP執行流程,PHP擴展加載過程

nan air bing elong ges ava oop 過程 ssa Java%E5%9F%BA%E7%A1%80-OOP%E7%89%B9%E6%80%A7%E4%B9%8B%E5%B0%81%E8%A3%85%E3%80%81%E7%BB%A7%E6%89%BF%

cocos2dx-js 初探 整體流程helloworld.html分析

main 查詢 cocos2 需要 完整版 簡單 初始 最終 elf 我們下載的是cocos2dx-js的精簡版本,主要是為了分析簡單明了,能更清楚的看到架構流程。下載地址:http://cocos2d-x.org/filecenter/jsbuilder/下載輕量版。 百

關於wamp的HTMLPHPmysql 三者的操作與聯系 - mysql簡單配置(三)

長度 -1 logs 建議 用戶 不用 自帶 .com upd   上一章講完HTML與PHP之間的傳值方法,這一章將wamp中mysql的使用,為下一章PHP調用數據準備。 再次說明作者的wamp版本是3.0.6 64bit   打開wamp自帶的mysql試圖數據庫

JS動態插入HTML後不能執行後續JQUERY操作

class html body 點擊 執行 jquery 發現 不能 strong 通過js追加的html 發現 不能點擊 執行函數 普通綁定事件:$(‘.btn1‘).click(function(){}綁定 事件委托 解決方法: $("body").delega

requests-htmljs執行功能簡單使用

wid https nth http encoding links val pre int #!/usr/bin/env python # encoding: utf-8 import asyncio from requests_html import HTMLSes

ajax 動態載入html後不能執行其中的js解決方法

cti 寫入 match IT 通過 如果 frame tro 其他 事件背景 有一個公用頁面需要在多個頁面調用,其中涉及到部分js已經寫在了公用頁面中,通過ajax加載該頁面後無法執行其中的js。 解決思路 1. 采用附加一個iframe的方法去執行js,為我等代碼潔癖者

mybatis的執行流程 #{}和${} Mysql自增主鍵返回

ola save select .org 經驗 sel 占位符 upd 執行 n Mybatis配置 全局配置文件SqlMapConfig.xml,配置了Mybatis的運行環境等信息。 Mapper.xml文件即Sql映射文件,文件中配置了操作數據庫的Sql語句。此文件需

xss 防止攻擊,惡意用戶將輸入的信息當成htmljs代碼執行,辦法是將用戶輸入的信息改為text格式,或特殊符號轉義

code 們的 不用 ram 轉義 字符 box 允許 onf xss 防止攻擊,惡意用戶將輸入的信息當成html或js代碼執行,辦法是將用戶輸入的信息改為text格式,或特殊符號轉義 XSS攻擊的防範 XSS攻擊造成的危害之所以會發生,是因為用戶的輸入

步步深入MySQL:架構->查詢執行流程->SQL解析順序!

效率 線程 sele 重新 3.2 image 最好 詞條 mysqld 一、前言 本文將從MySQL總體架構--->查詢執行流程--->語句執行順序來探討一下其中的知識。 二、MySQL架構總覽 架構最好看圖,再配上必要的說明文字。 下圖根據參考書籍中一圖為原

MySQL源碼探索02SQL命令總體執行流程

臨時 bis mysql源代碼 data nts mysql服務器 產生 exp 就是 本文將在MySQL源碼探索系列技術博客的第1篇的基礎上接著分析dispatch_command()函數之後的工作流程,主要是分析mysql_parse()和mysql_execute_c

PHP+JS+HTML 手機下拉載入分頁

HTML迴圈頁面 can 檢視容器引數 dir 傳值(自定義) <div class="fhsj"> <ul class="lbt" id="thelist" can="2" dir="<?= $_GET['dir'] ?>" > &

NodeJs中的http-server的使用--解決chrome瀏覽器執行htmljs檔案的時候,無法呼叫本地的檔案

  一、環境:已經安裝了nodeJS。 二、安裝http-server:    開啟cmd --》 輸入  npm install http-server -g  注意:需要-g ,否則會出現錯誤,並且點選執行start.bat的時候

幾張圖為你分析HTMLJSPHP之間的資料傳輸

在電商網站搭建過程中,前端經常會向後端請求資料,有時候通過HTML、JS和PHP檔案的處理來實現資料的連通。通常情況下,使用者在HTML中做關鍵字操作,JS對提交的表單進行資料處理,向後端發起ajax請求對應PHP的api介面,PHP在接收到資料後對連線伺服器,伺服器再通過PHP中的SQL語句對資料

PHP操作MySQL--流程

PHP操作MySQL流程 1連線資料庫 2選擇資料庫並設定編碼 3準備SQL語句 4傳送SQL語句到MySQL伺服器 5接受返回的結果集資源 6解析結果集資源 7關閉連結資源 編碼設定: 1.php:header("Content-type:text/html;charset=utf-8");

xss漏洞 當發現js程式碼插入到了html中,但無法執行的情況

如下發現js程式碼插入到HTML中,但是無法執行,因為xss程式碼出現在value中,被當作值來處理。 <input type="text" name="content" value="<script>alert(1)</script>" /> 可以用如下方法讓HTML