当前课程知识点:计算机网络 >  第六章 应用层 >  6.4 HTTP >  HTTP

返回《计算机网络》慕课在线视频课程列表

HTTP在线视频

下一节:P2P

返回《计算机网络》慕课在线视频列表

HTTP课程教案、知识点、字幕

你好

这一讲要学习的是

HTTP协议的相关知识

我们首先对HTTP协议

进行简要的概述

将会从HTTP概述

HTTP连接

HTTP消息格式

Cookie技术四个部分

来帮助大家了解HTTP协议

万维网遵循的是什么协议呢

万维网遵循的其实是超文本传输协议

即HTTP(HyperText Transfer Protocol)

而HTTP基于客户机/服务器结构

C/S结构即Client/Sever

在HTTP协议中

C为客户机—Browser

请求、接收、展示Web对象

S是服务器—Web Server

响应客户机的请求

如图显示的是

客户与服务器的交互

HTTP版本有1.0 RFC 1945

1.1 RFC 2068

HTTP使用TCP传输服务分为5个步骤

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

2.浏览器发起到服务器的TCP连接

创建套接字Socket

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

浏览器(HTTP客户端)

与Web服务器(HTTP服务器)

交换HTTP消息

关闭TCP连接

HTTP是无状态的(stateless)

即服务器不维护任何有关

客户端过去所发请求的消息

有状态的协议要更复杂

需要维护状态

状态指的是历史信息

如果客户或服务器失效

会产生状态的不一致

解决这种不一致的代价很高

HTTP连接有两种类型

分别是非持久性连接和持久性连接

非持久性连接每个TCP连接

最多允许传输一个对象

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

而持久性连接每个TCP连接

允许传输多个对象

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

下面我们来详细了解一下

非持久性连接的过程

假定用户在浏览器中输入一个URL

这是一个包含文本和

指向10 个jpeg图片的链接

第一 HTTP客户端

向指定地址的服务器上的

HTTP服务器进程端口80

发起TCP连接请求

HTTP服务器在端口80等待TCP连接请求

接受连接并通知客户端

第二 HTTP客户端将HTTP请求消息

包含URL地址

通过TCP连接的套接字发出

消息中所含的URL

表明客户端需要对象

下面这是一个请求地址

第三 HTTP服务器收到请求消息

解析后

产生包含所需要对象的响应消息

并通过套接字发送客户端

第四 HTTP服务器关闭TCP连接

第五 HTTP客户端收到响应消息

解析html文件

显示html文件

发现有10个指向jpeg对象的超链接

第六 为每个jpeg对象重复步骤1-5

非持久连接有什么问题呢

由于其传输方式导致了

1.每个对象需要2个RTT

这里的RRT指响应时间

从客户端发送一个数据包

到服务端并返回所需时间

2.操作系统需要

为每个TCP连接开销资源

3.浏览器会怎么做

打开多个并行的TCP连接

以获取网页所需对象

给服务器端造成什么影响

相比之下持久连接的优点显而易见

1.发送响应后

服务器保持TCP连接的打开

2.后续的HTTP消息

可以通过这个连接持续发送

由此引出了无流水的持久性连接

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

无流水的持久性连接

客户端只有收到前一个响应后

才发送新的请求

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

拥有流水机制的持久性连接

这是HTTP 1.1版本的默认选项

客户端只要遇到一个引用对象

就尽快发出请求

理想状况下

收到所有的引用对象

只需耗时约1个RTT

HTTP协议有两类消息

1.请求消息

从客户向服务器发送请求报文

2.响应消息

这是从服务器到客户的回答

如图 这是一个HTTP报文的举例

报文中包括了请求行和首部

请求消息可以用ASCII码格式

便于人们可读

接下来给大家讲解HTTP的消息格式

以GET请求为示例

报文格式如下图所示

GET响应报文格式

与请求报文的格式略有不同

如图 有些地方需要注意一下

了解了HTTP的报文

我们会思考到底是如何上传数据的呢

上传数据涉及到对方法的使用

POST方法用于

网页经常需要填写表格

在请求消息的消息体上

上传客户端的输入

URL方法是使用GET方法

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

而GET请求在其他时候

一般用于请求的发起

如资源加载等

发起请求后

会得到响应消息

这个响应消息仍需要我们去了解

一般包括状态、头部、正文

其中的响应状态码

则是判断请求状态的重要依据

成功、失败等

响应代码位于响应消息的第一行

下面是一些例子

基本的格式是状态码

加上解释状态码的简单语句

当出现差错时

网页也会显示响应的信息

如图 这张显示404 not found

意思是没有找到服务器

下面的图显示的是无法找到网页

我们对状态码再进行一遍回顾

这是http中非常重要的一部分

有很多状态码十分常见

我们一一的来介绍

