http-12.27

URL

1.URL與URI
URL - 統(tǒng)一資源定位符
URI - 統(tǒng)一資源標識符
URL與URI的區(qū)別
所有的URL都是URI,但URI不一定是URL
2.完整的URL

  • 完整的url具有哪些元素
    網(wǎng)絡(luò)協(xié)議://IP地址:端口號/路徑;參數(shù)?查詢數(shù)據(jù)#錨點
  • 網(wǎng)絡(luò)協(xié)議 -
  • IP地址 - 每個電腦都有0.0.0.0每個
  • 端口號 - 電腦開放給外部電腦訪問接口
  • 路徑 - 相對路徑和絕對路徑
  • 參數(shù) - 某些方案會使用參數(shù)來指定輸入?yún)?shù)
  • 查詢地址 -
  • key=value&key=value
  • 錨點 -
  • 一般使用時:
    http://www.baidu.com/news
    http://137.0.0.1:8080?key=value
    http://localhost:80#mylink

Http協(xié)議

1.網(wǎng)絡(luò)協(xié)議

  客戶端與服務(wù)端之間的協(xié)議

2.主流協(xié)議

  http窃爷、socket纽绍、ftp敷矫、pop3

3.http協(xié)議

  • 多用與b/s架構(gòu)
  • 問題
    短連接:每次客戶端與服務(wù)端交互時哪审,先建立連接毫痕,交互完畢后寒瓦,關(guān)閉連接
    無狀態(tài):服務(wù)端只能記得住當次請求狀態(tài)
  • http:1.0 - 目前主流版本
    http:1.1 - 較新版本(向下兼容)
    http:2.0 - 最新版本

http請求協(xié)議

  • 客戶端發(fā)送一個請求粥血,應(yīng)該有如下三個部分:
    請求行: 請求方法燕侠、請求url 狀態(tài)碼、(http協(xié)議版本)
    請求頭部: 說明服務(wù)器要使用的附加信息
    請求主體: 提交給服務(wù)器的請求數(shù)據(jù)
  • HTTP客戶端請求內(nèi)容詳解
    請求行 - 請求的信息
    請求類型 - get立莉、post
    請求地址
    如果是get請求绢彤,參數(shù)應(yīng)該拼到url的后面url?key=value,但請求體為空
    如果是post請求蜓耻,url后面不拼參數(shù)茫舶,參數(shù)放在請求體中
    狀態(tài)碼 - 服務(wù)器端的狀態(tài)
  • 請求頭 - 反映給服務(wù)端的信息
    格式為 key:value,key:value,...
    accept - 表示瀏覽器可接受的MIME類型
    accept-Encoding - 瀏覽器能夠進行解碼的數(shù)據(jù)編碼方式
    accept-language - 表示服務(wù)端接受的語言
    zh-cn:簡體中文
    zh-tw:繁體中文
    zh - 中文
    us -英文
    connection - 表示當前鏈接狀態(tài)
    keep-alive - 保持連接
    host - 請求的服務(wù)器網(wǎng)址刹淌;
    referer - 表示當前的請求來源
    實現(xiàn)防盜鏈接
    user-agent 獲取到用戶瀏覽器信息
    cache-control -緩存控制
    max-age 設(shè)置最大活動周期,設(shè)置緩存保存的最大時間的單位為秒饶氏,為0代表不緩存
    cookie - 將cookie自動攜帶到請求頭
    content-type:互聯(lián)網(wǎng)媒體類型;使用post請求必須設(shè)置這個屬性
    也叫做MIME類型有勾,在Http協(xié)議消息頭中疹启,使用Content-Type來表示具體請求中的媒體類型信息。
    <form>元素提交時默認的類型
    一般文件上傳時默認為application/x-www.form-urlencoded
    Content-Length:請求內(nèi)容的長度
    對于POST請求來說Content-Length必須出現(xiàn)
  • 請求體 - 存放請求參數(shù)
    如果為post請求蔼卡,有值喊崖,如果為get請求為空

