一、url格式例如:
http表示要通過http協議來定位網路資源。
host
表示合法的網際網路主機網域名稱或者ip位址。
port
用於表示在傳輸層上交換資訊的程序埠號,http協議預設埠號為80,當然採用不同的協議預設埠號不同。
abs_path
指定請求資源的uri(統一資源定位符)。
parameters
引數用於指定特殊引數的可選項。
?query
可選,用於給動態網頁(使用php/jsp等製作的網頁)傳遞引數,可以有多個引數,用「&」符號隔開,每個引數的鍵值之間用『=』隔開。
可以這樣解析url位址(python)
import urlparse
lis = urlparse.urlparse(url)
url ='鐵路&go=go'
完全按照上面的格式解析了url位址
http 是協議;
zh.wikipedia.org,是伺服器;
80 是http協議預設埠;
/wiki/special:search 伺服器上存放該資源的目錄路徑
query='search=\xcc\xfa\xc2\xb7&go=go' 是動態網頁的查詢
二、伺服器通過http與瀏覽器的互動
(1)http請求
客戶端通過傳送http請求向伺服器請求資源的訪問
http請求由三部分組成,分別是:請求行、訊息報頭、請求正文。
請求行的格式如下:
第乙個引數方法符號,詳細方法下面將列出
第二個引數是請求uri(統一資源定位符)
第三個引數表示協議版本
第四個是換行符
這四部分均以空格間隔,除了結尾外,其他三部分不允許出現cr或者lf字元
例如 get /tmp.html http/1.1 (crlf)
(2)http請求方法
下面是一些例子:
get方法: 當我們通過瀏覽器的位址列輸入**的方式去訪問網頁的時候,瀏覽器就是採用get方法向伺服器獲取資源。
如:get request-url http/1.1
post方法:
該方法用於向伺服器傳送請求,這種方法要求伺服器接收附在請求後面的資料,多用於提交表單資料
如:post /login.jsp http/1.1 (crlf)
注意,在html
文件中,書寫get和post,不區分大小寫,但http協議中的get和post只能是大寫形式。
head方法:
head方法與get方法幾乎是一樣的,它們的區別在於head方法只是請求訊息報頭,而不是完整的內容。
利用這個方法,不必傳輸整個資源的內容,就可以得到request-uri所標識的資源的資訊。
(3)http響應
在接收和解釋請求訊息後,伺服器會返回乙個http響應訊息。
與http請求類似,http響應也是由三個部分組成,分別是:
狀態行,訊息報頭,相應正文。
狀態行由協議版本,數字形式的狀態**,相應的狀態描述組成
,各元素之間以空格分隔,除了結尾的crlf(回車換行)序列外,不允許出現cr或lf字元。格式如下:
http-version表示伺服器http協議的版本,status-code表示伺服器發回的響應**,reason-phrase表示狀態**的文字描述,crlf表示回車換行。
status-code(狀態**):由三位數字組成,表示請求是否被理解或者滿足;
狀態**的第乙個數字代表的響應的類別:
1xx:指示資訊——表示請求已接收,繼續處理
2xx:成功——表示請求已經被成功接收,理解,接受
3xx:重定向——要完成請求必須進行更進一步的操作
4xx:客戶端錯誤——請求有語法錯誤或請求無法實現
5xx:伺服器端錯誤——伺服器未能實現合法的請求
reason-phrase(狀態描述):關於狀態**的簡短文字描述;
例如:
聖騎士wind的部落格
yy神曲url解析php php解析url幾種方式
php解析url幾種方式 利用 server內建陣列變數 訪問 http localhost test.php?m admin c index a lists catid 1 page 1 url的引數 echo server query string 返回 m admin c index a li...
URL格式規範
先記錄下,以便以後使用。一 格式說明 表示隔開的兩部分只能出現其中乙個,方括號括起來的表示可選,文字由雙引號 括起來,以n 開頭表示至少n個或更多的,n的預設值為0。二 總體格式 genericurl scheme schemepart scheme 1 lowalpha digit schemep...
url語法格式
url由三部分組成 資源型別 存放資源的主機網域名稱 資源檔名。url的一般語法格式為 帶方括號的為可選項 protocol hostname port path parameters query fragment protocol 協議 指定使用的傳輸協議,下表列出 protocol 屬性的有效方...