導航:首頁 > 編程語言 > phphttp協議詳解

phphttp協議詳解

發布時間:2022-09-10 05:43:02

㈠ 什麼是ftp,http,SQL,php,NAT

FTP是FileTransferProtocol的縮寫,中文翻譯為"文件傳輸協議"。它是在計算機和網路之間交換文件的最簡單的方法。像傳送可顯示文件的HTTP和電子郵件的SMTP一樣,FTP也是應用TCP/IP協議的應用協議標准。FTP通常用於將網頁從創作者上傳到伺服器上供人使用,而從伺服器上下傳文件也是一種非常普遍的使用方式。
你可以用非常簡單的DOS界面來使用FTP,在Windows98中,單擊"開始→運行",輸入FTP後面接著輸入主機IP地址或網址(注意,不要加上http://),例如輸入:www.intodigi.com,就可以連接到筆者的網站,連接後會出現User(用戶名)和password(密碼),連接成功後,就可以用命令來操作。常用的有dir:顯示此目錄下的文件get:下載文件put:上傳文件。或者使用第三方提供的圖形界面的FTP來更新(刪除,重命名,移動和復制)伺服器上的文件,一般的FTP軟體還支持續傳的功能。現在有許多伺服器支持匿名登錄,允許用戶使用FTP和anonymous作為用戶名進行登錄,通常可使用任何口令或只按回車鍵。

HTTP(Hypertext Transfer Protocol),即超文本傳輸協議。是WWW瀏覽器和WWW伺服器之間的應用層通訊協議。HTTP協議是基於TCP/IP之上的協議,它不僅保證正確傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪一部分內容首先顯示(如文本先與圖形)等等

SQL是一種編程語言,下面對其進行一個詳細介紹:

SQL(Structure Query Language)語言是資料庫的核心語言。
SQL的發展是從1974年開始的,其發展過程如下:
1974年-----由Boyce和Chamberlin提出,當時稱SEQUEL。
1976年-----IBM公司的Sanjase研究所在研製RDBMS SYSTEM R
時改為SQL。
1979年-----ORACLE公司發表第一個基於SQL的商業化RDBMS產品。
1982年-----IBM公司出版第一個RDBMS語言SQL/DS。
1985年-----IBM公司出版第一個RDBMS語言DB2。
1986年-----美國國家標准化組織ANSI宣布SQL作為資料庫工業標准。
SQL是一個標準的資料庫語言,是面向集合的描述性非過程化語言。
它功能強,效率高,簡單易學易維護(迄今為止,我還沒見過比它還好
學的語言)。然而SQL語言由於以上優點,同時也出現了這樣一個問題:
它是非過程性語言,即大多數語句都是獨立執行的,與上下文無關,而
絕大部分應用都是一個完整的過程,顯然用SQL完全實現這些功能是很困
難的。所以大多數資料庫公司為了解決此問題,作了如下兩方面的工作:
(1)擴充SQL,在SQL中引入過程性結構;(2)把SQL嵌入到高級語言中,
以便一起完成一個完整的應用。
二 SQL語言的分類

SQL語言共分為四大類:數據查詢語言DQL,數據操縱語言DML,
數據定義語言DDL,數據控制語言DCL。

1 數據查詢語言DQL
數據查詢語言DQL基本結構是由SELECT子句,FROM子句,WHERE
子句組成的查詢塊:
SELECT <欄位名表>
FROM <表或視圖名>
WHERE <查詢條件>

2 數據操縱語言
數據操縱語言DML主要有三種形式:
1) 插入:INSERT
2) 更新:UPDATE
3) 刪除:DELETE

3 數據定義語言DDL
數據定義語言DDL用來創建資料庫中的各種對象-----表、視圖、
索引、同義詞、聚簇等如:
CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
| | | | |
表 視圖 索引 同義詞 簇

4 數據控制語言DCL
數據控制語言DCL用來授予或回收訪問資料庫的某種特權,並控制
資料庫操縱事務發生的時間及效果,對資料庫實行監視等。如:
1) GRANT:授權。
2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一點。
回滾---ROLLBACK
回滾命令使資料庫狀態回到上次最後提交的狀態。其格式為:
SQL>ROLLBACK;
3) COMMIT [WORK]:提交。
在資料庫的插入、刪除和修改操作時,只有當事務在提交到數據
庫時才算完成。在事務提交前,只有操作資料庫的這個人才能有權看
到所做的事情,別人只有在最後提交完成後才可以看到。
提交數據有三種類型:顯式提交、隱式提交及自動提交。下面分
別說明這三種類型。
(1) 顯式提交
用COMMIT命令直接完成的提交為顯式提交。其格式為:
SQL>COMMIT;
(2) 隱式提交
用SQL命令間接完成的提交為隱式提交。這些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。
(3) 自動提交
若把AUTOCOMMIT設置為ON,則在插入、修改、刪除語句執行後,
系統將自動進行提交,這就是自動提交。其格式為:
SQL>SET AUTOCOMMIT ON;

