图解HTTP笔记.1

  1. TCP/IP 协议族:计算机和网络科要相互通信,就要基于相同的规则(protocol)。TCP/IP是所有协议族的总称
  2. TCP/IP分层:应用层,传输层,网络层,数据链路层





  1. 流程图


  1. 在TCP/IP协议族 中 与HTTP密切相关的协议:IP,TCP 和 DNS
    • 负责传输的IP协议(不是IP地址,位于网络层) IP协议保证把数据包要传到对方那里,IP地址和MAC地址是两个重要条件。ARP协议,在通过路由器中转时,需要MAC地址搜索下一个目标,通过IP地址反查出MAC地址
    • 确保可靠性的TCP协议(传输层):TCP协议为了更容易传输分割大数据,而且能确认数据是否最后传给了对方。TCP为了确保数据传送到,用了三次握手策略。
    • 负责域名解析的DNS服务(应用层):提供域名到IP地址的解析服务
  • 第四点总流程图


  1. URI和URL
  • URL
                URL(Uniform Resource Locator) 统一资源定位符,能够对因特网的资源进行定位。
                        URL一般有四部分组成: <协议>://<主机>:<端口>/<路径> 
                现在最常用的<协议>为http协议。
                <主机>是指主机在因特网上的域名。
                http协议的默认<端口>为80(可以省略)。
                <路径>是指要活的的文件的路径。

  • URI: 统一资源标识符  如http ftp file  URL是URI的子集
  • 绝对URI格式:

————————————————————————————————————————

HTTP协议介绍:

  1. HTTP协议用于客户端和服务端之间的通信
  2. HTTP是不保存状态的协议,它不会记得刚才发送或响应的东西
  3. HTTP方法
  • GET         :获取某个资源
  • POST       :传输实体主体(告诉服务器某个信息)
  • PUT         :传输文件在请求报文中就要包涵要传输的文件主体
  • HEAD      :获取文报首部
  • DELETE    :删除文件,按照请求URI删除
  • OPTIONS :询问支持的方法
  • TRACE     :追踪路径
  • CONNECT:要求使用隧道协议连接代理
  • LINK,UNLINK :建立和断开资源之间的联系
持久连接:(HTTP keep-alive)任意一端没有明确提出断开连接,则保持TCP连接状态管线化:持久连接是的管线化成为可能,不用等待响应就能发送下一个请求,这样就能做到同时并行发送多个请求。Cookie:服务器发送Set-Cookie字段,客户端保存字段,下次客户端发送请求,自动加入Cookie值,这样服务器就能对比上次记录,得到用户之前的状态。
    ————————————————————————————————————————————————————

HTTP报文:

  1. HTTP报文包括发送的请求报文和获得的响应报文,报文大致分为报文首部报文主体
  2. 报文图解:
  3. 编码提升传输效率
  • 通常,报文主体等于实体主体,只有当传输进行编码操作时,实体主体内容发生变化.
  • 压缩传输的内容编码:将实体压缩变小后发送,常用的内容编码有:gzip,compress
  • 分块传输编码
  1. 发送多种数据的多部分对象集合,例如发送邮件(含有,文本视频图片等)
  2. 获取范围请求:以前下载中断只能从新开始,现在可以请求从某个范围重新开始,首字段是Range,单位是bytes
  3. 内容协商返回最合适内容:比如Google有中文版和英文版,根据浏览器设置访问URI会默认访问某个版本
  • 内容协商有三种

——————————————————————————————————————————————————

请求返回的状态码:



2XX
  • 200 OK                        已正常处理
  • 204 No Content           请求处理成功但是没有资源返回
  • 206 Partial Content      表示用户进行了范围请求,响应报文中包含范围的实体内容

3XX  
  • 301  请求的资源已永久重定向,分配了新的URI,应该保存
  • 302  请求的资源已临时重定向,这次访问请用新URI
  • 303  请求对应资源存在另一个URI,应使用GET方法获取
  • 304  资源找到,但是未符合附加条件
  • 307  类似302,不会从POST变为GET

4XX
  • 400   存在语法错误
  • 401   表示请求需要通过HTTP认证
  • 403   拒绝访问
  • 404   没有对应资源

5XX
  • 500   服务器在执行请求时发生错误
  • 503   服务器正在超负荷或者停机维护

————————————————————————————————————————————

与HTTP协作的WEB服务器:

  1. 用单台虚拟主机实现多个域名:如果在相同IP地址(服务器)上部署了多个域名,在访问的时候就必须在Host首部内完整指定主机名或者域名的URI
  2. 通信数据转发程序:代理,网关,隧道
    代理是应用程序,可转发,可缓存,添加via

    网关是服务器,可以提供非HTTP服务

    隧道是程序,连接客户端和服务器,保证连接安全,使用SSL。

  • 代理



  • 网关       


  • 隧道




  1. 保存资源的缓存:缓存是指在代理服务器或者客户端本地内保存的资源副本,利用缓存可以减少对源服务器的访问,因此节省了流量和时间
  • 服务器缓存        
    •  




  • 客户端的缓存






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值