第六章 应用层

第六章 应用层

DHCP协议

1.概述

我们都知道,如果给主机人工配置信息可能会导致错误并且十分麻烦,我们可以将这个工作交给一个软件来做。如果我们想要获取IP地址等信息,就向运行着这个软件的主机发送我们的请求,然后主机给我们我们需要的配置信息,这样就可以了。

DHCP(Dynamic Host Configuration Protocol)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。(百度百科)

如果你在局域网中,分配的ip就是局域网ip,地址段包括一下几个部分:

10.0.0.0~10.255.255.255/8
172.16.0.0~172.31.255.255/16
192.168.0.0~192.168.255.255/24

如果是在公网,那么分配的IP地址肯定就是除了以上私有地址以外的地址了:
1.0.0.0~223.255.255.255之间(除去保留地址)就是了!

2.DHCP的作用

在这里插入图片描述

3.DHCP中继代理

我们知道,如果在一个局域网中发送广播信息,路由器不会转发。但是我们又不想设置太多的DHCP服务器,所以我们可以将路由器设置为中继服务器,由它来转发广播报文给DHCP服务器。

在这里插入图片描述

DNS

在这里插入图片描述

电子邮件

在这里插入图片描述

在这里插入图片描述

为什么我们使用QQ邮箱能发送给使用谷歌邮箱的用户?

​ 因为我们我们使用的客户端软件发送给腾讯的服务器,腾讯的服务器中保存着我们的邮件,然后将我们的邮件发送给谷歌的服务器,当我们的朋友打开客户端的时候,就可以访问谷歌的服务器,然后找到我们给他发送的邮件。

HTTP协议

在浏览器中输入url回车之后会发生什么

域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --> 浏览器对页面进行渲染呈现给用户
URL简介

http概述

超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。

http本身是无连接的,它只是使用了面向连接的运输层的TCP协议,保证了数据的可靠传输。虽然http使用了tcp连接,但是通信的双方在交换http报文之前不必建立连接。
http是无状态的,也就是说,同一个客户第二次访问服务器上的统一个页面的时候,服务器的操作是一样的。这样做的优点是,不需要维护客户端的信息,简化了服务器的设计,让服务器可以支持大量的连接。

http连接方式

1.非持久连接:close

http/1.0采用非持久连接。每次浏览器请求一个文件,都要与服务器建立TCP连接,当受到响应之后立即关闭连接。

缺点:每次请求一个文档都会有两倍的RTT开销。以前对于那些静态页面还好,现如今网页内容很丰富,如果网页上有很多连接,呢没打开一个连接就要有2RTT时间的开销。
浏览器会维护很多资源。
在这里插入图片描述

2.持久连接:keep-Alive

在这里插入图片描述
HTTP/1.1的持续连接有两种工作方式:非流水线方式,流水线方式。

非流水线方式特点是,用户在未收到上一条响应之前不会发送下一条请求。因为服务器在发送完一个对象后,TCP连接就处于了空闲状态,浪费了服务器的资源。
流水线方式的特点是,在用户收到http响应报文之前,就能够发送下一条报文。是TCP链接中的空闲减少,大大的挑高了效率。

http报文格式

http有两种报文格式:请求报文和响应报文。

1.请求报文

在这里插入图片描述

首行使用了相对的URL地址是因为,下面的首部行写明的主机的域名host。

在这里插入图片描述

GET 和 POST方法的区别:post方法用来获取传输实体的主体,虽然有时候get方法也可以获得传输实体的主体,但是一般不使用get,get主要用来请求URL指定的文档资源。
在这里插入图片描述
在这里插入图片描述

OPETIONS:可以用来查询针对请求URL指定的资源支持的方法;
在这里插入图片描述

CONNECT方法要求在通信的时候与代理服务器建立隧道,实现用隧道协议进行通信。主要使用SSL.TSL协议把信内容加密后经过网络隧道进行传输。
格式:CONNECT 代理服务器名:端口号 协议版本

2.响应报文

每一个请求报文发出之后都能收到一个响应报文,响应报文也是三部分组成。
短语是指解释状态码的短语。
在这里插入图片描述
在这里插入图片描述
状态码的含义:
在这里插入图片描述

在服务器上存放用户的信息——Cookie

cookie介绍

早期的上网需求很简单,浏览一些静态的网页,所以http被设计成是无状态的,但是现在有些时候我们却需要知道用户的一些状态信息,比如购物网站需要维护购物车里的信息,保存登录的账号和密码等操作。要做到这一点,可以再HTTP中使用cookie。
cookie愿意是小甜饼的意思,在这里指的是服务器和客户传递的信息。很多网站现在已经使用了cookie。Cookie提供了一种机制使得万维网服务器能够“记住”用户,而无需用户主动提供用户标识信息。也就说,Cookie是一种对无状态的HTTP进行状态化的技术。

工作过程
在这里插入图片描述
我们以这张图来看,当客户A浏览某个使用cookie的网站的时候,该网站的服务器就会维A产生一个惟一的识别码,并以此作为索引在网站的后端服务器的数据库中建立一个项目。接着再给A的响应报文中添加一个Set-cookie的首部行。例如:

Set-cookie: 12345678

当A收到这个响应报文后,其浏览器就会在他管理特定的Cookie文件中添加一行,其中航包括这个服务器主机的主机名和Set-cookie后面给出的是捏吗。当A继续浏览这个网页的时候,每发送一个请求报文,其浏览器就会从Cookie文件中取出这个网站的识别码,并放到HTTP请求报文的Cookie首部行中,例如:

Cookie:12345678

于是,这个网站就能够跟踪用户A在该网站的活动。其实服务器并不知道用户A的真实姓名和其他信息,但是服务器可以知道用户A在神秘时候访问了什么页面。如果A是在网上购物,那么服务器可以为他维护一个列表记录加入购物车中的商品。

代理服务器

在这里插入图片描述
如果原始服务器的内容更新了怎么版?

是这样处理的,代理服务器通常会为每个响应的对象设置有效日期字段(Expired)和修改时间字段(Last-Modified)来表示对象的状态。
当判断这个对象没有过期,就返回这个对象给客户。
当判断这个对象过期了,就会重新想原始服务器请求资源,如果发现资源并没有改变,就重新设置上面的两个字段。如果过期了就更新对象。

在这里插入图片描述
在这里插入图片描述

一个题目

在这里插入图片描述

HTTP与HTTPS的区别

HTTP与HTTPS的区别
HTTP与HTTPS的区别
SSL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值