http響應(yīng)協(xié)議

  • 服務(wù)端給客戶端響應(yīng)信息,應(yīng)該有如下三部分
    響應(yīng)行:協(xié)議版本 狀態(tài)碼 原因短語
    響應(yīng)頭部:
    響應(yīng)主題: 返回給客戶端的響應(yīng)數(shù)據(jù)雇逞,可能是字符數(shù)據(jù)荤懂,也可能是字節(jié)數(shù)據(jù)
  • HTTP服務(wù)端響應(yīng)內(nèi)容詳解
  • 響應(yīng)行
    狀態(tài)碼
    協(xié)議版本
  • 響應(yīng)頭
    Allow:服務(wù)器支持哪些請求方法
    GET、POST
    Content-Encoding 文檔的編碼(Encode)
    Cache-Control: 告訴客戶端塘砸,服務(wù)端的緩存配置
    Connection - 表示當前的連接狀態(tài)
    keep-alive 表示保持連接
    content-length 響應(yīng)數(shù)據(jù)的長度(大薪诜隆)
    content-type - 響應(yīng)數(shù)據(jù)的mime類型
    一般情況下:text/html
    Date - 當前響應(yīng)的日期時間
    keep-alive 設(shè)置保持連接的超時和最大存活時間
    timeout=5 max=99
    server - 服務(wù)器端的信息
  • 響應(yīng)體
    服務(wù)器返回給客戶端的數(shù)據(jù)主體

擴展內(nèi)容

1.請求類型
get/post/head/put/delete/options/trace
2.標準API - 標準的請求方式
get - 獲取數(shù)據(jù)
post - 修改數(shù)據(jù)
put - 新增數(shù)據(jù)
delete - 刪除數(shù)據(jù)
3.狀態(tài)碼
1XX - 服務(wù)器的信息
2XX - 表示請求成功
200:請求成功
201:成功創(chuàng)建連接
202:接受請求
3XX - 表示重定向
302:表示重定向
304:表示服務(wù)端資源沒有變化,訪問緩存
問題 - 這次請求沒有真正低訪問服務(wù)器端
305:使用代理
4XX - 客戶端錯誤
400:錯誤的請求
404:網(wǎng)頁找不到
403:拒絕訪問
405:請求類型不允許
5XX - 服務(wù)端錯誤
500:服務(wù)端錯誤
502:路徑錯誤
504:請求超時
505:http版本不支持
4.MIME類型 - 文件類型
MIME類型是如何定義的
//定義MIME類型
<mime-mapping>
//文件的擴展名
<extension>jpg</extension>
//對應(yīng)的MIME類型
<mime-type>image/jpeg</mime-type>
</mime-mapping>
常見的MIME類型
html - text/html
htm - text/html
css - text/css
js - text/javascript
json - application/json
jpg - image/jpeg
text - text/plain

5.請求參數(shù)

  • get請求類型
    將請求數(shù)據(jù) - url?key=value(瀏覽器地址)
    安全性低
    請求地址的長度是有限制的
    請求數(shù)據(jù)中包含中文的話掉蔬,需要轉(zhuǎn)碼
  • post請求類型
    瀏覽器地址欄url廊宪,不包含請求類型
    安全性相對比較高
    對請求數(shù)據(jù)的長度沒有要求
    請求數(shù)據(jù)中包含中文的話矾瘾,可以不轉(zhuǎn)碼,對中文的處理相對比較好
    6.控制HTTP頭部方法
    可以配置每個HTML文件的HTTP-EQUIV標簽控制緩存
    <meta http-equiv="Cache-Control" content="no-cache">
    在PHP頁面中控制響應(yīng)頭
    header("Content-Type: image/jpeg");

緩存工作原理

1.客戶端可以自動保存已經(jīng)訪問過的文檔的副本箭启,這些副本就成為“文檔緩存”
2.當客戶端再次發(fā)送針對同一個URL的請求時壕翩,如果本地有“已緩存的副本”,就可以直接從本地存儲設(shè)備而不是遠程服務(wù)器提取該文檔了册烈。
3.數(shù)據(jù)緩存有下列優(yōu)點
減少了冗余的數(shù)據(jù)傳輸戈泼,節(jié)省客戶端流量費用
緩解服務(wù)器帶寬瓶頸的問題婿禽,服務(wù)器可以節(jié)省出更多的帶寬
降低了對服務(wù)器的資源消耗和運行要求
降低了由于遠距離而造成的加載延時

