From 82d237df68331adf1ff0199fa75fc785f4b4c6ac Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Wed, 14 Mar 2018 12:04:26 +0800 Subject: [PATCH] auto commit --- notes/HTTP.md | 54 +++++++++++++----- pics/39a27cca-c9af-482a-8a87-5522557a309e.jpg | Bin 0 -> 53248 bytes 2 files changed, 41 insertions(+), 13 deletions(-) create mode 100644 pics/39a27cca-c9af-482a-8a87-5522557a309e.jpg diff --git a/notes/HTTP.md b/notes/HTTP.md index 71045161..18163b4a 100644 --- a/notes/HTTP.md +++ b/notes/HTTP.md @@ -366,13 +366,13 @@ Expires 字段可以用于告知缓存服务器该资源什么时候会过期。 ## 持久连接 -当浏览器访问一个包含多张图片的 HTML 页面时,除了请求访问 HTML 页面资源,还会请求图片资源,如果每进行一次 HTTP 通信就要断开一次 TCP 连接,连接建立和断开的开销会很大。 **持久连接** 只需要进行一次 TCP 连接就能进行多次 HTTP 通信。HTTP/1.1 开始,所有的连接默认都是持久连接。 +当浏览器访问一个包含多张图片的 HTML 页面时,除了请求访问 HTML 页面资源,还会请求图片资源,如果每进行一次 HTTP 通信就要断开一次 TCP 连接,连接建立和断开的开销会很大。持久连接只需要建立一次 TCP 连接就能进行多次 HTTP 通信。

-持久连接需要使用 Connection 首部字段进行管理。HTTP/1.1 开始 HTTP 默认是持久化连接的,如果要断开 TCP 连接,需要由客户端或者服务器端提出断开,使用 Connection: close;而在 HTTP/1.1 之前默认是非持久化连接的,如果要维持持续连接,需要使用 Keep-Alive。 +持久连接需要使用 Connection 首部字段进行管理。HTTP/1.1 开始 HTTP 默认是持久化连接的,如果要断开 TCP 连接,需要由客户端或者服务器端提出断开,使用 Connection : close;而在 HTTP/1.1 之前默认是非持久化连接的,如果要维持持续连接,需要使用 Connection : Keep-Alive。 -管线化方式可以同时发送多个请求和响应,而不需要发送一个请求然后等待响应之后再发下一个请求。 +**管线化方式** 可以同时发送多个请求和响应,而不需要发送一个请求然后等待响应之后再发下一个请求。

@@ -386,11 +386,25 @@ Expires 字段可以用于告知缓存服务器该资源什么时候会过期。 ## 多部分对象集合 -一份报文主体内可含有多种类型的实体同时发送,每个部分之间用 boundary 字段定义的分隔符进行分隔;每个部分都可以有首部字段。 +一份报文主体内可含有多种类型的实体同时发送,每个部分之间用 boundary 字段定义的分隔符进行分隔,每个部分都可以有首部字段。 例如,上传多个表单时可以使用如下方式: -

+```html +Content-Type: multipart/form-data; boundary=AaB03x + +--AaB03x +Content-Disposition: form-data; name="submit-name" + +Larry +--AaB03x +Content-Disposition: form-data; name="files"; filename="file1.txt" +Content-Type: text/plain + +... contents of file1.txt ... +--AaB03x-- +``` + ## 范围请求 @@ -398,12 +412,28 @@ Expires 字段可以用于告知缓存服务器该资源什么时候会过期。 在请求报文首部中添加 Range 字段,然后指定请求的范围,例如 Range:bytes=5001-10000。请求成功的话服务器发送 206 Partial Content 状态。 +```html +GET /z4d4kWk.jpg HTTP/1.1 +Host: i.imgur.com +Range: bytes=0-1023 +``` + +```html +HTTP/1.1 206 Partial Content +Content-Range: bytes 0-1023/146515 +Content-Length: 1024 +... +(binary content) +``` + ## 内容协商 通过内容协商返回最合适的内容,例如根据浏览器的默认语言选择返回中文界面还是英文界面。 涉及以下首部字段:Accept、Accept-Charset、Accept-Encoding、Accept-Language、Content-Language。 +

+ ## 虚拟主机 使用虚拟主机技术,使得一台服务器拥有多个域名,并且在逻辑上可以看成多个服务器。 @@ -454,15 +484,13 @@ HTTPs 采用 **混合的加密机制** ,使用公开密钥加密用于传输 ## 认证 -通过使用 **证书** 来对通信方进行认证。证书中有公开密钥数据,如果可以验证公开密钥的确属于通信方的,那么就可以确定通信方是可靠的。 - -数字证书认证机构(CA,Certificate Authority)可以对其颁发的公开密钥证书对其进行验证。 +通过使用 **证书** 来对通信方进行认证。证书中有公开密钥数据,如果可以验证公开密钥的确属于通信方的,那么就可以确定通信方是可靠的。数字证书认证机构(CA,Certificate Authority)可以对其颁发的公开密钥证书对其进行验证。 进行 HTTPs 通信时,服务器会把证书发送给客户端,客户端取得其中的公开密钥之后,就可以开始通信。 -使用 OpenSSL 这套开源程序,每个人都可以构建一套属于自己的认证机构,从而自己给自己颁发服务器证书。浏览器在访问该服务器时,会显示“无法确认连接安全性”或“该网站的安全证书存在问题”等警告消息。 +除了上诉提到的服务器端证书之外,还有客户端证书,客户端证书的目的就是让服务器对客户端进行验证。客户端证书需要用户自行安装,只有在业务需要非常高的安全性时才使用客户端证书,例如网上银行。 -客户端证书需要用户自行安装,只有在业务需要非常高的安全性时才使用客户端证书,例如网上银行。 +使用 OpenSSL 这套开源程序,每个人都可以构建一套属于自己的认证机构,从而自己给自己颁发服务器证书。浏览器在访问该服务器时,会显示“无法确认连接安全性”或“该网站的安全证书存在问题”等警告消息。 ## 完整性 @@ -484,11 +512,11 @@ HTTP/1.1 新增了以下内容: **多路复用** -HTTP/2.0 使用多路复用技术,即使用同一个 TCP 连接来处理多个请求。 +HTTP/2.0 使用多路复用技术,使用同一个 TCP 连接来处理多个请求。 **首部压缩** -HTTP1.1 的首部带有大量信息,而且每次都要重复发送,HTTP/2.0 要求通讯双方各自缓存一份首部字段表,从而避免了重复传输。 +HTTP/1.1 的首部带有大量信息,而且每次都要重复发送。HTTP/2.0 要求通讯双方各自缓存一份首部字段表,从而避免了重复传输。 **服务端推送** @@ -496,7 +524,7 @@ HTTP1.1 的首部带有大量信息,而且每次都要重复发送,HTTP/2.0 **二进制格式** -HTTP1.1 的解析是基于文本的,而 HTTP2.0 采用二进制格式。 +HTTP/1.1 的解析是基于文本的,而 HTTP/2.0 采用二进制格式。 # 参考资料 diff --git a/pics/39a27cca-c9af-482a-8a87-5522557a309e.jpg b/pics/39a27cca-c9af-482a-8a87-5522557a309e.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6e9ac9427252471aa4028dd810d75cb7a00503fb GIT binary patch literal 53248 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