1: web的三個核心標準:
URL: http ? VS ?https
HTTP: ?通信協議,客戶端/服務器端信息交互方式; 特點是無狀態;
HTML:
2: HTTP 協議:
http是通用的,無狀態的,面向對象的協議。
HTTP協議URL: ? http://host[:port] ?[path ] ? // ?三個部分: 協議類型; 主機名(域名或IP地址); 端口號默認是80; ? 路徑以及文件名。
3: Http協議請求格式:
例子: POST /tskcommercewebservices/v2/fivestartsk/users/P160111/employee ? ?HTTP/1.1
Host:localhost:9102
Authorization:Bearer 923b8c5a-2b36-46cd-babd-6c72fd0f0a93
Content-Type:text/html;charset=UTF-8
A ??請求行:包含3個內容:方法(method) ? 請求資源URL, 和 HTTP版本。 格式: Method ? Request-RUI ? ?HTTP-version
這里的方法有14種:
GET: 此方法URL傳遞的參數有限,IKB以下。
POST:? 附加的數據沒有限制。
HEAD: 取得URI指定的資源的響應消息的報頭。
PUT: 保存
DELETE:刪除
OPTIONS:查詢服務器的性能,查詢資源的選項與需求。
TRACE:請求服務器回送收到的請求信息,測試和診斷。
PATCH: 與PUT相似,實體種包含一個表,表中說明該資源的區別。
MOVE: 移動資源
COPY: 復制資源
LINK:? 建立連接
B: 請求報頭:可選,附加信息,以及客戶端自身的信息,常用的有:
Accept : ? 客戶端接收的信息類型。
user-agent: ??將客戶端操作系統名稱和版本信息,瀏覽器名稱,和版本信息告訴服務器
accept-charset: 客戶端接受的字符集。
accept-encoding: 客戶端接受的編碼
accept-language: 可接受的語言
host: 主機和端口,默認端口是80
connection: 指定請求后,保持/關閉連接
C:請求體:可選(如果是get,不能包含本部分, 而POSt/ PUT,DELETE可以帶上)。
3: 解析HTTP協議響應
響應由3部分:
A: 狀態行: HTTP version, 狀態碼, ? 以及解析狀態碼的短語。
1XX: 提示信息,如請求收到,正在處理。
2XX:成功
3XX: 重定向
4XX: 客戶端錯誤,請求端含錯的內容。
5XX:服務器錯。
200? OK
304?? Not? modified
400 Bad request
404? Not found
302/307 :? 表示臨時重定向,請求的文檔已經臨時移動到其他位置,該文檔新的URL將在location響應報頭中給出。
401: 瀏覽器訪問的是受密碼保護的
403: 拒絕提供服務
404:找不到資源
500: 內部服務器錯誤。
503:服務器暫時性超載。不能處理當前請求。
B:響應報頭:allow: server支持的請求方法。
Content-Encoding: 編碼
Content-Length:響應中數據的字節長度
Content-Type:MIME類型
Date: 發送日期
Last-Modified: 返回數據的最后修改時間
Location: 重定向請求到一個新URL。
Refresh: 指定瀏覽器緩存數據的時間。
Expires:? 緩存數據的時間
Server:??? 服務器名稱。
C:響應正文:
4: ?get ? ? VS ? post:
Get : ? ?請求資源。可以在URL后面附件一些參數。
缺點: 如果用戶在地址欄中輸入太長的內容,可能導致GET無法正常工作。
另外參數是追加到地址欄中,因此不安全。
參數用?開頭,參數之間用&分割
Post:不僅可以請求資源,而且可以發送一些表單數據。
post安全;
post傳遞數據數量不受限制。但是要將Content-Type設置為application/x-www.form-urlencoded, 將Content-length 設置為實體內容的長度。