计算机网络之应用层(二)

计算机网络应用之应用层(二)

web应用

web与HTTP

计算机网络之应用层(二)_第1张图片

  • 20多年的里程 90年左右发明出来
  • 使Internet网络从众多网络中脱颖而出变成现在强大的网络
  • 通过web:看新闻,游戏,办公
  • 构成:网页,网页之间互相连接,从而形成庞大的信息网络,服务网络
  • 网页:包含多个对象:HTML文件、图片、视频、脚本
    • 每个网页有一个基本的HTMl文件:包含对其他对象的连接
  • 对象寻址
    • 其他寻址:网络间进程的寻址
    • web对象寻址:
      • 基本格式:协议+主机+端口号+路径
      • 省略的协议默认是:HTTP协议
  • URL提供一种机制:使得互联网上web上所有的资源都有了唯一的标志符

HTTP协议概述

计算机网络之应用层(二)_第2张图片
-HTTP协议使用的是:超文本传输协议
这个协议是cs架构 :

  • 客户:请求、接收、解析、展示web对象
  • 服务器web-server:响应客户的请求,发送对象 典型的:Apache

计算机网络之应用层(二)_第3张图片

  • 传输协议是:tcp协议
  • HTTP协议是无状态的协议
    • 比如往复的请求一个网页,服务器不区分请求,而是继续给你返回,不记录
    • 为什么:无状态的的机制

HTTP消息格式

计算机网络之应用层(二)_第4张图片

  • 请求行, get:请求命令
  • 路径就是 url
  • http/1.1请求版本
  • header:标明主机、浏览器版本:真对浏览器返回适应版本的。连接状态、语言
  • 为什么要声明这个信息,从提供服务的角度,可以提供多个版本
  • 回车换行表示请求结束

计算机网络之应用层(二)_第5张图片

计算机网络之应用层(二)_第6张图片

  • post:请求参数放到Entity Body中

计算机网络之应用层(二)_第7张图片

  • HEAD:告诉服务器不要把请求的对象放到响应消息中
    • 只是返回头部信息,一般只是测试用
  • 1.1 put:上传文件 保存等
    • delete 删除
      计算机网络之应用层(二)_第8张图片
  • 状态行:版本,返回状态代码,状态
  • 头部行:date:web服务器生成响应消息的时间
    • last-modified:网页上次修改时间
    • server :软件类型
    • content-length:内容长度
    • content-type:响应类型
  • 响应内容
  • 常用的状态码:
    200 OK 服务器成功返回用户请求的数据
    201 CREATED 用户新建或修改数据成功
    202 Accepted 表示请求已进入后台排队
    301-对象已永久移走,即永久重定向
    302 临时转移至新的url
    307 临时转移至新的url
    400 INVALID REQUEST 用户发出的请求有错误
    401 Unauthorized 用户没有权限
    403 Forbidden 访问被禁止
    404 NOT FOUND 请求针对的是不存在的记录
    405 Method not Allowed 浏览器请求方式不被支持
    406 Not Acceptable 用户请求的的格式不正确
    500 INTERNAL SERVER ERROR 服务器发生错误
    计算机网络之应用层(二)_第9张图片

Cookie

计算机网络之应用层(二)_第10张图片

  • HTTP:无状态的,不记录客户历史行为
  • 服务器端需要掌握客户端状态-cookie
  • cookie记录回话状态

计算机网络之应用层(二)_第11张图片- cookie:跟踪存储session,在用户本地终端上的数据(通常加密)

  • RFC:C6265
  • cookie:架设在HTTP上的一个组件
  • 组成:可扩展
  • HTTP响应消息的cookie头部行
  • HTTP请求消息的cookie头部行
  • 保存在客户端主机上的cookie文件,由浏览器管理
  • web服务器端的后台数据库
    计算机网络之应用层(二)_第12张图片
  • 怎么解决无状态的问题:cookie
    • 一个用户请求服务端,服务端发现是首次访问,记录这个用户id到数据库中(根据ip信息等)id是1678,
    • 响应消息中增加cookie头部行,
    • 浏览器收到消息后,解析cookie内容,在cookie文件中增加,标识号:1678
    • 在访问的话,就会携带以往增加的cookie信息
    • 服务器在收到,就是标识出来这个用户信息,获取到这个用户的浏览信息等,返回用户特定的内容
    • 用户特定的action
      计算机网络之应用层(二)_第13张图片
  • 身份认证,保存密码,购物车
  • 隐私问题:记录用户的行为,泄漏,推送广告等
  • cookie替代技术正在研究
    计算机网络之应用层(二)_第14张图片

web缓存/代理服务器技术

计算机网络之应用层(二)_第15张图片

  • 能够在不访问服务器的情况下满足客户端的http请求
    • 为什么要发明这样的技术:性能优化技术
    • 任何网络都有功能的一面和性能的一面
    • cdn:内容分发网络:大范围内实现有效的内容分发
      计算机网络之应用层(二)_第16张图片
  • 判断请求在在缓存服务器中是否有缓存,有则直接返回,无则请求服务端,在返回给用户,下一次同样的请求则直接从缓存服务器中返回数据
  • 既充当客户端,又充当服务器
  • 一般由组织架设ISP(Internet服务提供商)架设
  • 个人架设意义不大,为组织节省流量
    计算机网络之应用层(二)_第17张图片
  • RTT 往返延迟:从机构到路由器的往返延迟
  • 局域网是10mbps,一个人是100000比特 15人是 1500000比特 15mb/10
  • 1.5/1.5接近100% 延迟特别大,
    计算机网络之应用层(二)_第18张图片

计算机网络之应用层(二)_第19张图片

  • 增加缓存服务器,缓存命中率是0.2-0.7之间
  • 广泛使用缓存技术

条件性get方法

计算机网络之应用层(二)_第20张图片

  • 响应消息不包含对象
  • 如果没有新的缓存返回304
  • 有则返回200及新的信息
  • 意味着,当客户访问缓存的时候,缓存有必要利用条件性get方法想服务器发送请求,当没有发生改变的时候节省了带宽,当改变了的时候使用了带宽,是必然的

计算机网络之应用层(二)_第21张图片

你可能感兴趣的:(计算机与网络)