PHP是一個基於服務端來創建動態網站的腳本語言,您可以用PHP和HTML生成網站主頁。當一個訪問者打開主頁時,服務端便執行PHP的命令並將執行結果發送至訪問者的瀏覽器中,這類似於ASP和CoildFusion,然而PHP和他們不同之處在於PHP開放源碼和跨越平台,PHP可以運行在WINDOWS NT和多種版本的UNIX上。它不需要任何預先處理而快速反饋結果,它也不需要mod_perl的調整來使您的伺服器的內存映象減小。PHP消耗的資源較少,當PHP作為Apache Web伺服器一部分時,運行代碼不需要調用外部二進製程序,伺服器不需要承擔任何額外的負擔。

除了能夠操作您的頁面外,PHP還能發送HIIP的標題。您可以設置cookie,管理數字簽名和重定向用戶,而且它提供了極好的連通性到其它資料庫(還有DBC),集成各種外部庫來做用PDF文檔解析XML的任何事情。

有了PHP就無需特殊的開發環境和IDE,您可以以<?php 作為程序塊的開始,可以以 ?>作為PHP代碼塊的結束,當然您也可以用帶有 <% %>的標記甚至用<script LANGUAGE=「php」></script>的ASP的格式來配置 PHP,PHP會在那些標志間處理所有的事情。

PHP的編程語言類似與C和Perl。在使用它們之前您沒必要聲明任何變數,而且建立數組和Hash是很簡單的事情。PHP還有一些面向對象的特徵,可以為組織和打包您的代碼提供很好的幫助。

雖然PHP在Apache里能快速運行,但是在PHP網站里有一些用來對Microsoft IIS 和 Netscape Enterprise Serer無縫結合的指令集。如果您還沒有 PHP的話,您可以在 http: //www.php.com 下載,您也可以使用操作手冊,它里邊包括了所有的關於PHP的功能和特性的說明

網路地址轉換 (NAT) 是一個 Internet 工程任務組 (Internet Engineering Task Force,IETF) 標准,用於允許專用網路上的多台 PC (使用專用地址段,例如 10.0.x.x、192.168.x.x、172.x.x.x) 共享單個、全局路由的 IPv4 地址。IPv4 地址日益不足是經常部署 NAT 的一個主要原因。Windows XP 和 Windows Me 中的「Internet 連接共享」及許多 Internet 網關設備都使用 NAT,尤其是在通過 DSL 或電纜數據機連接寬頻網的情況下。

NAT 對於解決 IPv4 地址耗費問題 (在 IPv6 部署中卻沒必要) 盡管很有效,但畢竟屬於臨時性的解決方案。這種 IPv4 地址佔用問題在亞洲及世界其他一些地方已比較嚴重,且日漸成為北美地區需要關注的問題。這就是人們為什麼長久以來一直關注使用 IPv6 來克服這個問題的原因所在。

除了減少所需的 IPv4 地址外,由於專用網路之外的所有主機都通過一個共享的 IP 地址來監控通信,因此 NAT 還為專用網路提供了一個隱匿層。NAT 與防火牆或代理伺服器不同,但它確實有利於安全。

㈡ HTTP協議有什麼局限性

HTTP協議全稱Hyper Text Transfer Protocol,翻譯過來就是超文本傳輸協議,位於TCP/IP四層模型當中的應用層。

作用:在瀏覽器與伺服器間傳送文檔。

HTTP(Hyper Text Transfer Protocol) 超文本傳輸協議,是基於應用層(TCP/IP參考模型)的通信規范;是從Web伺服器傳輸超文本到客戶端的傳輸協議,無狀態的傳輸協議;不僅能夠保證正確、快速、高效的傳輸超文本文檔,而且可以確定資源載入順序等。

在Web開發中,頁面緩存控制、數據傳遞、文檔語言參數設定等等,都離不開HTTP協議。HTTP協議是整個Web應用的基礎,深入理解HTTP協議,是每個PHP開發工程師必須掌握的知識。

(2)phphttp協議詳解擴展閱讀


HTTP 協議的特徵:

1、HTTP 協議簡單,請求一個網頁時,只需發送請求方法(GET/POST/…)和資源路徑(URI)。

2、HTTP 是無狀態協議,本身對事務處理沒有記憶能力,但是有專門的技術為HTTP請求提供會話能力:Cookie/Session。

3、HTTP 採用問答式交互模型,每次連接只處理一個請求。

4、HTTP 是標準的C/S模型。

5、HTTP 允許傳遞數據對象類型豐富,由報頭Content-Type標識。

㈢ http和PHP HTML有啥關系嗎

