TCP 三次握手詳情
用戶端 -------------------------> 服務端
1 syn
<--------------------
2 syn = syn + 1;ack
---------------------->
3 ack = ack + 1
DNS 服務
本地機器通路一個域名的時候,先檢視本地的host檔案,windows的host檔案一般在 C:\Windows\System32\drivers\etc 目錄下,linux系統的host檔案一般在 /etc 目錄下。如果在本地host檔案中沒有查到域名的資訊,就向遠端DNS服務商發起請求。一個比較好的驗證方法,利用ping指令。
URL & URI
url:統一資源定位符
uri:統一資源辨別符
絕對URI
http://user:[email protected]:80/xxx/index.html?uid=1#ch1
和mysql的驅動很類似:
jdbc:mysql://127.0.0.1:3306/shengqian?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
HTTP 方法
get:請求通路已被URI辨別的資源
post:用來傳輸實體的主體
put:傳輸檔案
head:隻傳回get方法的頭部
delete:删除指定檔案
options:詢問支援的方法
trace:讓web伺服器端将之前的請求通信傳回給用戶端的方法,可以查詢請求的加工(在代理中轉的地方)
connect:在與代理伺服器通信時建立隧道,實作用隧道協定進行TCP通信
http 首部
- 首部字段
- 請求首部字段
- Accept:使用者代理可處理的媒體類型
- Accept-Charset:優先的字元集
- Accept-Encoding:優先的内容編碼
- Accept-Language:優先的語言
- Authrozation:Web認證資訊
- Expect:期待伺服器的特定行為
- From:使用者的電子郵箱位址
- Host:請求資源所在伺服器
- If-Match:比較實體标記(ETag)
- If-Modified-Since:比較資源的更新時間
- if-None-Match:比較實體标記(與 If-Match 相反)
- If-Range:資源未更新時發送實體Byte的範圍請求
- If-Unmodified-Since:比較資源的更新時間
- Max-Forwards:最大傳輸逐跳數
- Proxy-Authorization:代理伺服器要求用戶端的認證資訊
- Range:實體的位元組範圍請求
- Referer:對請求中URI的原始擷取方
- TE:傳輸編碼的優先級
- User-Agent:HTTP用戶端程式的資訊
- 通用首部字段
-
Cache-Control:控制緩存的行為:參數可選,用逗号分隔
* 緩存請求字段
- no-cache:強制向源伺服器再次驗證
- no-store:不緩存請求或響應的任何内容
- max-age=[秒]:響應的最大Age值
- max-stable():接收已經過期的響應
- min-fresh=[]:期望在指定時間内的響應仍有效
- no-transform:代理不可更改媒體類型
- only-if-cached:從緩存擷取資源
- cache-extension:新指令标記(token)
* 緩存響應字段
- public:可向任一方提供響應的緩存
- pricate:僅向特定使用者傳回響應
- no-cache:緩存前必須先确認其有效性
- no-store:不緩存請求或響應的任何内容
- no-transform:代理不可更改媒體類型
- must-revalidate:可緩存但必須再向源伺服器進行确認
- proxy-revalidate:要求中間緩存伺服器對緩存的響應有效性再進行确認
- max-age = []:響應的最大Age值
- s-maxage = []:公共緩存伺服器響應的最大Age值
- cache-extension:新指令标記(token)
- Connection:逐跳首部、連接配接的管理
- Date:建立封包的日期
- Pragma:封包指令
- Trailer:封包末端的首部一覽
- Transfer-Encoding:指定封包主體的傳輸編碼方式
- Upgrade:更新為其他協定
- Via:代理伺服器的相關資訊
- Warning:錯誤通知
- 實體首部字段
- Allow:資源可支援的HTTP方法
- Content-Encoding:實體主體适用的編碼方式
- Content-Language:實體主體的自然語言
- Content-Length:實體主體的大小
- Content-Location:替代對應資源的URI
- Content-MD5:實體主體的封包摘要
- Content-Range:實體主體的位置範圍
- Content-Type:實體主體的媒體類型
- Expires:實體主體過期的日期時間
- Last-Modified:資源的最後修改日期時間
- 響應首部字段
- Accept-Ranges:是否接受位元組範圍的請求
- Age:推算資源建立經過時間
- Etag:資源的比對資訊
- Location:令用戶端重定向至指定URI
- Proxy-Authenticate:代理伺服器對用戶端的認證資訊
- Retry-After:對再次發起請求的時機要求
- Server:HTTP伺服器的安裝資訊
- Vary:代理伺服器存的管理資訊
- WWW-Authenticate:伺服器對用戶端的認證資訊