《HTTP 权威指南》

时间:2023-12-10 18:07:02

第一篇:  Web基础  (HTTP概述、 URL、HTTP报文、连接管理)

0. scheme:方案!     协议类型

1.HTTP:超文本传输(状态转移)协议;通信协议方案。     web浏览器与web服务器之间的双工通信!   TCP是双向的。

2.web服务器(http协议) http服务器!

web服务器:web资源的宿主!

3.MIME类型: 数据格式标签;当web浏览器从服务器中取回一个对象时,会查看相关的MIME类型,浏览器根据此对此对象做出相应的处理!   媒体类型!(content-type来指定MIME类型)

4.URI:统一资源标识符(一个资源的名称)

URI分为两种: URL 和 URN

URL(统一资源定位符):通过资源所处位置来描述资源。

URN(统一资源名):通过资源的名字来描述资源。

5. HTTP请求方法:告诉服务器要执行什么动作!

一个HTTP事务:由一条请求命令和一个响应结果组成。

HTTP报文是纯文本的哦!

  HTTP是基于TCP/IP的!   它是应用层协议。

6. 域名:IP地址的别名      Domain Name Service

7. 浏览器和web服务器交互流程:

  A:建立到服务器80端口的连接

B: 发送HTTP请求

C: 读取HTTP响应

D: 关闭连接(与服务器断开)

8. 基本概念:

  1.代理:位于客户端和服务器之间的HTTP之间实体。     功能:请求转发、请求和响应的过滤。

2.缓存:HTTP的仓库,将常使用的资源保存到离客户端近的地方。

3.隧道:对Http通信报文进行盲转发的特殊代理。      隧道可以在非http网络上转发数据。  http/ssl隧道

4.网关:是一种特殊的服务器,将http协议转换为其他协议。    协议转换!

http只能和http服务器通信;  不能和ftp服务器直接通信。  所以可以用网关来实现。

5.Ageng 代理: 比如爬虫程序(代表用户发起http请求的客户端程序)

浏览器也是哦!我们填空,浏览器会补充好请求报文然后发起请求。不然我们需要其他AP。

9.  URL与资源

A:书籍的ISBN编号。

B: url:通过位置来识别资源     urn:通过名字来识别资源。

C:  方案://服务器位置/路径 (URL格式)

10. 相对URL:是不完整的,必须借助参照物。  base

11. URL构成:协议类型   用户 密码   主机  端口  资源路径  参数   查询  片段

12. 解析URL,自动扩展URL,主机名扩展、根据访问历史记录扩展。(浏览器自带的功能哦)

13. url   地址

urn   身份证号(唯一的)     备案服务器

14.起始行   首部  主体

15.HTTPS就是在HTTP和TCP之间插入了一个TLS或SSL的密码加密层。

16.三个因素:  服务器地址位置的远近(网络)     服务器的负载情况(服务器)     因特网的拥堵程度(网络)

17.浏览器有DNS服务器哦,缓存表。

18.HTTP连接: 串行、并行、持久、管道化连接。(性能调优)

第二篇:HTTP结构  (项目参考哦)

1.web服务器:对请求的处理和响应。

2.单线程web服务器   多进程web服务器   服用的I/O结构    复用的多线程I/O结构

3.apache: web服务器配置日志哦!    soga

4.代理:公有、私有代理。

5.代理理解的是相同的协议的应用程序。网关是不同的协议。   网关:协议 转换器。

6.事务:一个请求和响应就是一个事务。

7.服务器设置,请求必须来自代理。  防止有人绕过哦!

8.代理:指的是用户代理。  反向代理指的是服务器代理,服务器加速器。

代理:请求转发,相当于内容路由器。  还可以转码,处理由服务器返回的内容哦。   响应式就用到了代理哦!

哦,路由器,就是请求转发哦!

9.缓存:

  a:减少了冗余数据的传输,从而节省网络开销。

  b:缓解网络瓶颈。

  c:降低延迟,加载速度快,用户体验好。

10.瞬间拥塞:很多人同时访问一个资源。   会使得web服务器过载。

11.缓存:新鲜度检测   缓存命中/缓存未命中

12.私有缓存和公有缓存。

13.缓存:带宽、拥塞、距离

  A:缓存处理步骤:
    a:接受请求
    b:解析请求报文
    c:查找请求资源
    d:做新鲜度检测
    e:创建响应
    f:发送
    g:日志记载

14.HTTP机制:文档过期(服务器再验证) 定期检查服务器文档是否有改变。 没有改变,就更新http首部。

15.http的每一个请求都是要走缓存的哦!  soga

16.Apache缓存控制,

17.缓存控制 如果基于访问次数,那么好多资源的http请求都会被减少哦! 直接从缓存中读取了。

第八章 网关 隧道 中继

1.将其他协议的流量包裹在http中,用http通过“隧道”和“中继”的方式将这些流量穿过防火墙。

2.网关:翻译器,网关是资源和应用程序之间的粘合剂。 应用程序请求网关,网关处理接受请求,生成和返回响应。

3.网关:协议转换