http 是一種傳輸協議,你看看你瀏覽器的地址欄開頭,是個http吧
PHP是一種動態網頁編程語言
HTML是一個網頁的文件格式 也是一種標記語言。可以別瀏覽器解釋
關系就是它們都跟網頁有那麼點聯系

㈣ URL&HTTP協議詳解

整理了網課的PPT和老師的知識要點筆記:

URL :統一資源定位符,一般來說,一個URL由5個部分構成:

protocol,domain,port,path,URL parameters。

protocaol :協議,協議是指通信雙方對於通信所採用的數據的組織格式,規程,含義等所做的一個約定。協議是分層的(參考OSI,TCP/IP),通常來說,介面測試中使用到的協議是位於應用層的協議。常見的協議有:http(HypeText Transfer Protocal)https(http+ssl),ftp,ssh,smtp,pop3,mysql,oracle等。

Domain :域名,是我們要訪問的伺服器的機器名,域名,ip地址等。有一些介面文檔中沒有給出域名,要根據測試環境的伺服器來決定這個參數。

Port :埠號,在域名之後domain:port。埠號是由伺服器(軟體)來設置指定的,伺服器就會去時刻不停地監聽用戶發送到指定埠的請求。如果伺服器設定的埠和其所用的通信協議是默認的對應關系,則用戶在使用url訪問服務時,埠可以省略。埠好的范圍為0-65535,一般自定義埠號使用10000以後的比較安全,不會和一些默認協議埠沖突。常見的協議以及對應的默認通信埠為:

http:80                 https:443/8443              ssh:22

ftp:21                   smtp:25                         pop3:110

mysql:3306         oracle:1521

path:是指埠之後的所有內容,path通常是指我們要訪問的資源or服務在伺服器的容器路徑下的絕對地址。

url parameters:url地址參數,是以問好?作為鏈接符,拼接在path之後的,url地址參數採用鍵值對的方式,多個鍵值對之間使用&作為鏈接符。

注意:從協議的角度,url是沒有長度限制,但是很多瀏覽器對url的長度作出了限制,所以不能把所有參數都放在url中,可以放在請求體中。

http協議:超文本傳輸協議,是BS應用中普遍使用的一種協議。目前來說,該協議因其本身的快速,靈活的特性,已經在很多領域得到廣泛的應用。

特點:

1. http協議是一種基於request和response的協議

2. http協議是一種簡單,靈活的協議,只需要指定方法,url即可實現訪問。

3. http協議是一種無鏈接,快速的協議。

http的無鏈接是指短鏈接(信息頭中的標識connection:close)從http1.1版本開始,默認已經變更為長鏈接(信息頭中的標識connection:keep-alive)

短鏈接:一個tcp鏈接之上只能建立一個http鏈接,http鏈接關閉,則對應的tcp鏈接也會關閉。

長鏈接:一個tcp鏈接之上可以建立多個http鏈接,heep鏈接關閉,tcp鏈接不會關閉,直到收到關閉信號位置。

http2.0實現了多路復用,但還是基於tcp協議的。

http3.0計劃將棄用tcp協議,使用udp協議。

4. http協議是一種無狀態的協議,後引入了session和cookie機制來維持狀態。

http request:http請求,通常包含三個部分:request line,request headers,request body。

request line :請求行,是指請求數據包中的第一行內容:

eg:GET /phpwind/  HTTP/1.1

request method請求方法+request path請求路徑+ protocol協議/version協議版本

request method請求方法:如果沒有指定,將使用默認的方法get

get和post:都是請求方法,都可以向伺服器傳遞數據,區別在於,如果使用get方法發送數據,數據將組織在url地址參數中,使用post方法發送數據,數據將位於請求主體中。

post方法比get方法要安全,並不是因為參數的組織形式,而是因為post方法請求在客戶端是不會緩存的,而get方法請求在客戶端是會有緩存的。

request headers: 請求頭,是指從第二行開始到第一個空行截止的部分。請求頭是客戶端用於和伺服器進行信息交互,控制的一個部分,通常來說和業務無關,請求頭中的參數是鍵值對形式的,每對參數都是有特殊作用的。常見的請求頭參數:

User-agent:是用來告知伺服器,客戶端的一些節本信息,伺服器是通過該信息來識別客戶端。通常來說session是和該信息頭有關,建議全局統一。

content-type:如果請求主體有內容,則該信息頭必須加上,是用於指定請求主體中參數的形式的。

cookie,auth,token:是和鑒權相關的信息。postman會自動管理和保存請求的cookie,而Jemeter需要添加自己添加cookie管理器來保存請求cookie。

在介面測試抓包時,還要關注accept-encoding參數,如果是gzip,表示介面回傳的數據是壓縮過的。介面測試的時候需要指定這個參數,不然發起的介面測試的壓力和實際使用介面時會差別很大。

