当前位置: 首页 > article >正文

【计算机网络复习】第二章 应用层 2

WWW概述

万维网,WWW, World Wide Web

不是一个网络,而是基于因特网的信息服务系统

以C/S模式工作

n 客户程序向服务器程序出请求

n 服务器程序向客户程序返回客户需要的万维网文档,即页面

WWW应用的客户端:浏览器

WWW应用的用户接口

功能

n Web服务器发送请求消息

n 接收Web服务器的应答消息

n 解释网页文档的源代码,将网页呈现给用户

n 通用的客户端,支持Email、文件传输、BBS、电子商务等应用

不同的浏览器对于同一网页文件的呈现结果不同

WWW应用的服务器端:Web服务器

保存Web网页文档

接收客户端的请求消息

返回响应消息:状态信息和网页数据

WWW应用的编址:URL

统一资源定位符,唯一标识一个资源,对资源进行定位和访问

协议名 :// 主机: 端口号 /文件路径及文件名

例如:http://www.abc.com:8080/example/example.html

缺省值

n 协议名:http

n 端口号:80

n 文件名:index.html

例如:www.abc.com 等同于http://www.abc.com:80/index.html

网页类型

o静态网页(Static web page

n 以文件形式保存

n 不同的用户、不同时间访问,返回结果均一样

o动态网页(Dynamic web page

n 收到浏览器请求后,服务器端动态生成网页

n 示例:CGI脚本

o活跃网页(Active web page

n 收到服务器响应后,客户端动态生成网页

n 示例:Java Applet

HTTP概述

o WWW的应用层协议

o 采用C/S模型

n 客户端浏览器: 发出HTTP请求,接收HTTP响应,向用户呈现网页

n Web服务器: 接收HTTP请求,返回HTTP响应(包含请求的网页数据)

o 传输层采用TCP

o 无状态(Stateless)协议

n服务器端不保存以前的访问记录,对于每个请求都是单独处理

HTTP 的操作过程

(1) 浏览器分析超链接, http://www.abc.com/example.html

(2) 浏览器使用通过DNS获得服务器(www.abc.com)IP地址

(3) 浏览器建立到服务器的TCP连接

(4) 浏览器发送HTTP 请求: GET /example.html HTTP/1.0

(5) 服务器发送HTTP响应

(6) 释放TCP连接

(7) 浏览器显示网页example.html

非持久连接

响应时间:

o 1 ×RTT:建立TCP连接

o 1 ×RTT: 发送HTTP请求、返回HTTP响应

o 网页对象文件传输时间

响应时间 = 2 ×RTT+文件传输时间

Nonpersistent HTTP

(非持久连接)

o 一个连接只传输一个对象

o Server发送响应后,即关闭连接

o 优点:简单

o 缺点:

n 每个对象都会有2× RTT

n 建立TCP连接需要OS开销

n 用户经常需要同时建立多个TCP连接

o HTTP 1.0

 

Persistent HTTP

(持久连接)

o 一个TCP连接可以传输多个对象

o 优点:发送完响应后,Server不关闭连接,在一个TCP连接上可以传输多个对象

o HTTP 1.1

 

持久连接:流水线(pipelining)

Client可以连续发出多个请求,而不必等待前一个请求的响应完成

HTTP消息:请求

HTTP有两类消息:请求(request,响应( response

消息格式:ASCII ,(易读)

HTTP请求消息

 

 

 

HTTP: cookie

Web服务器对于访问用户的标识信息,可用于识别用户、记录用户信息和访问情况

Cookie涉及下列内容:

1) HTTP响应中包含一行set-cookie头信息

2) HTTP请求中包含一行cookie头信息

3) Client主机中保存一个cookie文件,由浏览器管理

4) Server端的后台数据库

 

代理服务器 (Proxy Server)

目的:减轻Web服务器的负担,加快访问速度

在浏览器程序中设置通过代理访问

o 浏览器将所有HTTP请求均发送给代理

n 如果在代理中找到请求的对象,则由代理返回响应

n 否则代理将请求转发给要访问的Web Server,由该Server 响应

n 代理缓存来自WebServer的网页对象

缓存的更新:条件GET

CacheHTTP请求中包含对象的最后更新时间:If-modified-since:<date>

该时间包含在上次访问时ServerHTTP响应中Last-Modified<date>

Server如果没有更新对象,则返回HTTP/1.0 304 Not Modified

HTTP的安全性:HTTPS

HTTPSSLSecure Socket Layer)协议相结合

HTTP隧道(Tunneling

n 隧道:将一个协议数据封装在另一个协议内透明传输的方法

n HTTP隧道:将SSL数据(加密方式、认证信息等)封装在HTTP消息内,代理对于消息中的数据不作处理,直接转发


http://www.kler.cn/a/6924.html

相关文章:

  • Flutter在MaterialApp中的builder初始化多个包
  • 已有docker增加端口号,不用重新创建Docker
  • 递归(3)----力扣40组合数2,力扣473火柴拼正方形
  • 初识Linux · 信号处理 · 续
  • 一体化运维监控管理平台:产品架构与功能解析
  • SpringBoot源码解析(四):解析应用参数args
  • mysql8计算商家距离,按照由近及远排序
  • Hadoop分布式集群安装部署(Redhat 6.4 64位操作系统)
  • 【蓝桥杯嵌入式】蓝桥杯第十二届省赛程序真题,真题分析与代码讲解
  • 新办林业调查设计资质需要符合什么条件,多久能办下来?
  • 【云原生进阶之容器】第五章容器运行时5.4--容器运行时之Firecracker
  • 使用Nginx代理访问服务器的.mp4文件,并使用Vue播放
  • 鲁大师2023年Q1季度电动车报告:九号独占八榜,差异化竞争完成产品破圈
  • Leetcode.404 左叶子之和
  • PCB技巧(二)
  • Python基础(一)
  • 【C语言】关于我回头学的那些基础语法(一)
  • IntelliJ IDEA 2023.1 最新变化
  • 【数据中心】能效诊断和升级改造提高PUE能源利用效率
  • Type javax.servlet.http.HttpServletRequest not present
  • 安全防御 --- 入侵检测 --- IDS、IPS
  • 将Mircrosoft Store下载的Ubuntu安装到指定位置方法,同时解决“你需要来自System的权限才能对此文件进行更改”问题
  • android framework-zygote进程
  • 计算机网络复习笔记(二)体系结构
  • 桌面端编程之精品课程
  • 【Python】轻松掌握基础语法(一)