zoukankan      html  css  js  c++  java
  • 【计算机网络】第二章 网络应用(2)

    二.Web应用

    1. Web:网页互相链接

    1)网页

      ·对象:HTML文件、JPEG图片、视频文件、动态脚本

      ·基本HTML文件:包含对其他对象引用的链接

    2)对象的寻址

      ·URL:统一资源定位器

      ·格式:Scheme://host:port/path(协议://主机:端口号/路径)

      ·一般省略协议即默认为HTTP

    2. HTTP协议概述

    1)超文本传输协议:HyperText Transfer Protocol

    2C/S结构:客户请求、接收、展示Web对象;服务器响应客户请求,发送对象

    3)使用TCP传输服务

      ·服务器在80端口等待客户请求

      ·浏览器发起到服务器的TCP连接(创建套接字Socket

      ·服务器接收来自浏览器的TCP连接

      ·浏览器与Web服务器交换HTTP消息

      ·关闭TCP连接

    4)无状态协议:服务器不维护任何有关客户端过去所发请求的信息

    3. HTTP连接

    1)非持久性连接:每个TCP连接最多允许传输一个对象,每传输完一个对象需关闭TCP连接

      ·过程

        - 客户端向服务器进程(端口80)发起TCP连接请求

        - 服务器在端口80等待TCP连接请求,接受连接并通知客户端

        - 客户端将包含所需对象URLHTTP请求消息通过套接字发出

        - 服务器收到请求消息,产生包含所需对象的响应消息,通过套接字发回

        - 服务器关闭TCP连接

        - 客户端收到相应消息,解析并显示HTML文件,若发现其他超链接,重复以上步骤

      ·响应时间分析与建模:Total = 2RTT + 文件发送时间

      ·问题

        - 重复步骤耗费时间

        - 操作系统为多个TCP连接开销资源

        - 浏览器打开多个并行TCP连接,服务器负载过大

    (2)持久性连接:每个TCP连接允许传输多个对象,发送响应后,服务器保持TCP连接的打开,后续HTTP消息通过此连接发送

      ·无流水持久性连接:客户端收到前一个响应后才发送新的请求,每个被引用的对象耗时一个RTT

      ·流水持久性连接:客户只要遇到一个引用对象就尽快发出请求,理想情况下收到所有引用对象只需耗时约1RTT

    4. HTTP消息格式

    1)请求消息

      ·ASCII编写,人直接可读

     

      ·通用格式

     

      ·上传输入:POST方法(在消息体上传),URL方法(通过URL字段上传)

      ·方法的类型:GETPOSTHEAD(请Server不要将请求对象放入响应消息中)、PUT(将消息体中文件上传到URL指定路径)、DELETE(删除URL所指文件)

    2)响应消息

      ·响应状态代码:响应消息第一行,如404 Not Found

     

    5. Cookie技术

    (1)产生原因:解决因HTTP协议无状态而产生的问题

    (2)具体定义:某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)

    (3)组件

      ·HTTP响应消息的cookie头部行

      ·HTTP请求消息的cookie头部行

      ·保存在客户端主机上的cookie文件,由浏览器管理

      ·Web服务器端的后台数据库

    (4)原理

      ·客户端使用常规HTTP请求消息

      ·服务器为客户创建ID,将其IP地址放到数据库里,设置cookie

      ·客户端在响应消息中增加cookie行标明ID

      ·服务器根据cookie做出面向客户的固定动作

    (5)作用:身份认证、购物车、推荐、Email等,但具有隐私问题

    6. Web缓存/代理服务器技术

    (1)功能

      ·在不访问服务器的前提下满足客户端的HTTP请求

      ·缩短客户请求的响应时间

      ·减少机构/组织的流量开销

      ·在大范围内实现有效的内容分发

    (2)结构

      ·用户设定浏览器通过缓存进行Web访问

      ·浏览器向缓存/代理服务器发送所有的HTTP请求,有则返回对象,没有则向原始服务器发送请求,获取对象,返回客户端并保存该对象

      ·缓存既充当客户端也充当服务器,一般由ISP架设

     

    (3)示例

      ·解决方案1:提升互联网接入带宽为10MbpsT = 2 + e (s)

      ·解决方案2:安装Web缓存,设命中率为0.4T = 0.6 × 2 + 0.4 × e < 1.4 (s)

    (4)条件性GET方法

      ·目标:如果缓存版本是最新的,则不需要发送请求对象

      ·缓存:在HTTP请求消息中声明所持有版本的日期

      ·服务器:如果缓存版本是最新的,则响应消息不包含对象,状态代码为304 Not Modified

  • 相关阅读:
    记一次Redis+Getshell经验分享
    冰蝎动态二进制加密WebShell基于流量侧检测方案
    ubuntu16下安装mongodb 3.6
    centos安装sass环境必看
    CLR 调试体系结构
    CLR 调试概述
    CLR Exception---E0434352
    关于System.MissingMethodException异常
    关于异常System.ArgumentException
    从.NET/CLR返回的hresult:0x8013XXXX的解释
  • 原文地址:https://www.cnblogs.com/zhangyushuqing/p/9612844.html
Copyright © 2011-2022 走看看