http基本優(yōu)化

網(wǎng)站性能優(yōu)化最主要的就是要減少HTTP請求及每次響應(yīng)中內(nèi)容的長度赏僧。可以從連接過程中的下列方面加以考慮:
1.域名解析
盡可能減少域名解析次數(shù)——減少跨站外部資源的引用
2.創(chuàng)建連接
努力減少連接創(chuàng)建次數(shù)——使用Keep-Alive避免重復連接
3.發(fā)送請求
盡力減少請求次數(shù)——合理設(shè)置Expires時間扭倾、資源合并
4.等待響應(yīng)
提高服務(wù)器端運行速度——提高數(shù)據(jù)運算及查詢速度
5.接收響應(yīng)
盡可能減小響應(yīng)數(shù)據(jù)長度——啟用壓縮

安全的HTTP協(xié)議

1.HTTP協(xié)議本質(zhì)上屬于“明文傳輸”淀零,可能被竊聽和篡改,政府膛壹、銀行等機密應(yīng)用需要需要“安全版本的HTTP”:http協(xié)議默認端口80
2.HTTPS協(xié)議將消息發(fā)送給TCP層之前驾中,先交給了一個安全層(由SSL或TLS協(xié)議實現(xiàn)),安全層負責對消息進行加密和解密操作模聋。https協(xié)議默認端口443

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肩民,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子链方,更是在濱河造成了極大的恐慌持痰,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件祟蚀,死亡現(xiàn)場離奇詭異工窍,居然都是意外死亡,警方通過查閱死者的電腦和手機前酿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門患雏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人罢维,你說我怎么就攤上這事淹仑。” “怎么了肺孵?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵攻人,是天一觀的道長。 經(jīng)常有香客問我悬槽,道長怀吻,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任初婆,我火速辦了婚禮蓬坡,結(jié)果婚禮上猿棉,老公的妹妹穿的比我還像新娘。我一直安慰自己屑咳,他們只是感情好萨赁,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著兆龙,像睡著了一般杖爽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上紫皇,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天慰安,我揣著相機與錄音,去河邊找鬼聪铺。 笑死化焕,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的铃剔。 我是一名探鬼主播撒桨,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼键兜!你這毒婦竟也來了凤类?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤普气,失蹤者是張志新(化名)和其女友劉穎谜疤,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體棋电,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡茎截,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了赶盔。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片企锌。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖于未,靈堂內(nèi)的尸體忽然破棺而出撕攒,到底是詐尸還是另有隱情,我是刑警寧澤烘浦,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布抖坪,位于F島的核電站,受9級特大地震影響闷叉,放射性物質(zhì)發(fā)生泄漏擦俐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一握侧、第九天 我趴在偏房一處隱蔽的房頂上張望蚯瞧。 院中可真熱鬧嘿期,春花似錦、人聲如沸埋合。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽甚颂。三九已至蜜猾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間振诬,已是汗流浹背蹭睡。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留贷揽,地道東北人棠笑。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓梦碗,卻偏偏與公主長得像禽绪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子洪规,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理印屁,服務(wù)發(fā)現(xiàn),斷路器斩例,智...
    卡卡羅2017閱讀 134,601評論 18 139
  • 一雄人、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,330評論 6 152
  • Http協(xié)議詳解 標簽(空格分隔): Linux 聲明:本片文章非原創(chuàng),內(nèi)容來源于博客園作者MIN飛翔的HTTP協(xié)...
    Sivin閱讀 5,205評論 3 82
  • HTTP概述 超文本傳輸協(xié)議(HTTP念赶,HyperText Transfer Protocol) 是互聯(lián)網(wǎng)上應(yīng)用最...
    曹淵說創(chuàng)業(yè)閱讀 3,840評論 2 61
  • 大概在17年元旦的時候础钠,一個偶然的機會經(jīng)同事介紹接觸到微馬。 因為腸胃的困擾叉谜,很煩很煩旗吁,所以就堅持每天去慢跑,慢慢...
    九口木易閱讀 1,176評論 0 1