Web应用技术基础
HTTP簡介:
HTTP(HyperText Transfer Protocal)超文本傳輸協議,是一個客戶端和服務器端請求和應答的標準;識一種通用的、不分狀態的協議;也是用于用戶代理之間及代理\網關到其他網絡系統的通用通信協議。默認80端口。
?
HTTPS簡介:
HTTPS(Hypetext Transfer Protocal Secure)超文本傳輸安全協議,是超文本傳輸協議和SSL/TL的組合 ,用以提供加密通信及對網絡服務器身份鑒定。常用于敏感信息傳輸。默認443端口。
?
URI(Uniform Resource? Identifier)統一資源標識符,是一個用于標識某一個互聯網資源名稱的字符串;允許用戶對互聯網中的資源通過特定的協議進行交互操作,它包括語法和相關協議的定義。
URL( Uniform\Universal Resource Locator)統一資源定位符,也被稱為網頁地址,如同網絡上的門牌,是因特網上的標準的資源地址。
格式:
協議://主機名[:端口號]/路徑/[?查詢]
URN(Unifrom Resource? Name)統一資源名,是基于某命名空間通過名稱指定資源 的URI.URL代表 一個人的住處地址,URN則代表某是事物的身份,而URL提供查找該事物的方法。
URL,URN都是URI的子集。
?
HTTP消息:
有從客戶到服務器的請求和從服務器到客戶的應答組成 。
HTTP-消息=請求|回答;HTTP/1.1 消息
在HTTP1.1 中明確 描述了HTTP的請求消息既不能以CRLF開始,也不能以CRLF結束
?
HTTP方法:
OPTIONS:
該方法描述了咋請求URI確定的請求/應答過程中通信選項信息的請求,返回服務器針對特定資源所支持的HTTP請求方法。該方法允許客戶機判斷與某個資源相關的選項或者服務器能力相關選項,而不需要對資源采取任何操作或者發起一個對資源的獲取請求。OPTTIONS的響應消息是不可以緩存的。
GET
該方法意味著獲取由請求的URI標識的任何信息。如果請求消息中包括If-Modified-Since,If-Unmodified-Since,If-Match,If-None-Match或者If-Range頭,該方法變為條件“get”,條件‘get“只傳輸符合條件的實體;如果Get請求中含有Range頭,Get請求變為”部分Get“,只獲取Range描述的部分。GEt的響應消息是可以緩存的。
HEAD
HEAD請求的響應中的HTTP頭部中包含的元消息與GET請求發送的響應消息的頭相同,可以用來后期實體的元消息,而不需要傳輸實體本身。經常用來測試超文本傳輸的有效性,可用性和最近的修改。
POST
向指定資源提交數據進行處理請求,數據被包含在請求體中。POST方法的響應是不能緩存的,除非響應包括恰當的Cache-Control或者Expires頭。然而303(see other )響應可以 指引用戶代理 獲取可緩存的資源
PUT
put方法的請求中實體應該存儲 在Request—URI指定的目標下。
DELETE
該方法請求服務器刪除Request-URI所標識的資源。DELETE的響應消息是不可以緩存的。
TRACE
該方法用于引起遠程服務器針對請求消息的應用層回顯,也就是回顯服務器收到的請求
CONNECT
HTTP1.1協議中預留CONNECT方法。該方法能夠動態切換隧道的代理。
?
HTTP狀態碼:
HTTP狀態碼由三位數字組成的標識HTTP請求消息的處理的狀態編碼,共分成5類,分別以1,2,3,4,5開頭;
1XX消息:
表示臨時的響應,只包含狀態行和可選的頭,以空行結束。對于這類狀態碼來說,沒有頭是必須的。由于http1.1沒有定義1xx狀態碼,服務器必須禁向HTTP1.1客戶端發送1xx消息
1xx系列目前有2種,即100(continue)和101(switching Protocols)
2xx成功:
這類狀態碼表示客戶端的請求被成功接受、處理和理解。
2XX有7個狀態碼:200-206.最常用的是200狀態碼,表示請求已經成功。
3xx重定向:
這類狀態碼指示需要用戶代理采取進一步的操作來完成請求。
3xx有8種碼:300-307,比較常用的有用戶重定向301(Moved Permanently)和302(found)
4xx客戶端錯誤:
表示客戶端出錯的情況,除了響應的HEAD請求,服務器應該包括解釋錯誤的信息。這類狀態碼適用于任何請求。
4xx共有18種狀態碼400-417,最常用的是400(bad Request)
5xx服務器錯誤:
表示服務器有錯誤發生或者不能處理請求。
5xx包括6種錯誤500-505,最常用的是505,因為http對協議的個格式要求特別嚴格,如果格式檢查不通過就可能報錯505.
HTTP? Cookie
Cookie通常是指用戶瀏覽一個站點時,網站 發送的并且被用戶的瀏覽器存儲的一小塊數據。當用戶再一次 瀏覽相同的網站時,存儲在Cookie中的數據會被六千自動獲取發送給站點,站點根據Cookie可以知道用戶之前的活動。是設計的一種可靠機制,用于記住用戶已經做過 的活動或者用戶再站點的狀態。
Cookie總是保存在客戶端中,按保存位置可分為內存Cookie和硬盤 Cookie。內存Cookie由瀏覽器維護,保存在內存中,瀏覽器 關閉 后則消失;硬盤Cookie保存在硬盤里,有一個過期時間,除非用戶手工清理或者 到了過期時間,硬盤cookie不會被刪除,存在時間是長期的。按存在 時間可分為非持久Cookie和持久Cookie。
常用術語:
Session Cookie:只是在用戶使用站點期間存在,一個web 瀏覽器會在退出時刪除SessionCookie
Persistent cookie:將會比用戶的會話更長久。
Secure cookie:是指cookie 有secure屬性,只能通過HTTPS才能使用,確保cookie在傳輸過程中總是被加密。
HttpOnly Cookie:只有在傳輸HTTP/HTTPS請求時才會被使用,這樣可以限制其他的非HTTP API訪問。
Third-party Cookie :是指cookie 中設置的域名和瀏覽器地址欄里的域名不一樣;First-party Cookie是指cookie 中設置的域名是瀏覽器地址欄里的域名或者其子域名;
Super-Cookie是指設置域名為公共后綴的cookie,如.com,.org等。
Zombie Cookie:是任何在用戶刪除Cookie之后自動創建 的Cookie。
作用:
會話管理:用戶瀏覽站點期間,Cookie可以被用來維護和用戶相關的數據。
個性化:記住一些用戶訪問網站的信息,在用戶未來再次訪問時顯示相關的內容。
跟蹤:可被用于跟蹤用戶訪問因特網的習慣。
?
HTTP Session:
session 是一種服務器機制,服務器一般使用類似于散列表結構保存信息。
?
?
轉載于:https://www.cnblogs.com/1tachi/p/5420894.html
總結
- 上一篇: (计算机组成原理)第二章数据的表示和运算
- 下一篇: C++多进程并发框架FFLIB