计算机网络之应用层

域名系统

DNS是因特网使用的命名系统。

因特网采用层次树状结构的域名命名方法,任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名

这里是名字空间中一个可被管理的划分。域可以划分子域。

如:

mail.cctv.com

分别为三级域名.二级域名.顶级域名
不区分大小写。只能由英文字母和数字组成。
域名只是逻辑概念,不代表计算机所在的物理地点。

域名到IP地址的解析过程如下:

当某一应用进程需要把主机名解析为Ip地址时,该应用进程就调用解析程序,并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器(使用UDP是为了减少开销)。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。应用进程获得目的主机的IP地址后即可进行通信。
若本地域名服务器不能回答该请求,则此域名服务器就暂时称为DNS中的另一个客户,并向其他域名服务器发出查询请求。这种过程直至找到能够回答该请求的域名服务器为止。

域名服务器程序:在专设的结点上运行。

万维网www

万维网用链接的方法能非常方便地从因特网的一个站点访问另一个站点。(也就是所谓的链接到另一个站点),从而主动地按需获取丰富的信息。

万维网使用统一资源定位符URL来标志万维网上的各种文档。

URL

URL的一般形式由以下四个部分组成:

<协议>://<主机>:<端口>/<路径>

其中<主机>就是指该主机在因特网上的域名。

HTTP

HTTP有两类报文:
1. 请求报文:从客户向服务器发送请求报文
2. 响应报文:从服务器到客户的回答。

请求报文和响应报文都是由三部分组成。

  • 开始行:用于区分是请求报文还是响应报文。请求报文中叫开始行,相应报文中叫状态行。
  • 首部行
  • 实体主体

请求报文实例:

一个HTTP请求报文由请求行(request line)、请求头部(header)、空行请求数据4个部分组成

这里写图片描述

①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。不过,当前的大多数浏览器只支持GET和POST,Spring 3.0提供了一个HiddenHttpMethodFilter,允许你通过“_method”的表单参数指定这些特殊的HTTP方法(实际上还是通过POST提交表单)。服务端配置了HiddenHttpMethodFilter后,Spring会根据_method参数指定的值模拟出相应的HTTP方法,这样,就可以使用这些HTTP方法对处理方法进行映射了。

②为请求对应的URL地址,它和报文头的Host属性组成完整的请求URL

③是协议名称及版本号。

④是HTTP的报文头,报文头包含若干个属性,格式为“属性名:属性值”,服务端据此获取客户端的信息。

这里写图片描述

⑤是报文体,它将一个页面表单中的组件值通过param1=value1&param2=value2的键值对形式编码成一个格式化串,它承载多个请求参数的数据。不但报文体可以传递请求参数,请求URL也可以通过类似于“/chapter15/user.html? param1=value1&param2=value2”的方式传递请求参数。

响应报文:

响应也由三个部分组成,分别是:状态行消息报头响应正文

这里写图片描述

①报文协议及版本; ②状态码及状态描述;
③响应报文头,也是由多个属性组成;

这里写图片描述

④响应报文体,即我们真正要的“干货”。

1xx:指示信息–表示请求已接收,继续处理。
2xx:成功–表示请求已被成功接收、理解、接受。
3xx:重定向–要完成请求必须进行更进一步的操作。
4xx:客户端错误–请求有语法错误或请求无法实现。
5xx:服务器端错误–服务器未能实现合法的请求。

200 OK

你最希望看到的,即处理成功!

303 See Other

我把你redirect到其它的页面,目标的URL通过响应报文头的Location告诉你。

304 Not Modified

告诉客户端,你请求的这个资源至你上次取得后,并没有更改,你直接用你本地的缓存吧,我很忙哦,你能不能少来烦我啊!

400 Bad Request:

客户端请求有语法错误,不能被服务器所理解。

401 Unauthorized:

请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用。

403 Forbidden:
服务器收到请求,但是拒绝提供服务。

404 Not Found :
你最不希望看到的,即找不到页面。如你在google上找到一个页面,点击这个链接返回404,表示这个页面已经被网站删除了,google那边的记录只是美好的回忆。

500 Internal Server Error:
服务器发生不可预期的错误。看到这个错误,你就应该查查服务端的日志了,肯定抛出了一堆异常,别睡了,起来改BUG去吧!

503 Server Unavailable:
服务器当前不能处理客户端的请求,一段时间后可能恢复正常

505 HTTP Version Not Supported:服务器不支持请求报文使用的HTTP协议版本。

参考:http://lvwenwen.iteye.com/blog/1570468

动态主机配置协议DHCP

连接到因特网的计算机的协议软件需要配置的项目包括:

  1. IP地址;
  2. 子网掩码
  3. 默认路由器的IP地址;
  4. 域名服务器的IP地址;

为了省去计算机配置IP地址的麻烦,就有了自动协议配置的方法。即动态主机配置协议DHCP。

DHCP过程:

DHCP使用客户-服务器方式。

需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文(目的地址置为全1,即255.255.255.255),这时该主机就成为了DHCP客户。这个主机目前还没有自己的IP地址,因此它将IP数据报的源IP地址设为全0.这样,在本地网络上的所有主机都能接收到这个广播报文,但只有DHCP服务器才对此广播报文进行回答。DHCP服务器先在其数据库中查找该计算机的配置信息。 若找到,则返回找到的信息。若找不到,则从服务器的IP地址池中取一个地址分配该计算机。DHCP服务器的回答报文叫做提供报文,表示提供了IP地址等配置信息。

这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值