【Web应用】

文章介绍了HTTP协议的基本概念,包括HTTP的版本、连接类型(非持久性和持久性连接,以及流水线技术)、消息格式(请求和响应消息的结构),并详细讨论了TCP连接的建立与关闭过程。此外,还探讨了Web缓存和代理服务器的作用,如何通过条件性GET方法优化缓存效率,以及它们对响应时间和网络资源的影响。
摘要由CSDN通过智能技术生成

课程笔记

课程链接:计算机网络_中国大学MOOC(慕课) (icourse163.org)

目录

 一、http协议概述:

二、HTTP连接

1)响应时间与建模 

2)非持久连接的问题

3)持久性连接

4)无流水(pipelining)的持久性连接

5)带有流水机制的持久性连接

三、HTTP消息格式

请求消息

 HTTP响应消息

四、Web缓存/代理服务器技术

条件性GET方法


World Wide Web:Tim Berners-Lee

网页(Web Page):包含多个对象(objects)

网页互相链接

对象的寻址(addressing):URL:统一资源定位器 RFC1738

Scheme://host:port/path

协议://主机:端口号/路径

 一、http协议概述:

采用超文本传输协议:HyperText Transfer Protocol

C/S结构:

        客户——Browser:请求、接收、展示Web对象

        服务器——Web Server:响应客户的请求,发送对象

HTTP版本:1.0 RFC1945 , 1.1 RFC2068

使用TCP传输协议:

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

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

        服务器接受来自浏览器的TCP连接

        浏览器(HTTP客户端)与Web服务器(HTTP服务器)交换HTTP消息

        关闭TCP连接

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

二、HTTP连接

非持久性连接(Nonpersistent HTTP):每个TCP连接最多允许传输一个对象

HTTP 1.0版本使用非持久性连接

持久性连接(Persistent HTTP):每个TCP连接允许传输多个对象

HTTP 1.1版本默认使用持久性连接

 

1)响应时间与建模 

RTT(Round Trip Time):从客户端发送一个很小的数据包到服务器并返回所经历的时间

响应时间(Response time):

        发起、建立TCP连接:1个RTT

        发送HTTP请求消息到HTTP响应时间消息的前几个字节到达:1个RTT

        响应消息中包含的文件/对象传输时间

        Total=2RTT+文件发送时间

2)非持久连接的问题

每个对象需要2个RTT

操作系统需要为每个TCP连接开销资源(overhead)

 浏览器会怎么做?

        打开多个并行的TCP连接以获取网页所需对象

        给服务器造成什么影响

3)持久性连接

发送响应后,服务器保持TCP连接的打开

后组的HTTP消息可以通过这个连接发送

4)无流水(pipelining)的持久性连接

客户端只有收到前一个响应后才发送新的请求

每个被引用的对象耗时1个RTT

5)带有流水机制的持久性连接

HTTP 1.1的默认选项

客户端只要遇到一个引用对象就尽快发出请求

理想情况下,收到所有的引用对象只需耗时越2个RTT

三、HTTP消息格式

 请求消息,响应消息

请求消息

ASCII:人直接可读

第一行:请求行

下面几行:头部行

请求消息的通用格式

POST方法:

        网页经常需要填写表格(form)

        在请求消息的消息体(empty body)中上传客户端的输入

URL方法:

        使用GET方法

        输入信息通过request行的URL字段上传

方法的类型: 

 HTTP响应消息

四、Web缓存/代理服务器技术

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

作用:缩短客户请求的响应时间,减少机构/组织的流量,在大范围(Internet)实现有效的内容分发

实现:在客户和服务器之间架设代理服务器

Web缓存/代理服务器:

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

        浏览器向缓存/代理服务器发送所有的HTTP请求

                如果请求对象在缓存中,缓存返回对象,否则,缓存服务器向原始服务器发送HTTP请求,获取对象,然后返回给客户端并保存该对象

缓存既充当客户端,也充当服务器

一般由ISP(Internet服务提供商)架设

条件性GET方法

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

缓存:在HTTP请求消息中声明所持有版本的日期,if-modified-since:<date>

服务器:如果缓存的版本是最新的,则响应消息不包含对象

                HTTP/1.0 304 Not Modified

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨焰翎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值