精华内容
下载资源
问答
  • 2017计算机网络技术练习题一、练习题1、以下对IP地址分配中描述正确的是A 同一网络上每台主机必须分配唯一的主机IDB 网络ID能以127开头C 同一网络上每台主机必须有不同的网络IDD 网络ID能全为1或全为02、对...

    2017计算机网络技术练习题

    一、练习题

    1、以下对IP地址分配中描述不正确的是

    A 同一网络上每台主机必须分配唯一的主机ID

    B 网络ID不能以127开头

    C 同一网络上每台主机必须有不同的网络ID

    D 网络ID不能全为1或全为0

    2、对地址转换协议(ARP)描述正确的是

    A ARP封装在IP数据报的数据部分

    B 发送ARP包需要知道对方的MAC地址

    C ARP是用于IP地址到域名的转换

    D ARP是采用广播方式发送的

    3、传输控制协议TCP表述正确的内容是

    A 面向连接的协议,提供可靠的数据传输

    B 面向连接的协议,不提供可靠的数据传输

    C 面向无连接的服务,提供可靠数据的传输

    D 面向无连接的服务,不提供可靠的数据传输

    4、对网际控制协议(ICMP)描述错误的是

    A ICMP封装在IP数据报的数据部分

    B ICMP消息的传输是可靠的

    C ICMP是IP协议的必需的`一个部分

    D ICMP可用来进行拥塞控制

    5、若子网掩码为255.255.0.0,则下列哪个IP地址不在同一网段中

    A 172.25.15.201

    B 172.25.16.15

    C 172.25.201.15

    D 172.16.25.16

    6、在自治系统内部实现路由器之间自动传播可达信息、进行路由选择的协议为

    A IGP

    B BGP

    C EGP

    D GGP

    7、IP地址为224.0.0.11属于那类地址

    A B

    B A

    C D

    D C

    9、对UDP数据报描述不正确的是

    A 是无连接的

    B 是不可靠的

    C 提供消息反馈

    D 不提供确认

    10、下面协议中不属于应用层协议的是

    A ICMP、ARP

    B FTP、TELNET

    C SMTP、POP3

    D HTTP、SNMP

    11、网络层的主要目的是

    A 在邻接节点间进行数据包传输

    B 在邻接节点间进行数据包可靠传输

    C 在任意节点间进行数据包可靠传输

    D 在任意节点间进行数据包传输

    12、为了避免IP地址的浪费,需要对IP地址中的主机号部分进行再次划分,将其划分成两部分,即分成

    A 子网号和网络号 B 子网号和主机号

    C 主机号和网络号 D 子网号和分机号

    展开全文
  • 应用层协议

    2020-04-04 13:59:32
    应用层协议定义了什么 应用层协议定义了运行在不同端系统上的应用程序进程如何相互传递消息。特别是定义了: 交换的消息类型,如请求消息和响应消息。 各种消息类型的语法,如消息中的各个字段及其详细描述。 字段的...

    应用层协议定义了什么

    应用层协议定义了运行在不同端系统上的应用程序进程如何相互传递消息。特别是定义了:
    交换的消息类型,如请求消息和响应消息。
    各种消息类型的语法,如消息中的各个字段及其详细描述。
    字段的语义,即包含在字段中的信息的含义。
    进程何时、如何发送消息及对消息进行响应的规则。
    有些应用层协议是由RFC文档定义的,因此它们位于公共领域,例如HTTP。
    有些应用层协议是公司或者个人私有的,位于私人领域,例如QQ

    应用层具体协议简介

    (1)域名系统( DNS):用于实现网络设备名字到IP地址映射的网络服务。
    (2)文件传输协议 (FTP):用于实现交互式文件传输功能。
    (3)简单邮件传送协议( SMTP):用于实现电子邮箱传送功能。(MIME,POP3,IMAP)
    (4)超文本传输协议( HTTP):用于实现WWW服务。
    (5)简单网络管理协议( SNMP):用于管理与监视网络设备(路由器,交换机等)。
    (6)远程登录协议(Telnet):用于实现远程登录功能。

    在这里插入图片描述

    域名系统DNS

    例:某用户通过主机A浏览西安交大的主页 www.xjtu.edu.cn

    1. A向本地域名服务器DNS查询
    2. 如果DNS上有www.xjtu.edu.cn的记录,就立即返回IP地址给主机A
    3. 如果DNS上没有该域名记录,则DNS向根域名服务器发出查询请求
    4. 根域名服务器把负责cn域的顶级域名服务器B的IP地址告诉DNS
    5. DNS向B查询获得二级域名服务器C的IP地址,最终迭代查询到www.xjtu.edu.cn的ip直接返回DNS

    HTTP(超文本传输协议)

    具体原理见该篇文章
    HTTP功能

    顾名思义,HTTP提供了访问超文本信息的功能,是WWW浏览器和WWW服务器之间的应用层通信协议。一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
    HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。
    ps:万维网
    万维网是存储在Internet计算机中、数量巨大的文档的集合。这些文档称为页面,它是一种超文本( Hypertext)信息。

    HTTP的名字「超文本协议传输」,它可以拆成三个部分:
    1、 超文本—— HTTP 传输的内容是「超文本」
    HTTP 传输的内容是「超文本」。
    我们先来理解「文本」,在互联网早期的时候只是简单的字符文字,但现在「文本」的涵义已经可以扩展为图片、视频、压缩包等,在 HTTP 眼里这些都算做「文本」。
    再来理解「超文本」,它就是超越了普通文本的文本,它是文字、图片、视频等的混合体最关键有超链接,能从一个超文本跳转到另外一个超文本。
    HTML 就是最常见的超文本了,它本身只是纯文字文件,但内部用很多标签定义了图片、视频等的链接,在经过浏览器的解释,呈现给我们的就是一个文字、有画面的网页了。
    2、传输—— HTTP 协议是一个双向协议。
    允许中间有中转或接力。在 HTTP 里,需要中间人遵从 HTTP 协议,只要不打扰基本的数据传输,就可以添加任意额外的东西。
    3、协议——HTTP 是一个在计算机世界里专门用来在两点之间传输数据的约定和规范。
    协议的特点:「协」字,代表的意思是必须有两个以上的参与者;「议」字,代表的意思是对参与者的一种行为约定和规范
    总结: HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范(两个以上的参与者),以及相关的各种控制和错误处理方式(行为约定和规范)。

    HTTP 请求/响应的步骤

    1、客户端连接到Web服务器 (建立一个TCP连接)
    一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口建立一个TCP套接字连接。
    2、发送HTTP请求(发送请求)
    通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,请求报文包含请求的方法、URL、协议版本请求头部和请求数据
    3、服务器接受请求并返回HTTP响应(响应请求)
    Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。
    4、释放连接TCP连接 若connection(关闭连接)
    模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;connection模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;
    5、客户端浏览器解析HTML内容
    客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。

    FTP文件传送协议

    文件传输协议有基于TCP的FTP和基于UDP的简单文件传输协议TFTP 。

    在这里插入图片描述

    Telnet(远程登录)(c/s,tcp)

    远程登录功能允许用户与远程计算机进行动态交互,即用自己的键盘,鼠标等输入设备操纵远程计算机,运行远程计算机上的软件,在自己的显示器上了解运行情况,查看运行结果。

    SNMP (简单网络管理协议)(UDP)

    SNMP:“简单网络管理协议”,用于网络设备管理的协议。 SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。

    展开全文
  • HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的...

    引言

    HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。
    HTTP协议的主要特点可概括如下:
    1.支持客户/服务器模式。
    2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
    3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
    4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
    5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

     

    一、HTTP协议详解之URL篇

        http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。

    HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:
    http://host[":"port][abs_path]
    http表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址;port指定一个端口号,为空则使用缺省端口80;abs_path指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。
    eg:
    1、输入:
    www.guet.edu.cn
    浏览器自动转换成:http://www.guet.edu.cn/
    2、http:192.168.0.116:8080/index.jsp 

     

    二、HTTP协议详解之请求篇

        http请求由三部分组成,分别是:请求行、消息报头、请求正文

    1、请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:Method Request-URI HTTP-Version CRLF  
    其中 Method表示请求方法;Request-URI是一个统一资源标识符;HTTP-Version表示请求的HTTP协议版本;CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。

    请求方法(所有方法全为大写)有多种,各个方法的解释如下:
    GET     请求获取Request-URI所标识的资源
    POST    在Request-URI所标识的资源后附加新的数据
    HEAD    请求获取由Request-URI所标识的资源的响应消息报头
    PUT     请求服务器存储一个资源,并用Request-URI作为其标识
    DELETE  请求服务器删除Request-URI所标识的资源
    TRACE   请求服务器回送收到的请求信息,主要用于测试或诊断
    CONNECT 保留将来使用
    OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
    应用举例:
    GET方法:在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用GET方法向服务器获取资源,eg:GET /form.html HTTP/1.1 (CRLF)

    POST方法要求被请求服务器接受附在请求后面的数据,常用于提交表单。
    eg:POST /reg.jsp HTTP/ (CRLF)
    Accept:image/gif,image/x-xbit,... (CRLF)
    ...
    HOST:www.guet.edu.cn (CRLF)
    Content-Length:22 (CRLF)
    Connection:Keep-Alive (CRLF)
    Cache-Control:no-cache (CRLF)
    (CRLF)         //该CRLF表示消息报头已经结束,在此之前为消息报头
    user=jeffrey&pwd=1234  //此行以下为提交的数据

    HEAD方法与GET方法几乎是一样的,对于HEAD请求的回应部分来说,它的HTTP头部中包含的信息与通过GET请求所得到的信息是相同的。利用这个方法,不必传输整个资源内容,就可以得到Request-URI所标识的资源的信息。该方法常用于测试超链接的有效性,是否可以访问,以及最近是否更新。
    2、请求报头后述
    3、请求正文(略) 

     

    三、HTTP协议详解之响应篇

        在接收和解释请求消息后,服务器返回一个HTTP响应消息。

    HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文
    1、状态行格式如下:
    HTTP-Version Status-Code Reason-Phrase CRLF
    其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。
    状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
    1xx:指示信息--表示请求已接收,继续处理
    2xx:成功--表示请求已被成功接收、理解、接受
    3xx:重定向--要完成请求必须进行更进一步的操作
    4xx:客户端错误--请求有语法错误或请求无法实现
    5xx:服务器端错误--服务器未能实现合法的请求
    常见状态代码、状态描述、说明:
    200 OK      //客户端请求成功
    400 Bad Request  //客户端请求有语法错误,不能被服务器所理解
    401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 
    403 Forbidden  //服务器收到请求,但是拒绝提供服务
    404 Not Found  //请求资源不存在,eg:输入了错误的URL
    500 Internal Server Error //服务器发生不可预期的错误
    503 Server Unavailable  //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
    eg:HTTP/1.1 200 OK (CRLF)

    2、响应报头后述

    3、响应正文就是服务器返回的资源的内容 

     

    四、HTTP协议详解之消息报头篇

        HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成。请求消息和响应消息都是由开始行(对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行),消息报头(可选),空行(只有CRLF的行),消息正文(可选)组成。

    HTTP消息报头包括普通报头、请求报头、响应报头、实体报头。
    每一个报头域都是由名字+“:”+空格+值 组成,消息报头域的名字是大小写无关的。

    1、普通报头
    在普通报头中,有少数报头域用于所有的请求和响应消息,但并不用于被传输的实体,只用于传输的消息。
    eg:
    Cache-Control   用于指定缓存指令,缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响另一个消息处理的缓存机制),HTTP1.0使用的类似的报头域为Pragma。
    请求时的缓存指令包括:no-cache(用于指示请求或响应消息不能缓存)、no-store、max-age、max-stale、min-fresh、only-if-cached;
    响应时的缓存指令包括:public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age、s-maxage.
    eg:为了指示IE浏览器(客户端)不要缓存页面,服务器端的JSP程序可以编写如下:response.sehHeader("Cache-Control","no-cache");
    //response.setHeader("Pragma","no-cache");作用相当于上述代码,通常两者//合用
    这句代码将在发送的响应消息中设置普通报头域:Cache-Control:no-cache


    Date普通报头域表示消息产生的日期和时间

    Connection普通报头域允许发送指定连接的选项。例如指定连接是连续,或者指定“close”选项,通知服务器,在响应完成后,关闭连接

    2、请求报头
    请求报头允许客户端向服务器端传递请求的附加信息以及客户端自身的信息。
    常用的请求报头
    Accept
    Accept请求报头域用于指定客户端接受哪些类型的信息。eg:Accept:image/gif,表明客户端希望接受GIF图象格式的资源;Accept:text/html,表明客户端希望接受html文本。
    Accept-Charset
    Accept-Charset请求报头域用于指定客户端接受的字符集。eg:Accept-Charset:iso-8859-1,gb2312.如果在请求消息中没有设置这个域,缺省是任何字符集都可以接受。
    Accept-Encoding
    Accept-Encoding请求报头域类似于Accept,但是它是用于指定可接受的内容编码。eg:Accept-Encoding:gzip.deflate.如果请求消息中没有设置这个域服务器假定客户端对各种内容编码都可以接受。
    Accept-Language
    Accept-Language请求报头域类似于Accept,但是它是用于指定一种自然语言。eg:Accept-Language:zh-cn.如果请求消息中没有设置这个报头域,服务器假定客户端对各种语言都可以接受。
    Authorization
    Authorization请求报头域主要用于证明客户端有权查看某个资源。当浏览器访问一个页面时,如果收到服务器的响应代码为401(未授权),可以发送一个包含Authorization请求报头域的请求,要求服务器对其进行验证。
    Host(发送请求时,该报头域是必需的)
    Host请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的,eg:
    我们在浏览器中输入:
    http://www.guet.edu.cn/index.html
    浏览器发送的请求消息中,就会包含Host请求报头域,如下:
    Host:
    www.guet.edu.cn
    此处使用缺省端口号80,若指定了端口号,则变成:Host:www.guet.edu.cn:指定端口号
    User-Agent
    我们上网登陆论坛的时候,往往会看到一些欢迎信息,其中列出了你的操作系统的名称和版本,你所使用的浏览器的名称和版本,这往往让很多人感到很神奇,实际上,服务器应用程序就是从User-Agent这个请求报头域中获取到这些信息。User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它属性告诉服务器。不过,这个报头域不是必需的,如果我们自己编写一个浏览器,不使用User-Agent请求报头域,那么服务器端就无法得知我们的信息了。
    请求报头举例:
    GET /form.html HTTP/1.1 (CRLF)
    Accept:image/gif,image/x-xbitmap,image/jpeg,application/x-shockwave-flash,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword,*/* (CRLF)
    Accept-Language:zh-cn (CRLF)
    Accept-Encoding:gzip,deflate (CRLF)
    If-Modified-Since:Wed,05 Jan 2007 11:21:25 GMT (CRLF)
    If-None-Match:W/"80b1a4c018f3c41:8317" (CRLF)
    User-Agent:Mozilla/4.0(compatible;MSIE6.0;Windows NT 5.0) (CRLF)
    Host:www.guet.edu.cn (CRLF)
    Connection:Keep-Alive (CRLF)
    (CRLF)

    3、响应报头
    响应报头允许服务器传递不能放在状态行中的附加响应信息,以及关于服务器的信息和对Request-URI所标识的资源进行下一步访问的信息。
    常用的响应报头
    Location
    Location响应报头域用于重定向接受者到一个新的位置。Location响应报头域常用在更换域名的时候。
    Server
    Server响应报头域包含了服务器用来处理请求的软件信息。与User-Agent请求报头域是相对应的。下面是
    Server响应报头域的一个例子:
    Server:Apache-Coyote/1.1
    WWW-Authenticate
    WWW-Authenticate响应报头域必须被包含在401(未授权的)响应消息中,客户端收到401响应消息时候,并发送Authorization报头域请求服务器对其进行验证时,服务端响应报头就包含该报头域。
    eg:WWW-Authenticate:Basic realm="Basic Auth Test!"  //可以看出服务器对请求资源采用的是基本验证机制。


    4、实体报头
    请求和响应消息都可以传送一个实体。一个实体由实体报头域和实体正文组成,但并不是说实体报头域和实体正文要在一起发送,可以只发送实体报头域。实体报头定义了关于实体正文(eg:有无实体正文)和请求所标识的资源的元信息。
    常用的实体报头
    Content-Encoding
    Content-Encoding实体报头域被用作媒体类型的修饰符,它的值指示了已经被应用到实体正文的附加内容的编码,因而要获得Content-Type报头域中所引用的媒体类型,必须采用相应的解码机制。Content-Encoding这样用于记录文档的压缩方法,eg:Content-Encoding:gzip
    Content-Language
    Content-Language实体报头域描述了资源所用的自然语言。没有设置该域则认为实体内容将提供给所有的语言阅读
    者。eg:Content-Language:da
    Content-Length
    Content-Length实体报头域用于指明实体正文的长度,以字节方式存储的十进制数字来表示。
    Content-Type
    Content-Type实体报头域用语指明发送给接收者的实体正文的媒体类型。eg:
    Content-Type:text/html;charset=ISO-8859-1
    Content-Type:text/html;charset=GB2312
    Last-Modified
    Last-Modified实体报头域用于指示资源的最后修改日期和时间。
    Expires
    Expires实体报头域给出响应过期的日期和时间。为了让代理服务器或浏览器在一段时间以后更新缓存中(再次访问曾访问过的页面时,直接从缓存中加载,缩短响应时间和降低服务器负载)的页面,我们可以使用Expires实体报头域指定页面过期的时间。eg:Expires:Thu,15 Sep 2006 16:23:12 GMT
    HTTP1.1的客户端和缓存必须将其他非法的日期格式(包括0)看作已经过期。eg:为了让浏览器不要缓存页面,我们也可以利用Expires实体报头域,设置为0,jsp中程序如下:response.setDateHeader("Expires","0");

     

    五、利用telnet观察http协议的通讯过程

        实验目的及原理:
        利用MS的telnet工具,通过手动输入http请求信息的方式,向服务器发出请求,服务器接收、解释和接受请求后,会返回一个响应,该响应会在telnet窗口上显示出来,从而从感性上加深对http协议的通讯过程的认识。

        实验步骤:

    1、打开telnet
    1.1 打开telnet
    运行-->cmd-->telnet

    1.2 打开telnet回显功能
    set localecho

    2、连接服务器并发送请求
    2.1 open 
    www.guet.edu.cn 80  //注意端口号不能省略

        HEAD /index.asp HTTP/1.0
        Host:www.guet.edu.cn
        
       /*我们可以变换请求方法,请求桂林电子主页内容,输入消息如下*/
        open 
    www.guet.edu.cn 80 
       
        GET /index.asp HTTP/1.0  //请求资源的内容
        Host:www.guet.edu.cn  

    2.2 open www.sina.com.cn 80  //在命令提示符号下直接输入telnet www.sina.com.cn 80
        HEAD /index.asp HTTP/1.0
        Host:www.sina.com.cn
     

    3 实验结果:

    3.1 请求信息2.1得到的响应是:

    HTTP/1.1 200 OK                                              //请求成功
    Server: Microsoft-IIS/5.0                                    //web服务器
    Date: Thu,08 Mar 200707:17:51 GMT
    Connection: Keep-Alive                                 
    Content-Length: 23330
    Content-Type: text/html
    Expries: Thu,08 Mar 2007 07:16:51 GMT
    Set-Cookie: ASPSESSIONIDQAQBQQQB=BEJCDGKADEDJKLKKAJEOIMMH; path=/
    Cache-control: private

    //资源内容省略

    3.2 请求信息2.2得到的响应是:

    HTTP/1.0 404 Not Found       //请求失败
    Date: Thu, 08 Mar 2007 07:50:50 GMT
    Server: Apache/2.0.54 <Unix>
    Last-Modified: Thu, 30 Nov 2006 11:35:41 GMT
    ETag: "6277a-415-e7c76980"
    Accept-Ranges: bytes
    X-Powered-By: mod_xlayout_jh/0.0.1vhs.markII.remix
    Vary: Accept-Encoding
    Content-Type: text/html
    X-Cache: MISS from zjm152-78.sina.com.cn
    Via: 1.0 zjm152-78.sina.com.cn:80<squid/2.6.STABLES-20061207>
    X-Cache: MISS from th-143.sina.com.cn
    Connection: close


    失去了跟主机的连接

    按任意键继续...

    4 .注意事项:1、出现输入错误,则请求不会成功。
              2、报头域不分大小写。
              3、更深一步了解HTTP协议,可以查看RFC2616,在
    http://www.letf.org/rfc上找到该文件。
              4、开发后台程序必须掌握http协议

    六、HTTP协议相关技术补充

        1、基础:
        高层协议有:文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和HTTP协议等
    中介由三种:代理(Proxy)、网关(Gateway)和通道(Tunnel),一个代理根据URI的绝对格式来接受请求,重写全部或部分消息,通过 URI的标识把已格式化过的请求发送到服务器。网关是一个接收代理,作为一些其它服务器的上层,并且如果必须的话,可以把请求翻译给下层的服务器协议。一 个通道作为不改变消息的两个连接之间的中继点。当通讯需要通过一个中介(例如:防火墙等)或者是中介不能识别消息的内容时,通道经常被使用。
         代理(Proxy):一个中间程序,它可以充当一个服务器,也可以充当一个客户机,为其它客户机建立请求。请求是通过可能的翻译在内部或经过传递到其它的 服务器中。一个代理在发送请求信息之前,必须解释并且如果可能重写它。代理经常作为通过防火墙的客户机端的门户,代理还可以作为一个帮助应用来通过协议处 理没有被用户代理完成的请求。
    网关(Gateway):一个作为其它服务器中间媒介的服务器。与代理不同的是,网关接受请求就好象对被请求的资源来说它就是源服务器;发出请求的客户机并没有意识到它在同网关打交道。
    网关经常作为通过防火墙的服务器端的门户,网关还可以作为一个协议翻译器以便存取那些存储在非HTTP系统中的资源。
        通道(Tunnel):是作为两个连接中继的中介程序。一旦激活,通道便被认为不属于HTTP通讯,尽管通道可能是被一个HTTP请求初始化的。当被中继 的连接两端关闭时,通道便消失。当一个门户(Portal)必须存在或中介(Intermediary)不能解释中继的通讯时通道被经常使用。

    2、协议分析的优势—HTTP分析器检测网络攻击
    以模块化的方式对高层协议进行分析处理,将是未来入侵检测的方向。
    HTTP及其代理的常用端口80、3128和8080在network部分用port标签进行了规定

    3、HTTP协议Content Lenth限制漏洞导致拒绝服务攻击
    使用POST方法时,可以设置ContentLenth来定义需要传送的数据长度,例如ContentLenth:999999999,在传送完成前,内 存不会释放,攻击者可以利用这个缺陷,连续向WEB服务器发送垃圾数据直至WEB服务器内存耗尽。这种攻击方法基本不会留下痕迹。
    http://www.cnpaf.net/Class/HTTP/0532918532667330.html

    4、利用HTTP协议的特性进行拒绝服务攻击的一些构思
    服务器端忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称作:服务器端受到了SYNFlood攻击(SYN洪水攻击)。
    而Smurf、TearDrop等是利用ICMP报文来Flood和IP碎片攻击的。本文用“正常连接”的方法来产生拒绝服务攻击。
    19端口在早期已经有人用来做Chargen攻击了,即Chargen_Denial_of_Service,但是!他们用的方法是在两台Chargen 服务器之间产生UDP连接,让服务器处理过多信息而DOWN掉,那么,干掉一台WEB服务器的条件就必须有2个:1.有Chargen服务2.有HTTP 服务
    方法:攻击者伪造源IP给N台Chargen发送连接请求(Connect),Chargen接收到连接后就会返回每秒72字节的字符流(实际上根据网络实际情况,这个速度更快)给服务器。

    5、Http指纹识别技术
       Http指纹识别的原理大致上也是相同的:记录不同服务器对Http协议执行中的微小差别进行识别.Http指纹识别比TCP/IP堆栈指纹识别复杂许 多,理由是定制Http服务器的配置文件、增加插件或组件使得更改Http的响应信息变的很容易,这样使得识别变的困难;然而定制TCP/IP堆栈的行为 需要对核心层进行修改,所以就容易识别.
          要让服务器返回不同的Banner信息的设置是很简单的,象Apache这样的开放源代码的Http服务器,用户可以在源代码里修改Banner信息,然 后重起Http服务就生效了;对于没有公开源代码的Http服务器比如微软的IIS或者是Netscape,可以在存放Banner信息的Dll文件中修 改,相关的文章有讨论的,这里不再赘述,当然这样的修改的效果还是不错的.另外一种模糊Banner信息的方法是使用插件。
    常用测试请求:
    1:HEAD/Http/1.0发送基本的Http请求
    2:DELETE/Http/1.0发送那些不被允许的请求,比如Delete请求
    3:GET/Http/3.0发送一个非法版本的Http协议请求
    4:GET/JUNK/1.0发送一个不正确规格的Http协议请求
    Http指纹识别工具Httprint,它通过运用统计学原理,组合模糊的逻辑学技术,能很有效的确定Http服务器的类型.它可以被用来收集和分析不同Http服务器产生的签名。

    6、其他:为了提高用户使用浏览器时的性能,现代浏览器还支持并发的访问方式,浏览一个网页时同时建立多个连接,以迅速获得一个网页上的多个图标,这样能更快速完成整个网页的传输。
    HTTP1.1中提供了这种持续连接的方式,而下一代HTTP协议:HTTP-NG更增加了有关会话控制、丰富的内容协商等方式的支持,来提供
    更高效率的连接。

    展开全文
  • TCP/IP协议簇之应用层

    千次阅读 2020-02-05 19:31:04
    1.应用层概述 2. DNS协议 3. HTTP协议 --------------------------------------------------------------------------------------------------------------------------- 一、应用层概述 1.1、应用层简介 应...

    TCP/IP协议簇系列目录

    OSI七层模型及各层功能概述

    TCP/IP协议簇概述

    TCP/IP协议簇之物理层

    TCP/IP协议簇之数据链路层

    TCP/IP协议簇之网络层

    TCP/IP协议簇之传输层

    TCP/IP协议簇之应用层

    TCP/IP协议簇之HTTP协议

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

    一、应用层概述

    1.1、应用层简介

           应用层也称为应用实体,是开放系统的最高层,作用是直接和应用程序接口并提供常见的网络应用服务。应用层也向表示层发出请求。

    1.2、应用层中的应用软件分两种:客户/服务器和P2P体系结构

      1)客户/服务器(client/server)

        这种类型,就是我们很熟悉的客户端,服务器模型,客户端请求服务器,服务器响应客户端这样的一种方式进行“交流”

      2)P2P

        也称为对等体系结构。P2P相当于每个人的电脑度可以当服务器,也可以当客户端,不单单限制于只能客户端访问服务器,你自己的计算机可以去访问别人的计算机上的内容,别的同样可以访问你计算机上的内容,这样达到一种共享的状态。

    二、DNS协议

    2.1、DNS协议概述

      Domain Name System 域名系统。也可以叫做域名解析协议。在我们在浏览器访问网页的时候,通常度是用我们所熟悉的一连串有意义的英文字符标识,比如www.baidu.com、www.sohu.com等。但是计算机并不是通过这些字符串去找到对应的计算机,而是通过32位的二进制,也就是我们的IP地址来找。所以就有了DNS协议,作用就是将域名解析成对应的IP地址。

    2.2、DNS协议工作过程

      当 DNS 客户机需要查询程序中使用的名称时,它会查询本地DNS 服务器来解析该名称。客户机发送的每条查询消息都包括3条信息,以指定服务器应回答的问题。

    1. 指定的 DNS 域名,表示为完全合格的域名 (FQDN) 。
    2. 指定的查询类型,它可根据类型指定资源记录,或作为查询操作的专门类型。
    3. DNS域名的指定类别。

           对于DNS 服务器,它始终应指定为 Internet 类别。例如,指定的名称可以是计算机的完全合格的域名,如im.qq.com,并且指定的查询类型用于通过该名称搜索地址资源记录。DNS 查询以各种不同的方式进行解析。客户机有时也可通过使用从以前查询获得的缓存信息就地应答查询。DNS 服务器可使用其自身的资源记录信息缓存来应答查询,也可代表请求客户机来查询或联系其他 DNS 服务器,以完全解析该名称,并随后将应答返回至客户机。这个过程称为递归。

    借鉴博文:https://www.zhihu.com/question/21950864

                      https://blog.csdn.net/u010256388/article/details/68491509

    展开全文
  • 传统的Web应用中,浏览器与服务器交互都是半双工通信(但并完全是半双工通信,服务器无法主动向浏览器推送)。 ps:什么是单攻,半双工,全双工 根据信息的传送方向,【串行通信】可以进一步分为单工、半双工和全...
  • 应用层常见协议——知识点

    万次阅读 多人点赞 2018-04-18 15:10:09
    这里总结了三种常见的应用层协议:HTTP、FTP、SMTP。供自己复习使用,也供大家参考!一、HTTP协议1、HTTP简介—超文本传输协议(Hypertext transfer protocol)...—HTTP协议作为TCP/IP模型中应用层协议例外。HT...
  • 应用层安全协议的五个种类

    千次阅读 2020-03-11 16:07:51
    应用层安全协议 五个种类 http PGP S/MIME RSA DES Kerberos
  • 应用层】DNS协议

    千次阅读 2019-05-26 20:48:20
    和 HTTP、FTP 和 SMTP 协议一样,DNS 协议应用层协议,它同样是采用客户-服务端模式运行在通信的端系统之间。DNS 协议运行在 UDP 之上,采用的端口号是 53。在 Windows/Linux 的命令行窗口下,我们可以输入 ...
  • 应用层主要包含的协议有:文件传送协议FTP、超文本传送协议HTTP FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机...
  • 应用层协议 在传输层之上,便是应用层。传输层的UDP报文和TCP报文段的数据部分就是应用层交付的数据。 不同类型的网络应用有不同的通信规则,因此应用层协议都是多种多样的,比如DNS、FTP、Telent、SMTP、HTTP、RIP...
  • http协议详解1、HTTP协议:超文本传输协议是一种分布式、合作式、多媒体信息系统服务,面向应用层协议。是一种通用的,分状态的协议。是一种请求/应答协议。 1.1、HTTP/1.0和HTTP/1.1的比较RFC 1945定义了...
  • 应用层(http协议) http与https区别

    千次阅读 2018-10-20 19:06:00
    协议分层的TCP/IP(或四层)通讯协议采用了5层的层级结构,5层分别包括:应用层、传输层、网络层、数据链路层、物理层。5层具体 一.应用层 程序员写的一些网络程序都在应用层。 ...
  • 一、TCP/IP协议各层作用 协议层 关键元素 作用 数据链路层 ...依靠MAC地址,构建同子网主机到主机的数据包传输链路 ...依靠IP地址,构建源子网到目标子网的数据包传输链路 ...应用层 ...二、应用层协...
  • TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。  在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。  在传输层中有TCP协议与UDP协议。  在应用层有:TCP包括FTP、HTTP、TELNET、SMT
  • 应用层协议: 1、远程登录协议(Telnet) 2、文件传输协议(FTP) 3、超文本传输协议(HTTP) 4、域名服务协议(DNS) 5、简单邮件传输协议(SMTP) 6、邮局协议(POP3)   其中,从网络上...
  • 信号的传输总要符合一定的协议(protocol)。比如说长城上放狼烟,是因为人们已经预先设定好狼烟这个物理信号代表了“敌人入侵”这一抽象信号。这样一个“狼烟=敌人入侵”就是一个简单的协议协议可以更复杂,比如...
  •  (1)每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议。  (2)应用层...
  • TCP/IP 关于一些在应用层协议

    千次阅读 2017-11-05 18:37:07
    了解应用层协议的作用及其端口号Telnet:端口号为23,功能:远程管理 而在Linux中为SSH 端口号为22FTP(File Transfer Protocol):文本传输协议 端口号: 20 和21一个端口用于控制,一个端口用于传输数据TFTP:简单...
  • 物联网应用层协议之MQTT学习笔记

    千次阅读 2018-12-23 15:43:48
    目录 概述 工作原理 通信流程 MQTT协议一些概念 MQTT协议数据包结构 ...协议示例 ... 物联网时代,每个...MQTT协议(Message Queuing Telemetry Transport),即消息队列遥测传输协议。它是一种基于发布/订阅(pu...
  • 应用层协议概要 应用协议的定义 应用协议协议的分层 相当于OSI中第5、第6、第7层的协议 远程登录 TELNET 选项 TELNET客户端 SSH 文件传输 FTP的工作机制概要 通过ASCII码字符串进行的交互处理 电子...
  • 应用层协议与硬件)   OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 。 完成中继功能的节点通常...
  • 1、TCP、UDP不是应用层协议,是传输层协议。 2、应用层所谓的应用,就是为了一个具体的应用场景而做的协议应用层协议之间的区别,就是应用之间的区别。HTTP和FTP有什么区别,就是HTTP用来传输超文本而FTP用来传...
  • OSI七层协议在网络传输中扮演的角色及功能:7、应用层——–电脑的各种数据6、表示层 ——– 处理用户信息的表示问题,如编码、数据格式转换和加密解密5、会话层——–会话管理、会话流量控制、寻址、寻址4、传输层...
  • 本文是计算机网络中最顶层——应用层的知识讲解,主要是万维网的相关知识和HTTP、SMTP等协议的讲解。
  • 一:三种体系结构的比较osi七层体系结构tcp/ip四层协议结构五层协议的结构7:应用层4:应用层(各种应用层协议):5:应用层6:表示层 5:会话层 4:运输层3:运输层(tcp/ip)4:运输层3:网络层:2:网际层ip3:网络层...
  • 计算机网络——应用层

    千次阅读 多人点赞 2021-08-15 16:22:59
    应用层协议 在传输层之上,便是应用层。传输层的 UDP 报文和 TCP 报文段的数据部分就是应用层交付的数据。 应用层直接为用户提供服务,应用层有很多协议,每一个协议对应着计算机上的一个服务。 不同类型的网络应用...
  • 应用层协议与硬件)   OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 。 完成中继功能...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 102,175
精华内容 40,870
关键字:

以下协议不属于应用层