@@ -2089,8 +2089,8 @@ HTTP 作用:用于定义 WEB 浏览器与 WEB 服务器之间交换数据的
20892089
20902090浏览器和服务器交互过程:浏览器请求,服务请求响应
20912091
2092- * 请求( 请求行, 请求头, 请求体)
2093- * 响应( 响应行, 响应头, 响应体)
2092+ * 请求( 请求行、 请求头、 请求体)
2093+ * 响应( 响应行、 响应头、 响应体)
20942094
20952095URL 和 URI
20962096
@@ -2101,8 +2101,7 @@ URL 和 URI
21012101* URI:统一资源标志符
21022102 格式:/request/servletDemo01
21032103
2104- * 区别:` URL-HOST=URI ` ,URI是抽象的定义,URL用地址定位,URI 用名称定位。
2105- ** 只要能唯一标识资源的是URI,在URI的基础上给出其资源的访问方式的是URL**
2104+ * 区别:` URL-HOST=URI ` ,URI是抽象的定义,URL用地址定位,URI 用名称定位。** 只要能唯一标识资源的是 URI,在 URI 的基础上给出其资源的访问方式的是 URL**
21062105
21072106短连接和长连接:
21082107
@@ -2132,20 +2131,18 @@ URL 和 URI
21322131
21332132## 版本区别
21342133
2135- 87691457
2136-
21372134版本介绍:
21382135
2139- * HTTP/0.9 仅支持 GET 请求,不支持请求头。
2136+ * HTTP/0.9 仅支持 GET 请求,不支持请求头
21402137* HTTP/1.0 默认短连接(一次请求建议一次 TCP 连接,请求完就断开),支持 GET、POST、 HEAD 请求
2141- * HTTP/1.1 默认长连接(一次 TCP 连接可以多次请求);支持 PUT、DELETE、PATCH 等六种请求;增加 host 头,支持虚拟主机;支持断点续传功能
2138+ * HTTP/1.1 默认长连接(一次 TCP 连接可以多次请求);支持 PUT、DELETE、PATCH 等六种请求;增加 host 头,支持虚拟主机;支持 ** 断点续传 ** 功能
21422139* HTTP/2.0 多路复用,降低开销(一次 TCP 连接可以处理多个请求);服务器主动推送(相关资源一个请求全部推送);解析基于二进制,解析错误少,更高效(HTTP/1.X 解析基于文本);报头压缩,降低开销。
21432140
21442141HTTP 1.0 和 HTTP 1.1 的主要区别:
21452142
21462143* 长短连接:
21472144
2148- ** 在HTTP/1.0中,默认使用的是短连接** ,每次请求都要重新建立一次连接。HTTP 基于 TCP/IP 协议的,每一次建立或者断开连接都需要三次握手四次挥手的开销,如果每次请求都要这样的话, 开销会比较大。因此最好能维持一个长连接,可以用个长连接来发多个请求
2145+ ** 在HTTP/1.0中,默认使用的是短连接** ,每次请求都要重新建立一次连接。HTTP 基于 TCP/IP 协议的,每一次建立或者断开连接都需要三次握手四次挥手, 开销会比较大
21492146
21502147 ** HTTP 1.1起,默认使用长连接** ,默认开启 ` Connection: keep-alive ` ,HTTP/1.1 的持续连接有非流水线方式和流水线方式 ,流水线方式是客户端在收到 HTTP 的响应报文之前就能接着发送新的请求报文,非流水线方式是客户端在收到前一个响应后才能发送下一个请求
21512148
@@ -2157,13 +2154,13 @@ HTTP 1.0 和 HTTP 1.1 的主要区别:
21572154
21582155HTTP 和 HTTPS 的区别:
21592156
2160- * 端口 :HTTP 默认使用端口 80,HTTPS 默认使用端口443
2161- * 安全性: HTTP 协议运行在 TCP 之上,所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份;HTTPS 是运行在 SSL/TLS 之上的 HTTP 协议,SSL/TLS 运行在 TCP 之上,所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密
2162- * 资源消耗:HTTP 安全性没有 HTTPS高 ,但是 HTTPS 比 HTTP 耗费更多服务器资源
2157+ * 端口 :HTTP 默认使用端口 80,HTTPS 默认使用端口 443
2158+ * 安全性:HTTP 协议运行在 TCP 之上,所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份;HTTPS 是运行在 SSL/TLS 之上的 HTTP 协议,SSL/TLS 运行在 TCP 之上,所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密
2159+ * 资源消耗:HTTP 安全性没有 HTTPS 高 ,但是 HTTPS 比 HTTP 耗费更多服务器资源
21632160
21642161** 对称加密和非对称加密**
21652162
2166- * 对称加密:加密和解密使用同一个秘钥,把密钥转发给需要发送数据的客户机,中途会被拦截(类似于把带锁的箱子和钥匙给别人,对方打开箱子放入数据,上锁后发送),典型的对称加密算法有DES、AES等
2163+ * 对称加密:加密和解密使用同一个秘钥,把密钥转发给需要发送数据的客户机,中途会被拦截(类似于把带锁的箱子和钥匙给别人,对方打开箱子放入数据,上锁后发送),典型的对称加密算法有 DES、AES 等
21672164 * 优点:运算速度快
21682165 * 缺点:无法安全的将密钥传输给通信方
21692166
@@ -2228,12 +2225,12 @@ HTTP 和 HTTPS 的区别:
22282225 * 安全的方法除了 GET 之外还有:HEAD、OPTIONS
22292226 * 不安全的方法除了 POST 之外还有 PUT、DELETE
22302227
2231- 幂等性:同样的请求被执行一次与连续执行多次的效果是一样的 ,服务器的状态也是一样的。所有的安全方法也都是幂等的。在正确实现条件下,GET,HEAD,PUT 和 DELETE 等方法都是幂等的,POST 方法不是
2228+ 幂等性:同样的请求**被执行一次与连续执行多次的效果是一样的** ,服务器的状态也是一样的。所有的安全方法也都是幂等的。在正确实现条件下,GET,HEAD,PUT 和 DELETE 等方法都是幂等的,POST 方法不是
22322229
22332230 可缓存:如果要对响应进行缓存,需要满足以下条件
22342231
2235- * 请求报文的 HTTP 方法本身是可缓存的,包括 GET 和 HEAD,但是 PUT 和 DELETE 不可缓存,POST 在多数情况下不可缓存的
2236- * 响应报文的状态码是可缓存的,包括:200, 203, 204, 206, 300, 301, 404, 405, 410, 414, and 501
2232+ * 请求报文的 HTTP 方法本身是可缓存的,包括 GET 和 HEAD,但是 PUT 和 DELETE 不可缓存,POST 在多数情况下不可缓存
2233+ * 响应报文的状态码是可缓存的,包括:200、 203、 204、 206、 300、 301、 404、 405、 410、 414 and 501
22372234 * 响应报文的 Cache-Control 首部字段没有指定不进行缓存
22382235
22392236
@@ -2309,24 +2306,23 @@ HTTP 和 HTTPS 的区别:
23092306 * 响应状态码:
23102307 ![ ] ( https://gitee.com/seazean/images/raw/master/Web/HTTP状态响应码.png )
23112308
2312- | 状态码 | 说明 |
2313- | ------- | ------------------------------------------------ |
2314- | 200 | 一切都OK> ,与服务器连接成功,发送请求成功 |
2315- | 302/307 | 请求重定向( 客户端行为,两次请求,地址栏发生改变) |
2316- | 304 | 请求资源未改变,使用缓存 |
2317- | 400 | 客户端错误,请求错误,最常见的就是请求参数有问题 |
2318- | 403 | 客户端错误,但forbidden权限不够 ,拒绝处理 |
2319- | 404 | 客户端错误,请求资源未找到 |
2320- | 500 | 服务器错误,服务器运行内部错误 |
2309+ | 状态码 | 说明 |
2310+ | ------- | -------------------------------------------------- |
2311+ | 200 | 一切都 OK ,与服务器连接成功,发送请求成功 |
2312+ | 302/307 | 请求重定向( 客户端行为,两次请求,地址栏发生改变) |
2313+ | 304 | 请求资源未改变,使用缓存 |
2314+ | 400 | 客户端错误,请求错误,最常见的就是请求参数有问题 |
2315+ | 403 | 客户端错误,但 forbidden权 限不够 ,拒绝处理 |
2316+ | 404 | 客户端错误,请求资源未找到 |
2317+ | 500 | 服务器错误,服务器运行内部错误 |
23212318
23222319 面试题:
23232320
2324- * 301 redirect: 301 代表永久性转移(Permanently Moved)。
2325- * 302 redirect: 302 代表暂时性转移(Temporarily Moved )
2326-
2327- * 响应头
2328- 响应头以key: vaue 存在, 可能多个value情况。
2321+ * 301 redirect: 301 代表永久性转移 (Permanently Moved)
2322+ * 302 redirect: 302 代表暂时性转移 (Temporarily Moved )
23292323
2324+ * 响应头:以 key: vaue 存在,可能多个 value 情况。
2325+
23302326 | 消息头 | 说明 |
23312327 | ----------------------- | ------------------------------------------------------------ |
23322328 | Location | 请求重定向的地址,常与302,307配合使用。 |
@@ -2345,9 +2341,7 @@ HTTP 和 HTTPS 的区别:
23452341
23462342
23472343
2348- * 响应体
2349-
2350- 页面展示内容, 类似网页的源码
2344+ * 响应体:页面展示内容, 类似网页的源码
23512345
23522346 ``` html
23532347 <html >
@@ -2360,7 +2354,7 @@ HTTP 和 HTTPS 的区别:
23602354 </body >
23612355 </html >
23622356 ```
2363-
2357+
23642358
23652359
23662360
0 commit comments