帶上accept-encoding:gzip,deflate時,返回的數據大小是13277bytes

disable HTTP信息頭管理器之後,返回數據的大小變成了54191byte:

如果是多語言的介面,還需要關注頭文件中的Accept-Language。

request body:請求主體,是指從第一個空行之後的所有內容。通常來說請求主體就是我們的客戶端所封裝的數據。客戶端封裝數據的格式是由客戶端(產品,介面)來決定的,我們只能遵循,不能自定義。

掌握http請求的構成和要點之後,就能夠幫助我們去完成基本的介面腳本的封裝。

http response:http響應,通常來說,http響應也是由三部分構成:response line,response header,response body。

response line:響應行,是指響應數據包的第一行。

eg:HTTP/1.1  200 OK

protocol/version +response code + response message

response code:響應狀態碼,是伺服器用來告知客戶端,伺服器對請求的處理狀態,這里的處理狀態僅僅是從通信邏輯上的處理狀態,而不是業務邏輯的處理狀態。

響應狀態碼通常是由3位長度的數字構成,根據首位數字的不同,可以分為5類:

1**:表示鏈接建立過程中的通信,交互信息。

2**:表示伺服器處理成功,典型的是200。

3**:表示重定向。

1**,2**,3**都表示客戶端和伺服器通信是成功的,但是最終業務是否正確,還是要根據對響應主體的檢測才可以判斷。

4**:表示客戶端錯誤。404

5**:表示伺服器錯誤。

websocket:簡稱ws協議,本質上是雙方先使用http協議建立鏈接,然後再升級申請專屬的tcp鏈接。

老師使用的抓包工具HttpWatch:

㈤ PHP語言解釋

Header函數的功能是輸出 HTTP 協議的標頭到瀏覽器。

//設置地址被永久的重定向
header('HTTP/1.1 301 Moved Permanently');

//轉到一個新網址,這個網址由變數$siteurl和$request_uri動態生成
header('Location: '.$siteurl.$request_uri);

還有很多其他的header,具體請查閱html手冊,以下是一些相對常用的:

範例一: 本例用來重導用戶到 PHP 的官方網站。
<?php
Header("Location: http://www.php.net");
exit;
?>

範例二: 欲讓用戶每次都能得到最新的資料,而不是 Proxy 或 cache 中的資料,可以使用下列的標頭
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

範例三: 讓用戶的瀏覽器出現找不到文件的信息。
<?php
header("Status: 404 Not Found");
?>

範例四: [email protected] (28-Apr-1999) 提供讓用戶下載文件的範例。
header("Content-type: application/x-gzip");
header("Content-Disposition: attachment; filename=some-file.tar.gz");
header("Content-Description: PHP3 Generated Data");

㈥ 什麼是HTTP協議響應流

一般情況下,伺服器接收並處理客戶端發過來的請求後會返回一個HTTP的響應消息。

HTTP響應也由四個部分組成,分別是:狀態行、消息報頭、空行和響應正文。

第一部分:狀態行,由HTTP協議版本號, 狀態碼, 狀態消息 三部分組成。

第一行為狀態行,(HTTP/1.1)表明HTTP版本為1.1版本,狀態碼為200,狀態消息為(ok)

第二部分:消息報頭,用來說明客戶端要使用的一些附加信息

第二行和第三行和第四行為消息報頭,

Date:生成響應的日期和時間;Content-Type:指定了MIME類型的HTML(text/html),編碼類型是ISO-8859-1

第三部分:空行,消息報頭後面的空行是必須的

第四部分:響應正文,伺服器返回給客戶端的文本信息。

空行後面的html部分為響應正文。

閱讀全文

與phphttp協議詳解相關的資料

熱點內容
美食博主用什麼app拍視頻 瀏覽:812
ipone手機如何加密微信 瀏覽:354
自來水加密閥閥帽 瀏覽:431
華為交換機dhcp配置命令 瀏覽:315
androidbitmap縮小 瀏覽:271
單片機串口控制燈 瀏覽:84
大訊雲伺服器安裝視頻 瀏覽:784
華為演算法領先世界 瀏覽:654
linux路由重啟 瀏覽:566
php的模板編程 瀏覽:322
編譯器原理與實現書 瀏覽:710
dos選擇命令 瀏覽:19
apm固件編譯到單片機 瀏覽:123
聯通深藍卡都包含什麼app 瀏覽:266
如何判斷網路伺服器正常 瀏覽:652
路由器搭橋遠端伺服器地址是什麼 瀏覽:518
編譯動態庫時會連接依賴庫嗎 瀏覽:710
淘寶手機加密是隨機的嗎 瀏覽:675
解壓包子怎麼裝飾 瀏覽:588
四個數湊24演算法 瀏覽:679