200 这是您最希望看到的

即处理成功

303 表示

我把你redirect到其它的页面

目标的URL通过响应

报文头的Location告诉你

304 表示我把你

把你redirect到其它的页面

目标的URL

通过响应报文头的Location告诉你

404这是你最不希望看到的

即找不到页面

如果你在google上找到一个页面

点击这个链接返回404

表示这个页面已经被网站删除了

500 表示服务器端出现错误

下面我们来体验一下HTTP

看HTTP是怎样为用户提供服务的

首先利用telnet登录某个Web服务器

输入一个HTTP请求

然后我们可以查看HTTP服务器

所返回的响应消息

这时我们获得了一个网页

什么是Cookie

Cookie技术是某些网站

为了辨别用户身份

进行session跟踪

而储存在用户本地终端上的数据

通常经过加密

标准是RFC6265

Cookie的组成包括了

HTTP响应消息的cookie头部行

HTTP请求消息的cookie头部行

保存在客户端主机上的cookie文件

由浏览器管理

以及Web服务器端的后台数据库

Cookie的原理是什么

1. Cookie定义了

HTTP请求头和HTTP响应头

通过这些HTTP头信息

使服务器可以与客户进行状态交互

2. 客户端请求服务器后

如果服务器需要记录用户状态

服务器会在响应信息中

包含一个Set-Cookie的响应头

客户端会根据这个响应头

存储Cookie信息

3. 再次请求服务器时

客户端会在请求信息中

包含一个Cookie请求头

而服务器会根据这个请求头

进行用户身份、状态等校验

Cookie能够用于

身份认证、购物车

推荐、Web e-mail等等

但Cookie在用户的隐私保护问题上

争议很大

现如今

科技巨头们已经开始了

替代Cookie的技术的研究

课程到了尾声

有几个思考问题

Cookie能够怎样被用于收集隐私

能够收集哪些隐私

你在上网的时候感觉到

自己的隐私被严重侵犯吗

事实上Cookie可以记忆您登录的时间

记忆您的用户优先选项、搜索和收藏

跟踪您的网站使用情况

跟踪营销活动的成果

这些均是个人隐私信息

计算机网络课程列表:

第一章 概述

-1.1 计算机网络的发展历程及其在信息时代中的作用

--计算机网络的发展历程及其在信息时代中的作用

-1.2 互联网的组成

--互联网的组成

-1.3 电路交换和分组交换

--电路交换和分组交换

-1.4 计算机网络的性能

--计算机网络的性能

-1.5 计算机网络体系结构和层次划分

--计算机网络体系结构和层次划分

-第一章

第二章 物理层

-2.1 数据通信系统模型

--数据通信系统模型

-2.2 导向型传输媒体

--导向型传输媒体

-2.3 光导纤维

--光导纤维

-2.4 非导向型传输媒体

--非导向型传输媒体

-2.5 信道的极限容量

--信道的极限容量

-2.6 信道复用技术

--信道复用技术

-2.7 ADSL

--ADSL

-第二章

第三章 数据链路层

-3.1 数据链路层的三个基本问题

--数据链路层的三个基本问题

-3.2 CSMA/CD协议

--CSMA/CD协议

-3.3 虚拟局域网

--虚拟局域网

-3.4 扩展的以太网

--扩展的以太网

-3.5 高速以太网

--高速以太网

-第三章

第四章 网络层

-4.1 分类的IP地址-划分子网

--分类的IP地址-划分子网

-4.2 无分类编址-构造超网

--无分类编址-构造超网

-4.3 ICMP协议

--ICMP协议

-4.4 路由器结构

--路由器结构

-4.5 RIP协议

--RIP协议

-4.6 IP多播

--IP多播

-第四章

第五章 运输层

-5.1 用户数据报协议UDP

--用户数据报协议UDP

-5.2 TCP报文段首部格式

--TCP报文段首部格式

-5.3 可靠传输工作原理

--可靠传输工作原理

-5.4 字节为单位的滑动窗口实现

--字节为单位的滑动窗口实现

-第五章

第六章 应用层

-6.1 网络应用层

--网络应用层

-6.2 DNS

--DNS

-6.3 FTP

--FTP

-6.4 HTTP

--HTTP

-6.5 P2P

--P2P

-6.6 计算机网络面临的安全性威胁

--计算机网络面临的安全性威胁

-6.7 防火墙

--防火墙

--第六章

第七章 网络实验

-7.1 交换机基本配置

--交换机基本配置

-7.2 路由器基本配置

--路由器基本配置

-7.3 交换机端口隔离

--交换机端口隔离

-7.4 跨交换机实现相同VLAN通信

--跨交换机实现相同VLAN通信

-7.5 动态路由

--动态路由

-7.6 静态路由

--静态路由

HTTP笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。