http協議

內容:html

1.預備知識前端

2.http協議面試

3.面試常問瀏覽器

 

 

1.預備知識服務器

(1)網址組成(URL構成)網絡

1 網址組成(四部分)
2     協議      http, https(https 是加密的 http)
3     主機      g.cn  zhihu.com之類的網址
4     端口      HTTP 協議默認是 80,所以通常不用填寫
5     路徑      下面的「/」和「/question/31838184」都是路徑
6 http://www.zhihu.com/
7 http://www.zhihu.com/question/31838184

 

(2)通訊原理dom

 1 電腦通訊靠IP地址,IP地址記不住就發明了域名(domain name),而後電腦
 2 自動向DNS服務器(domain name server)查詢域名對應的IP地址
 3 
 4 好比g.cn這樣的網址,能夠經過電腦的ping程序查出對應 IP 地址
 5 ➜    ping g.cn
 6 PING g.cn (74.125.69.160): 56 data bytes
 7 
 8 
 9 端口是什麼?
10 一個比喻:
11 用郵局互相寫信的時候,ip至關於地址(也能夠看作郵編,地址是域名)
12 端口是收信人姓名(由於一個地址好比公司、家只有一個地址,可是卻可能有不少收信人)
13 端口就是一個標記收信人的數字。
14 端口是一個 16 位的數字,因此範圍是 0-65535(2**1615 實際上IP是標識一臺電腦在網絡中的位置,而端口則是標識這臺電腦上的某個軟件16 某臺電腦的IP地址+端口能夠標識這臺電腦上的某個軟件,通訊實際上就是經過IP地址+端口的方式實現

 

 

2.http協議ui

(1)http協議是什麼google

1 一個傳輸協議,協議就是雙方都遵照的規範。
2 爲何叫超文本傳輸協議呢,由於收發的是文本信息。
3 1,瀏覽器(客戶端)按照規定的格式發送文本數據(請求)到服務器
4 2,服務器解析請求,按照規定的格式返回文本數據到瀏覽器
5 3,瀏覽器解析獲得的數據,並作相應處理

 

(2)請求和返回的數據格式加密

1 請求和返回是同樣的數據格式,分爲4部分:
2   請求行或者響應行
3   Header(請求的 Header 中 Host 字段是必須的,其餘都是可選)
4   \r\n\r\n(連續兩個換行回車符,用來分隔Header和Body)
5   Body(可選)

 

(3)請求格式

 1 請求的格式,注意大小寫(這是一個不包含Body的請求):
 2 原始數據以下
 3 'GET / HTTP/1.1\r\nhost:g.cn\r\n\r\n'
 4 打印出來以下
 5 GET / HTTP/1.1
 6 Host: g.cn
 7 
 8 其中:
 9   GET 是請求方法(還有POST等,這就是個標誌字符串而已)
10   / 是請求的路徑(這表明根路徑)
11   HTTP/1.1  中,1.1是版本號,通用了20年
12 
13 具體字符串是 'GET / HTTP/1.1\r\nhost:g.cn\r\n\r\n'

 

(4)返回格式

 1 返回的數據以下
 2 HTTP/1.1 301 Moved Permanently
 3 Alternate-Protocol: 80:quic,p=0,80:quic,p=0
 4 Cache-Control: private, max-age=2592000
 5 Content-Length: 218
 6 Content-Type: text/html; charset=UTF-8
 7 Date: Tue, 07 Jul 2015 02:57:59 GMT
 8 Expires: Tue, 07 Jul 2015 02:57:59 GMT
 9 Location: http://www.google.cn/
10 Server: gws
11 X-Frame-Options: SAMEORIGIN
12 X-XSS-Protection: 1; mode=block
13 
14 
15 
16 Body部分太長,先不貼了
17 其中響應行(第一行):
18   HTTP/1.1 是版本
19   301 是「狀態碼」,參見文末連接
20   Moved Permanently 是狀態碼的描述
21 瀏覽器會本身解析Header部分,而後將Body顯示成網頁

 

(5)http協議的做用

1 ——前端掌握 HTTP 協議有什麼用——
2 
3 能夠用 JS 動態抓取內容構建頁面
4 好比動態評論、加載數據
5 好比天氣預報程序
6 好比壁紙圖片庫
7 瀏覽器提供了使用 HTTP 協議收發數據的接口,名爲 AJAX
8 這是一個重要的技術

 

 

3.面試常問

HTTP請求的整個過程是什麼樣的?答案以下:

  • 在瀏覽器地址欄鍵入URL,按下回車以後會經歷如下流程:
  • 瀏覽器向 DNS 服務器請求解析該 URL 中的域名所對應的 IP 地址
  • 解析出 IP 地址後,根據該 IP 地址和默認端口 80,和服務器創建TCP鏈接
  • 瀏覽器發出讀取文件(URL 中域名後面部分對應的文件)的HTTP 請求,該請求報文做爲 TCP 三次握手的第三個報文的數據發送給服務器
  • 服務器對瀏覽器請求做出響應,並把對應的 html 文本發送給瀏覽器
  • 釋放 TCP鏈接
  • 瀏覽器將該 html 文本並顯示內容
相關文章
相關標籤/搜索