1.常見的返回碼
100: 請服務器端繼續返回
200:成功
301:永久重定向 存的地址永久的改變了 301
302 : 暫時重定向 302仍然使用老得url
401 : 無法找到資源file not found
500服務器內部錯誤
501:服務器不支持請求的功能,無法完成請求
2.http提供的方法

方法有:get、post、head、put、teace、options、delete
get和Post的區別:
本質區別:
- get從服務器獲取一份文檔,而post是向服務器發送內容,如用戶登錄的就是提交一個post,GET一般用於獲取/查詢資源信息,而POST一般用於更新資源信息。
2. get提交是把數據存放在url,而post存放在主體
3.get大小有限制,GET方式提交的數據最多只能是1024字節,理論上POST沒有限制,可傳較大量的數據,
4.Get是通過地址欄來傳值,而Post是通過提交表單來傳值
比較詳細區別推薦:http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html
2.1http的方法
put 方法: 是創建資源
Delete:方法是刪除資源
options : 詢問支持的方法
head:與 GET 相同,但只返回 HTTP 報頭,不返回文檔主體。獲得報文首部
trace: 跟蹤 發起一個環回判斷。
有比較好的博客
http://www.cnblogs.com/yin-jingyu/archive/2011/08/01/2123548.html
3.http請求頭查看
1.查看請求和響應,有很多工具可以做到如fiddler、瀏覽器的F12,火狐的firefox,wireshardk
以下實例用火狐瀏覽器舉例,訪問百度實例,用火狐自帶的firebug查看,
插曲,什么是PV什么是UV
pv:pageview 瀏覽量 pv頁面瀏覽量或點擊量,頁面刷新一次計算一次,不排重
UV:userview 訪問量 一個ip就是一個用戶

3.1解讀頭部信息

1.accept:客戶端接受服務器端的文件格式,代表服務器端返回什么樣類型的格式返回客戶端,客戶端才能正常識別
- accept *:代表所有內容都可以
- accept
text/javascript:代表返回文本和js HTTP Header中Accept-Encoding 是瀏覽器發給服務器,聲明瀏覽器支持的編碼類型[1]- accept encoding:可以接受的編碼
2.gzip:壓縮格式 壓縮數據, 文件上傳到服務器壓縮,這樣傳輸數據可大大節省帶寬 編碼:指用什么編碼
3.DEFLATE:是一個無專利的壓縮算法,它可以實現無損數據壓縮,有眾多開源的實現算法、
常見的有
Accept-Encoding: compress, gzip //支持compress 和gzip類型Accept-Encoding://默認是identityAccept-Encoding: *//支持所有類型 Accept-Encoding: compress;q=0.5, gzip;q=1.0//按順序支持 gzip , compressAccept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0 //按順序支持 gzip , identity
4.Accept-Language:瀏覽器設置的語言用於告訴服務器瀏覽器可以支持什么語言。
5.Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3 這里zh-CN 是表示中文,后面的我也不知道是什么
6.Connection:keep-alive :保持連接,表示長連接,Keep-Alive功能避免了建立或者重新建立連接,對於提供靜態內容的網站來說,這個功能通常很有用。但是,對於負擔較重的網站來說,這里存在另外一個問題:雖然為客戶保留打開的連 接有一定的好處,但它同樣影響了性能,因為在處理暫停期間,本來可以釋放的資源仍舊被占用。
推薦博客:
http://www.cnblogs.com/huangfox/archive/2012/03/31/2426341.html
7.Cookie:Cookies就是服務器暫時存放在你的電腦里的資料(.txt格式的文本文件),好讓服務器用來辨認你的計算機。當你在瀏覽網站的時候,Web服務器會先送一小小資料放在你的計算機上,Cookies 會把你在網站上所打的文字或是一些選擇都記錄下來。當下次你再訪問同一個網站,Web服務器會先看看有沒有它上次留下的Cookies資料,有的話,就會依據Cookie里的內容來判斷使用者,送出特定的網頁內容給你
8.User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49. :訪問瀏覽器的信息
9.X-Requested-With:Ajax 異步請求方式
使用request.getHeader("x-requested-with");為 null,則為傳統同步請求;
3.2響應頭信息

1.Cache-Control:這個字段用於指定所有緩存機制在整個請求/響應鏈中必須服從的指令,網頁的緩存是由HTTP消息頭中的“Cache-control”來控制的,常見的取值有private、no-cache、max-age、must-revalidate等,默認為private。其作用根據不同的重新瀏覽方式分為以下幾種情況。

推薦博客閱讀:
2.Connection:keep-alive,保持長連接
3.Connect-length: 表示實體內容長度,客戶端(服務器)可以根據這個值來判斷數據是否接收完成,如斷點續傳用到這個功能
4.Content-Type:baiduApp/json; v6.27.2.14; charset=UTF-8 定義網絡文件的類型和網頁的編碼,決定文件接收方將以什么形式、什么編碼讀取這個文件
5.Date Fri, 07 Apr 2017 02:31:18 GMT:ate頭域表示消息發送的時間,請求返回內容的時間格式
6.Expires Fri, 07 Apr 2017 03:31:18 GMT,HTTP控制緩存的基本手段,這個屬性告訴緩存器:相關副本在多長時間內是新鮮的。過了這個時間,緩存器就會向源服務器發送請求,檢查文檔是否被修 改。幾乎所有的緩存服務器都支持Expires(過期時間)屬性;
如果以上date和expires相同,時間一樣,說明每次都要去服務器重新獲取,如果Expires 時間大於date,在沒有過期的時間,說明獲取是獲取的緩存
7.Server:: nginx web容器
8.Set cookie:過期時間
忙活了半天,發現有個貼寫的很詳細,大贊
http://blog.chinaunix.net/uid-10540984-id-3130355.html
其他的一些頭信息
content-length:報文主體的大小,可以做斷點續傳,一定要知道文本大小
Trans-encoding :chunked 傳輸編碼瀏覽器傳輸數據格式 , 服務器通過這個頭,告訴瀏覽器數據的傳送格式,分塊傳輸
Content-length:大小
Cache –control:表示不會有緩存
CDN: Content Delivery Network
存放靜態資源的東西 內容分發網絡
Vary:
請求報文:客戶端發起的
響應報文:服務器端發起的
Accept-ranges:返回的字節
Age 9117 age:當代理服務器用自己緩存的實體去響應請求時,用該頭部表明該實體從產生到現在經過多長時間了
