TCP/IP协议族之应用层协议 ( DNS HTTP )

域名系统DNS: Domain Name System

    一种分布式的网络目录服务,主要用于域名与IP地址的要互转换。

    使用UDP协议35端口进行通信。

工作方式:为了将一个域名映射到一个IP地址,应用程序调用一个称为解析器的程序,将域名作为参数传送给该程序;解析器将域名封装到一个UDP包中,发送给本地域名服务器;域名服务器将域名映射到IP地址,将IP地址封装到一个UDP包中,发回给解析器,解析器再将IP地址返回给调用者。有了这个IP地址,应用程序就可以与目的方建立一个TCP连接或者发送一个UDP包。

DNS的域名解析服务有两种:正向域名解析和逆向域名解析。

域名解析的方式有两种:递归解析、反复解析。

    递归解析:要求域名服务器一次性完成全部 域名-地址 的转换。

    反复解析:每次请示一个服务器,不行再请求另一个服务器。

递归解析的工作方法:解析器去查询默认的DNS服务器;若该服务器无法解析,则由该服务器再去向另一服务器查询,直到获得解析或解析失败;结果将逐级反馈回来,最后发送给解析器为止。

反复解析的工作方式:解析器去查询默认DNS服务器,若该服务器无法解析,则送回另一个DNS服务器的地址,解析器再去向这个DNS服务器查询;依次下去,直到获得解析或无法获得新的DNS服务器地址为止。如果无法获得新DNS服务器地址,则解析失败。

逆向解析:采用指针询问。例如:

    中山大学域名:sysu.edu.cn , 对应IP网段为 202.116.64.0/24 ,则该域名的反向解析为:64.116.202.in-addr.arpa 。保留网段,忽略主机段,IP网段地址以逆向方式表达。

因特网域名结构:域名中的标号由英文字母和数字组成,每一个标识符不超过63个字符。由多个标号组成的完整域名总共不超过255个字符。

-------------------------------------------------------------------------------------

超文本传输协议HTTP:  Hypertext Transfer Protocol

    是应用层上的一种请求/响应式的协议,实现客户端与服务器的通信,是WWW发布信息的主要协议。

    默认连接端口是TCP80。

HTTP通过 URL ( Uniform Resource Locator, 统一资源定位符 ) 来定位web服务器资源。URL是Internet上用来描述信息资源的字符串,包括服务器的域名、目录和文件。 例如:

    http://www.microsoft.com/windows/default.html

    含义:  http://    代表超文本传输协议

              www.microsoft.com/   代表web服务器域名

              windows/    代表目录

              default.html    是文件目录下的一个html文件

浏览器通过DNS服务器将URL中的域名解析为IP地址,根据IP地址向web服务器发送HTTP请求,web服务器收到HTTP请求后,会回应一个HTTP应答。HTTP应答内容符合HTML ( Hypertext Markup Language, 超文本标记语言 ) 格式。

HTTP工作原理:

<1>. web客户端与web服务器建立TCP连接

<2>. web客户端通过浏览器向web服务器80端口发送HTTP连接请求

<3>. 如果web服务器允许访问,则返回连接确认,双方建立HTTP连接

<4>. web客户端发送HTTP页面请求

<5>. web服务器寻找该HTTP文件,如果找到则返回该文件的超文本。web客户端的浏览器对接收到的超文本进行解析,翻译成格式化的页面,显示给用户

<6>. web服务器发送完HTTP内容后,断开HTTP连接

<7>. 双方断开TCP连接

HTTP有请求( HTTP Request )和响应( HTTP Response)两种报文。

请求报文:

请求格式:request  request-url  HTTP版本号

HTTP/1.0 有三种请求类型:

<1>. GET请求:是以实体的方式得到由请求URL所指定资源的信息,如果请求UTL只是一个数据产生过程,那么最终要在响应实体中的是处理过程的结果所指向的资源,而不 是处理过程的描述。GET是向服务器发索取数据的一种请求。

<2>. HEAD请求:只返回指定文档的首部信息,不包括文档主体。

<3>. POST请求:用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当作请求队列中请求URL所指定资源的附加新子项。POST是向服务器提交数据的一种请求。

响应报文:

状态行以HTTP版本号开始,后面跟随3位数字表示的响应代码,如下:

类型 响应代码 说明

信息 200 OK。请求成功。
201 OK。新的资源建立(POST)。
202 请求被接受, 但处理未完成。
204 OK。但没有内容返回。

重定向 301 所请求的资源已被指派为新的固定的URL
302 所请求的资源临时定位于新的URL
304 文档没有修改 (条件GET)

客户 400 错误的请求
差错 401 未被授权,要求用户认证
403 不明原因的禁止
404 没有找到

服务器 500 内部服务器差错
差错 501 没有实现
502 错误的网关,网关或上游服务器来的无效响应
503 服务器暂时失效

 source url:http://www.cnblogs.com/way_testlife/archive/2010/10/06/1844639.html

原文地址:https://www.cnblogs.com/hnrainll/p/2212262.html