5757
5858URI 包含 URL 和 URN,目前 WEB 只有 URL 比较流行,所以见到的基本都是 URL。
5959
60- <br ><div align =" center " > <img src =" https://github.com/CyC2018/InterviewNotes/blob/master /pics//4102b7d0-39b9-48d8-82ae-ac4addb7ebfb.jpg" /> </div ><br >
60+ <br ><div align =" center " > <img src =" .. /pics//4102b7d0-39b9-48d8-82ae-ac4addb7ebfb.jpg" /> </div ><br >
6161
6262## 请求和响应报文
6363
6464** 请求报文**
6565
66- <br ><div align =" center " > <img src =" https://github.com/CyC2018/InterviewNotes/blob/master /pics//22b39f77-ac47-4978-91ed-84aaf457644c.jpg" /> </div ><br >
66+ <br ><div align =" center " > <img src =" .. /pics//22b39f77-ac47-4978-91ed-84aaf457644c.jpg" /> </div ><br >
6767
6868** 响应报文**
6969
70- <br ><div align =" center " > <img src =" https://github.com/CyC2018/InterviewNotes/blob/master /pics//00d8d345-cd4a-48af-919e-209d2788eca7.jpg" /> </div ><br >
70+ <br ><div align =" center " > <img src =" .. /pics//00d8d345-cd4a-48af-919e-209d2788eca7.jpg" /> </div ><br >
7171
7272# HTTP 方法
7373
@@ -120,13 +120,13 @@ GET 的传参方式相比于 POST 安全性较差,因为 GET 传的参数在 U
120120
121121TRACE 一般不会使用,并且它容易受到 XST 攻击(Cross-Site Tracing,跨站追踪),因此更不会去使用它。
122122
123- <br ><div align =" center " > <img src =" https://github.com/CyC2018/InterviewNotes/blob/master /pics//c8637fd2-3aaa-46c4-b7d9-f24d3fa04781.jpg" /> </div ><br >
123+ <br ><div align =" center " > <img src =" .. /pics//c8637fd2-3aaa-46c4-b7d9-f24d3fa04781.jpg" /> </div ><br >
124124
125125## CONNECT:要求用隧道协议连接代理
126126
127127主要使用 SSL(Secure Sokets Layer,安全套接字)和 TLS(Transport Layer Security,传输层安全)协议把通信内容加密后经网络隧道传输。
128128
129- <br ><div align =" center " > <img src =" https://github.com/CyC2018/InterviewNotes/blob/master /pics//5994928c-3d2d-45bd-abb1-adc4f5f4d775.jpg" /> </div ><br >
129+ <br ><div align =" center " > <img src =" .. /pics//5994928c-3d2d-45bd-abb1-adc4f5f4d775.jpg" /> </div ><br >
130130
131131# HTTP 状态码
132132
@@ -168,7 +168,7 @@ TRACE 一般不会使用,并且它容易受到 XST 攻击(Cross-Site Tracing
168168
169169- ** 401 Unauthorized** :该状态码表示发送的请求需要有通过 HTTP 认证(BASIC 认证、DIGEST 认证)的认证信息。如果之前已进行过一次请求,则表示用户认证失败。
170170
171- <br ><div align =" center " > <img src =" https://github.com/CyC2018/InterviewNotes/blob/master /pics//b1b4cf7d-c54a-4ff1-9741-cd2eea331123.jpg" /> </div ><br >
171+ <br ><div align =" center " > <img src =" .. /pics//b1b4cf7d-c54a-4ff1-9741-cd2eea331123.jpg" /> </div ><br >
172172
173173- ** 403 Forbidden** :请求被拒绝,服务器端没有必要给出拒绝的详细理由。
174174
@@ -261,7 +261,7 @@ HTTP 协议是无状态的,主要是为了让 HTTP 协议尽可能简单,使
261261
262262服务器发送的响应报文包含 Set-Cookie 字段,客户端得到响应报文后把 Cookie 内容保存到浏览器中。下次再发送请求时,从浏览器中读出 Cookie 值,在请求报文中包含 Cookie 字段,这样服务器就知道客户端的状态信息了。Cookie 状态信息保存在客户端浏览器中,而不是服务器上。
263263
264- <br ><div align =" center " > <img src =" https://github.com/CyC2018/InterviewNotes/blob/master /pics//ff17c103-750a-4bb8-9afa-576327023af9.png" /> </div ><br >
264+ <br ><div align =" center " > <img src =" .. /pics//ff17c103-750a-4bb8-9afa-576327023af9.png" /> </div ><br >
265265
266266Set-Cookie 字段有以下属性:
267267
@@ -298,13 +298,13 @@ Expires 字段可以用于告知缓存服务器该资源什么时候会过期。
298298
299299当浏览器访问一个包含多张图片的 HTML 页面时,除了请求访问 HTML 页面资源,还会请求图片资源,如果每进行一次 HTTP 通信就要断开一次 TCP 连接,连接建立和断开的开销会很大。 ** 持久连接** 只需要进行一次 TCP 连接就能进行多次 HTTP 通信。HTTP/1.1 开始,所有的连接默认都是持久连接。
300300
301- <br ><div align =" center " > <img src =" https://github.com/CyC2018/InterviewNotes/blob/master /pics//c73a0b78-5f46-4d2d-a009-dab2a999b5d8.jpg" /> </div ><br >
301+ <br ><div align =" center " > <img src =" .. /pics//c73a0b78-5f46-4d2d-a009-dab2a999b5d8.jpg" /> </div ><br >
302302
303303持久连接需要使用 Connection 首部字段进行管理。HTTP/1.1 开始 HTTP 默认是持久化连接的,如果要断开 TCP 连接,需要由客户端或者服务器端提出断开,使用 Connection: close;而在 HTTP/1.1 之前默认是非持久化连接的,如果要维持持续连接,需要使用 Keep-Alive。
304304
305305管线化方式可以同时发送多个请求和响应,而不需要发送一个请求然后等待响应之后再发下一个请求。
306306
307- <br ><div align =" center " > <img src =" https://github.com/CyC2018/InterviewNotes/blob/master /pics//6943e2af-5a70-4004-8bee-b33d60f39da3.jpg" /> </div ><br >
307+ <br ><div align =" center " > <img src =" .. /pics//6943e2af-5a70-4004-8bee-b33d60f39da3.jpg" /> </div ><br >
308308
309309## 编码
310310
@@ -320,7 +320,7 @@ Expires 字段可以用于告知缓存服务器该资源什么时候会过期。
320320
321321例如,上传多个表单时可以使用如下方式:
322322
323- <br ><div align =" center " > <img src =" https://github.com/CyC2018/InterviewNotes/blob/master /pics//2279cc60-9714-4e0e-aac9-4c348e0c2165.png" /> </div ><br >
323+ <br ><div align =" center " > <img src =" .. /pics//2279cc60-9714-4e0e-aac9-4c348e0c2165.png" /> </div ><br >
324324
325325## 范围请求
326326
@@ -348,19 +348,19 @@ Expires 字段可以用于告知缓存服务器该资源什么时候会过期。
348348
349349使用代理的主要目的是:缓存、网络访问控制以及访问日志记录。
350350
351- <br ><div align =" center " > <img src =" https://github.com/CyC2018/InterviewNotes/blob/master /pics//c07035c3-a9ba-4508-8e3c-d8ae4c6ee9ee.jpg" /> </div ><br >
351+ <br ><div align =" center " > <img src =" .. /pics//c07035c3-a9ba-4508-8e3c-d8ae4c6ee9ee.jpg" /> </div ><br >
352352
353353** 网关**
354354
355355与代理服务器不同的是,网关服务器会将 HTTP 转化为其它协议进行通信,从而请求其它非 HTTP 服务器的服务。
356356
357- <br ><div align =" center " > <img src =" https://github.com/CyC2018/InterviewNotes/blob/master /pics//81375888-6be1-476f-9521-42eea3e3154f.jpg" /> </div ><br >
357+ <br ><div align =" center " > <img src =" .. /pics//81375888-6be1-476f-9521-42eea3e3154f.jpg" /> </div ><br >
358358
359359** 隧道**
360360
361361使用 SSL 等加密手段,为客户端和服务器之间建立一条安全的通信线路。
362362
363- <br ><div align =" center " > <img src =" https://github.com/CyC2018/InterviewNotes/blob/master /pics//64b95403-d976-421a-8b45-bac89c0b5185.jpg" /> </div ><br >
363+ <br ><div align =" center " > <img src =" .. /pics//64b95403-d976-421a-8b45-bac89c0b5185.jpg" /> </div ><br >
364364
365365# HTTPs
366366
@@ -380,7 +380,7 @@ HTTPs 并不是新协议,而是 HTTP 先和 SSL(Secure Socket Layer)通信
380380
381381HTTPs 采用 ** 混合的加密机制** ,使用公开密钥加密用于传输对称密钥,之后使用对称密钥加密进行通信。(下图中,共享密钥即对称密钥)
382382
383- <br ><div align =" center " > <img src =" https://github.com/CyC2018/InterviewNotes/blob/master /pics//110b1a9b-87cd-45c3-a21d-824623715b33.jpg" /> </div ><br >
383+ <br ><div align =" center " > <img src =" .. /pics//110b1a9b-87cd-45c3-a21d-824623715b33.jpg" /> </div ><br >
384384
385385## 认证
386386
0 commit comments