(一)http 協議
1.作用
規範了資料是如何打包的 以及 資料時如何傳遞的
2.message 訊息 / 報文
message 指的是在http客戶端與伺服器間傳遞的資料塊
分類:(1)request message : 客戶端向伺服器傳送的【請求】訊息
(2)response message : 伺服器端根據客戶端的請求訊息,返回給客戶端的響應訊息
3.請求訊息
(request message)
(1)請求起始行
《1》請求方法
①get
表示客戶端向獲取伺服器上的資源
(img/js/..
) 特點:
1、無請求主體
2、依靠位址列傳遞資料給伺服器
②post
表示客戶端想傳遞資料給伺服器
特點:1、有請求主體
③put
表示客戶端想把檔案放到伺服器上
(禁用)
特點:1、有請求主體
4、delete
表示客戶端想刪除伺服器上指定的檔案
(禁用)
5、head
表示只想獲取指定的響應頭
6、connect
測試連線
7、trace
追蹤請示路徑
8、options
選項,保留以後使用...
... 《2》請求url
《3》協議 和 版本號
(2)請求頭
1、host:localhost
告訴伺服器請求哪乙個虛擬主機
2、connection:keep-alive
告訴伺服器做持久連線
3、user-agent
告訴伺服器,客戶端瀏覽器的型別
4、cache-control:max-age=
0 告訴伺服器快取資訊,max-age,即不快取
5、accept-language : zh-
cn 告訴伺服器自己能接收的自然語言
6、accept-encoding:gzip
告訴伺服器自己可以接收的壓縮型別
7、referer: url
告訴伺服器請求來自於哪個頁面
(3)請求主體
form data : 是真正的請求主體
注意:查詢字串
query string : 不算作請求主體的,是屬於 url 中的乙個部分
4、響應訊息
(response message)
1、響應起始行
1、協議版本號
2、響應狀態碼
1、1xx
提示資訊
2、2xx
200 :伺服器端成功響應所有的資訊 ok
3、3xx
需要客戶端進行重定向
301 :永久性重定向
302 :臨時重定向
304 :not modified
4、4xx
客戶端請求錯誤
404 :not found,請求資源不存在
403 :forbidden,沒有訪問許可權
405 :method not allowed,請求方法不被允許
5、5xx
伺服器執行錯誤
500 :伺服器內部錯誤
501 :沒有實現
3、原因短句
對狀態碼的簡單解釋
200:ok
404: not found
2、響應訊息頭
1、content-type
響應的主體型別,告訴瀏覽器,響應的資料時什麼格式以及什麼型別的
取值:1、text/plain
純文字,告訴瀏覽器按純文字的方式解析
2、text/html
文字與網頁,告訴瀏覽器按html的格式解析內容
3、text/css
樣式,告訴瀏覽器按 css 的方式解析
js**片段,按js的方式執行資料
按 xml 的方式解析
按 json 的方式解析
3、響應主體
由伺服器端響應回來的資料
(二)快取
1、快取的工作原理
客戶端可以自動儲存已訪問過得文件的副本,這些副本就是所謂的快取
當客戶端再向同一url傳送請求時,那麼就直接從快取中將檔案取出來,而不用再重新傳送請求
2、優點
1、減少了冗餘的資料傳輸,節省流量
2、緩解伺服器頻寬瓶頸的問題,伺服器可以節省更多的頻寬
3、降低了對伺服器的資源消耗和執行要求
4、降低了由於遠距離而造成的載入延遲
3、與快取相關的訊息頭
1、cache-control
作用:從伺服器將文件傳來之時起,認為最新的秒數
取值:秒數 60
/3600
/...
... 如果取值為 0
/ no-cache,表示每次都要重新重新整理網頁
2、expires
明確指定快取的過期時間,
取值是格林尼治標準時間
(gmt
) expires:fri,
25 aug 2017,08
:00:00
gmt expires:
0 表示不需要快取
4、如何在網頁中設定訊息頭
在 meta 標記中完成訊息頭的設定:
1、http-equiv :指定訊息頭的名稱
2、content :指定訊息頭對應的內容
示例:設定網頁的訊息頭cache-control,其值為 no-cache
"utf-8"
>
"content-type" content=
"text/html"
>
<
/head>
(三)dom操作
dom
:document object model 文件物件模型
讓js又能力操作頁面的元素
1、使用js獲取頁面上的某個元素
1、為元素增加id屬性
"d1"
>hello wolrd<
/div>
2、在js中,允許通過元素的id獲取頁面元素
var elem = document.
getelementbyid
("元素id");
elem 就是指定id值的元素在js中的表現形式
2、修改/獲取 標記內的內容
屬性:innerhtml
賦值:為 某元素的 innerhtml 屬性賦值
取值:獲取某元素的innerhtml 屬性
示例:var elem=document.
getelementbyid
("d1");
elem.innerhtml =
"你好中國!"
; console.
log(elem.innerhtml)
;3、獲取/設定 表單控制項的資料
"text/password" value=
"">
在dom中,文字框,密碼框,...
...也都是通過value屬性來獲取或設定控制項的值
4、簡化 document.
getelementbyid()
document.getelementbyid 的作用:
根據 "指定的id值" 獲取對應的 "html元素"
/** * 根據指定的id值,獲取對應的html元素
* 引數 id :要獲取的元素的id值
* 返回值 :獲取的對應的html元素
*/function
$(id)
5、html 元素的事件
事件:在某些特殊的情況下,可以被激發的乙個操作
常用事件:onclick,
......
1、文字框 和 密碼框 的事件 - onblur
onblur事件 :滑鼠失去焦點時的事件
2、文字框 和 密碼框 的事件 - onfocus
onfocus事件 :獲取焦點時要執行的操作
總結:ajax對於使用者真的是非常友好,同時學習ajax又不僅僅是學習ajax,還是對json,
html等內容的複習和綜合應用,通過不斷地學習,讓學到的內容更加豐富。
http相關內容
請求報文由4部分組成,分別是請求行 請求頭 空行 請求體 http響應報文包括 響應狀態行 status text 多個響應頭 例如 content type set cookie content type用於鍵值對引數,鍵值用 連線,引數之間用 連線。例如name e5 b5 e6 100 199...
HTTP和AJAX(七 AJAX中的同步與非同步)
ajax中的同步和非同步 ajax這個任務 傳送請求接收到響應主體內容 完成乙個完整的http事務 xhr.send 任務開始 xhr.readytate 4 任務結束 同步程式設計 只輸出一次結果是4 由於採用的是同步程式設計,所以主任務佇列沒有完成 其它事情都做不了 1 2 2 3 3 4 狀態...
Http請求過程及相關內容
http協議 該協議是超文字傳輸協議,是web聯網的基礎,是建立與tcp協議之上的一種應用,屬於tcp ip 模型中的應用層協議。注釋 在http1.0版本中,客戶端的每次請求都會建立一次單獨的連線,在處理完本次請求後,將自動釋放連線 而在http1.1版本中,一次連線可處理多個請求,並多個請求可重...