第一篇:  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.反向代理

答:

《HTTP 权威指南》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. Eclipse中启动tomcat报错:A child container failed during start

    我真的很崩溃,先是workspace崩了,费了好久重建的workspace,然后建立了一个小demo项目,tomcat中启动却报错,挑选其中比较重要的2条信息如下: A child container ...

  2. [转]MongoDB基本命令用

    本文转自:http://www.cnblogs.com/liyonghui/p/mongodb.html 成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作. 输 ...

  3. #include <NOIP2010 Junior> 三国游戏 ——using namespace wxl;

    题目描述 小涵很喜欢电脑游戏,这些天他正在玩一个叫做<三国>的游戏. 在游戏中,小涵和计算机各执一方,组建各自的军队进行对战.游戏中共有 N 位武将(N为偶数且不小于 4),任意两个武将之 ...

  4. url 特殊字符

    URL中的特殊字符 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(1 ...

  5. NYOJ-取石子(二)

    取石子(二) 时间限制:3000 ms  |  内存限制:65535 KB 难度:5 描述 小王喜欢与同事玩一些小游戏,今天他们选择了玩取石子. 游戏规则如下:共有N堆石子,已知每堆中石子的数量,并且 ...

  6. 机器学习实战--logistic回归

    #encoding:utf-8 from numpy import * def loadDataSet(): #加载数据 dataMat = []; labelMat = [] fr = open(' ...

  7. wk_04

    函数 函数是对程序逻辑进行结构化或过程化的一直编程方法.能将整块代码巧妙的隔离成易于管理的小块,把重复代码放到函数中而不是进行大量的拷贝--这样既能节省空间,也有助于保持一致性,因为你只需要改变单个的 ...

  8. nginx负载均衡集群中的session共享说明

    在网站使用nginx+php做负载均衡情况下,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态. 下面罗列几种nginx负载均衡 ...

  9. 利用统计学知识为android应用的启动时间做数据分析

    [声明:如需转载本文,请注明来源] 一.数据说明 启动时间用同一台设备,同一个包进行启动时间的测试,其中三组样本数据(每组100份对比数据)如下: 设备pro-5-1 base_list_1 = [0 ...

  10. Meet Python: little notes

    Source: http://www.liaoxuefeng.com/ ❤ Escape character: '\' - '\n': newline; - '\t': tab; - '\\': \; ...