http://www.cnblogs.com/yuanchenqi/articles/6000358.htmlhtml
http:是規定了瀏覽器和萬維網服務器之間相互通訊的規則,它有兩個格式,客戶端發送給服務端的格式叫’請求協議’,服務器發送給客戶端的格式叫」響應協議」.web
B(瀏覽器)------s(服務端)叫bs模式瀏覽器
請求協議的格式以下服務器
請求首行:請求方式 請求路徑 協議和版本 ,如GET index.html HTTP/1.1cookie
請求頭信息:請求頭名稱:請求頭內容,即爲key:value格式, 以下併發
Host:localhost :請求的主機名即服務端的ip加端口app
accept:請求能接收到的文檔類型post
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8編碼
accept-encoding: 請求能接收到的壓縮格式url
gzip, deflate
accept-language:請求能接收到的語言
zh-CN,zh;q=0.8
cache-control:
max-age=0
cookie:是一個容器,在第一次訪問某個地址時,從瀏覽器中把cookie容器發過去,在容器中裝入在該地址中的操做,退出該地址中時,把裝有數據的cookie又回到瀏覽器中,保存到本地,由於不是第一次訪問這個地址,因此會在請求中把上一次服務器響應中發送過來的cookie在請求中一併發送過去
user-key=38cf2b16-8de6-4ae6-aad8-02169eed9e0a; cn=0; __jda=122270672.169444840.1490190764.1492507637.1494830664.6; __jdb=122270672.1.169444840|6.1494830664; __jdc=122270672; __jdv=122270672|direct|-|none|-|1494830663508; o2-webp=true; __jdu=169444840
upgrade-insecure-requests:
1
Referer:http://127.0.0.1 用來記錄連接地址來源地址,主要跟盜鏈有關,還作統計工做
user-agent:把瀏覽器用戶的系統版本和瀏覽器版本信息發送到服務端
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.108 Safari/537.36 2345Explorer/8.5.1.15355
空行: 用來與請求體分隔開
請求體 :瀏覽器向服務端發送的數據內容,即請求數據,get沒有請求體,post有請求體
注:請求方式有兩種,分別是GET 和POST.get請求時,會在url後面加請求數據,如
http://www.baidu.com:80/index.html?a=1&b=2 其中a=1和b=2是請求數據,它們經過?隔開,數據與數據經過&隔開
2.1get請求
http默認的請求方式就是get,它沒有請求體,請求數據有必定的範圍,get請求數據會暴露在瀏覽器的地址欄中
GET請求經常使用的操做:
1).在瀏覽器的地址欄中直接給出url,那麼久必定是get請求
2).點擊頁面上的超連接也必定是get請求
3)提交表單時,表單默認使用get請求,可是咱們通常設置成POST
2.2POST請求
1)數據不會出如今地址欄中,2)數據的大小沒有上限,3)有請求體,4)請求體中若是存在中文,會使用url編碼
響應協議
響應格式以下:
響應首行:協議和版本 狀態碼 即其對應解釋 如HTTP/1.1 200 OK , HTTP/1.1是協議和版本,200是狀態碼,OK是對應狀態碼的解釋
響應頭信息: 通常是默認的,
空行 :用來與響應體分隔開
響應體: 發給瀏覽器的數據內容
3 狀態碼
響應首行對瀏覽器很重要,它說明了響應的真正含義
注last-Modified,它記錄了index.html的最後修改時間,用它來判斷瀏覽器中的數據是否要刷新.