4.客户端网关 */HTTP        服务器网关 HTTP/*

5.网关:一般都会配置解密硬件!

6.CGI:通用网关接口。 RPC:remote process call 远程过程调用

                              SOAP:simple object access protocol 简单对象访问协议。

7.Web service:一组允许web应用程序之间相互通信的标准和协议。

8.tunnel:隧道 (另一种通过http应用程序访问使用非http协议的应用程序) 可以通过http发送非http流量

9.ssl流量通过分组过滤路由器和代理服务器

10.中继:HTTP代理 处理建立连接的过程,对字节进盲转发

第九章:Web机器人 robot、爬虫

1.根集:从哪开始?

2.环路的出现,要避免哦!

4.到时候的参考资料哦!

第十章 HTTP-NG

1.下一代http,解决当前版本的复杂性、可扩展性、性能及传输依赖性相关的问题。

第三篇 识别、认证与安全

第十一章:客户端识别与cookie机制

1.NAT:network address translation

NAT防火墙:隐藏了防火墙后面的那些实际的计算机的IP地址,将实际的客户端的IP地址转换为一个共享的防火墙的IP地址(端口不同)

2.cookie:实现持久化话,识别当前用户。 保存在硬盘。

a:cookie是如何生成的? 答:首次访问服务器,服务器给它添的。
b:cookie中保存服务器的信息,当再次访问此站点的时候,此cookie就会被发送到服务器。 用于用户的识别。
c:会话cookie 持久cookie

HTTP的两个认证协议!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
为什么需要认证:实现私有资源的保护。

第十二章:基本认证机制(安全性)

1.认证:你是谁? 通过用户名和密码来做认证。

2.HTTP的基本认证:对保密信息的请求需要认证,你是谁(输入用户名和密码)

3.安全域:security realm

4.基本认证: 给资源设置安全域,用户访问你的时候利用WWW-Authentication首部询问用户名和密码。

5.扰码(编码) Base64的格式

6.表单信息的安全传输:base64编码后也是明文,很容易被破解,所以要加密安全的传输。

方案一:SSL加密信道发送所有的HTTP事务

方案二:使用更安全的认证协议,摘要认证。

7.重放攻击

第十三章:摘要认证(安全性)

1.安全使用基本认证的方式: 基本认证 + SSL。

2.摘要认证:”绝不会通过网络发送密码“, 客户端不会发送密码,只是发送一个”指纹“或”摘要“。

密码————————摘要

人 ——————————指纹

3.摘要:对信息主体的浓缩,是一种单向函数。将无限的输入值转换为有限的浓缩值。 MD5

4.随机数防止重放攻击

第十四章:安全HTTP

1.服务器认证:客户端需要知道服务器是不是伪造的。 说暗号,暗号多少?

2.客户端认证:服务端需要知道客户端是不是伪造的用户。 说暗号?

3.HTTPS:所有的http请求和响应数据在发送网络之前,都需要进行加密。 传输过程是加密的。

在http下面提供了一个密码安全层(SSL、TLS) 安全套接字层 传输层安全

4.密钥:改变密码行为的数字化参数。

5. 对称密钥加密算法:编解码使用相同的密钥的算法。    反过来:非对称密钥加密算法(公开密钥加密技术)。

密码机:需要密钥。

编解码函数是互为反函数的哦!

6.数字签名:防伪造和纂改, 报文进行签名,说明是谁写的,证明未被纂改过。

7.数字证书:可信的第三方组织的担保。  签发的识别信息。   ID卡

8.HTTPS客户端实例: OpenSSL

第四部分:实体、编码和国际化

第十五章:实体和编码

1.content-type:媒体格式(MIME类型)

content-Language:说明语言

2.报文是箱子,实体是货物。

第十六章  国际化

1.服务器:Content-type: charset参数  Content-Language

客户端:Accept-Language:fr,en

Accept-Charset:utf-8

2.字符集:将字符——》二进制码  编码表                      字符对应10进制的整数——》二进制

3.编码: 根据字符集, 将字符——》二进制            解码: 将二进制——》字符

第十七章:内容协商与转码

1.内容协商三种技术:客户端驱动的协商、服务器驱动的协商、透明协商。

内容:网页的语言版本:英文网页  中文网页?

手机页面、PC页面?

第五部分  内容发布与分发

第十八章:Web主机托管

1.虚拟主机托管,多个网站托管在一台物理计算机上。    通过Host首部进行虚拟主机托管。

2.服务器集群解决问题:

      a:服务器宕机

      b:网络中断或掉线

      c:交通拥堵,web服务器过载。

服务器集群:配置相同的web服务器,可以相互替换,每个服务器上的内容是可以镜像复制的。    HA软件哦:高可用性

3.交换机:将请求发送到服务器上。

4.重定向的方式:

  HTTP重定向

DNS重定向

5.CDN :内容分发网络就是对特定内容进行分发的专门网络。 这个网络中的节点:web服务器、反向代理、缓存。

6.反向代理服务器和镜像服务器区别:反向代理是需求驱动的!

7.CDN实现:客户端的请求被交换机拦截并发给代理缓存。

8.避免拥塞:服务器集群、分布式代理缓存、反向代理服务器。

第十九章:发布系统

第二十章:重定向与负载均衡

1.为什么重定向?

  a:可靠地执行HTTP事务。

  b:最小化时延。

  c:节省网络宽带。

2.客户端   ——》 (代理、缓存、网关) ——》 服务器

3.重定向方法:  HTTP重定向

         DNS重定向: 一个域名对应多个IP。

           任播寻址

        IP MAC转发

            IP地址转发

代理与缓存重定向技术

第二十一章:日志记录与使用情况追踪

1.日志作用:

  a:用于排错

  b:统计访问信息,提供决策支持。

 答疑:

1.集群

 答:

2.盲转发

答:

3.反向代理

答: