精华内容
下载资源
问答
  • 请简要描述客户端发送的http request header都包含哪些内容? 解答: HTTP Request header 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序...

    问题描述:

    请简要描述客户端发送的http request header都包含哪些内容?

    解答:

     

    HTTP Request header

    当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HTTP Response,  关于Fiddler工具的用法,请看我另一篇博客[Fiddler 教程]

     

    阅读目录

    什么是HTTP协议

    协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器

     

    目前我们使用的是HTTP/1.1 版本

    Web服务器,浏览器,代理服务器

    当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。 原理是怎样的呢?

    实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request, Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器, 浏览器解析Response中的HTML,这样我们就看到了网页,过程如下图所示

     

     

     

    我们的Request 有可能是经过了代理服务器,最后才到达Web服务器的。

    过程如下图所示

     

    代理服务器就是网络信息的中转站,有什么功能呢?

    1. 提高访问速度, 大多数的代理服务器都有缓存功能。

    2. 突破限制, 也就是翻墙了

    3. 隐藏身份。

     

    URL详解

     URL(Uniform Resource Locator) 地址用于描述一个网络上的资源,  基本格式如下

    schema://host[:port#]/path/.../[?query-string][#anchor]

    scheme               指定低层使用的协议(例如:http, https, ftp)

    host                   HTTP服务器的IP地址或者域名

    port#                 HTTP服务器的默认端口是80,这种情况下端口号可以省略。如果使用了别的端口,必须指明,例如 http://www.cnblogs.com:8080/

    path                   访问资源的路径

    query-string       发送给http服务器的数据

    anchor-             锚

     

    URL 的一个例子

    http://www.mywebsite.com/sj/test/test.aspx?name=sviergn&x=true#stuff
    
    Schema:                 http
    host:                   www.mywebsite.com
    path:                   /sj/test/test.aspx
    Query String:           name=sviergn&x=true
    Anchor:                 stuff

     

    HTTP协议是无状态的

    http协议是无状态的,同一个客户端的这次请求和上次请求是没有对应关系,对http服务器来说,它并不知道这两个请求来自同一个客户端。 为了解决这个问题, Web程序引入了Cookie机制来维护状态.

     

    HTTP消息的结构

    先看Request 消息的结构,   Request 消息分为3部分,第一部分叫Request line, 第二部分叫Request header, 第三部分是body. header和body之间有个空行, 结构如下图

    第一行中的Method表示请求方法,比如"POST","GET",  Path-to-resoure表示请求的资源, Http/version-number 表示HTTP协议的版本号

    当使用的是"GET" 方法的时候, body是为空的

    比如我们打开博客园首页的request 如下

    GET http://www.cnblogs.com/ HTTP/1.1
    Host: www.cnblogs.com

    抽象的东西,难以理解,老感觉是虚的, 所谓眼见为实, 实际见到的东西,我们才能理解和记忆。 我们今天用Fiddler,实际的看看Request和Response.

    下面我们打开Fiddler 捕捉一个博客园登录的Request 然后分析下它的结构, 在Inspectors tab下以Raw的方式可以看到完整的Request的消息,   如下图

     

    我们再看Response消息的结构, 和Request消息的结构基本一样。 同样也分为三部分,第一部分叫Response line, 第二部分叫Response header,第三部分是body. header和body之间也有个空行,  结构如下图

    HTTP/version-number表示HTTP协议的版本号,  status-code 和message 请看下节[状态代码]的详细解释.

    我们用Fiddler 捕捉一个博客园首页的Response然后分析下它的结构, 在Inspectors tab下以Raw的方式可以看到完整的Response的消息,   如下图

     

     

    Get和Post方法的区别

    Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。 我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息.

    我们看看GET和POST的区别

    1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456.  POST方法是把提交的数据放在HTTP包的Body中.

    2. GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.

    3. GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。

    4. GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.

     

    状态码

    Response 消息中的第一行叫做状态行,由HTTP协议版本号, 状态码, 状态消息 三部分组成。

    状态码用来告诉HTTP客户端,HTTP服务器是否产生了预期的Response.

    HTTP/1.1中定义了5类状态码, 状态码由三位数字组成,第一个数字定义了响应的类别

    1XX  提示信息 - 表示请求已被成功接收,继续处理

    2XX  成功 - 表示请求已被成功接收,理解,接受

    3XX  重定向 - 要完成请求必须进行更进一步的处理

    4XX  客户端错误 -  请求有语法错误或请求无法实现

    5XX  服务器端错误 -   服务器未能实现合法的请求

     

    看看一些常见的状态码

    200 OK

    最常见的就是成功响应状态码200了, 这表明该请求被成功地完成,所请求的资源发送回客户端

    如下图, 打开博客园首页

     

    302 Found

    重定向,新的URL会在response 中的Location中返回,浏览器将会自动使用新的URL发出新的Request

    例如在IE中输入, http://www.google.com. HTTP服务器会返回302, IE取到Response中Location header的新URL, 又重新发送了一个Request.

     

    304 Not Modified

    代表上次的文档已经被缓存了, 还可以继续使用,

    例如打开博客园首页, 发现很多Response 的status code 都是304

    提示: 如果你不想使用本地缓存可以用Ctrl+F5 强制刷新页面

     

    400 Bad Request  客户端请求与语法错误,不能被服务器所理解

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

    404 Not Found

    请求资源不存在(输错了URL)

    比如在IE中输入一个错误的URL, http://www.cnblogs.com/tesdf.aspx

     

    500 Internal Server Error 服务器发生了不可预期的错误

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

     

    使用Fiddler 能很方便的查看Reques header, 点击Inspectors tab ->Request tab-> headers  如下图所示.

    header 有很多,比较难以记忆,我们也按照Fiddler那样把header 进行分类,这样比较清晰也容易记忆。

    Cache 头域

    If-Modified-Since

    作用: 把浏览器端缓存页面的最后修改时间发送到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行对比。如果时间一致,那么返回304,客户端就直接使用本地缓存文件。如果时间不一致,就会返回200和新的文件内容。客户端接到之后,会丢弃旧文件,把新文件缓存起来,并显示在浏览器中.

    例如:If-Modified-Since: Thu, 09 Feb 2012 09:07:57 GMT

    实例如下图

     

    If-None-Match

    作用: If-None-Match和ETag一起工作,工作原理是在HTTP Response中添加ETag信息。 当用户再次请求该资源时,将在HTTP Request 中加入If-None-Match信息(ETag的值)。如果服务器验证资源的ETag没有改变(该资源没有更新),将返回一个304状态告诉客户端使用本地缓存文件。否则将返回200状态和新的资源和Etag.  使用这样的机制将提高网站的性能

    例如: If-None-Match: "03f2b33c0bfcc1:0"

    实例如下图

     

    Pragma

    作用: 防止页面被缓存, 在HTTP/1.1版本中,它和Cache-Control:no-cache作用一模一样

    Pargma只有一个用法, 例如: Pragma: no-cache

    注意: 在HTTP/1.0版本中,只实现了Pragema:no-cache, 没有实现Cache-Control

     

    Cache-Control

    作用: 这个是非常重要的规则。 这个用来指定Response-Request遵循的缓存机制。各个指令含义如下

    Cache-Control:Public   可以被任何缓存所缓存()

    Cache-Control:Private     内容只缓存到私有缓存中

    Cache-Control:no-cache  所有内容都不会被缓存

    还有其他的一些用法, 我没搞懂其中的意思, 请大家参考其他的资料

     

    Client 头域

    Accept

    作用: 浏览器端可以接受的媒体类型,

    例如:  Accept: text/html  代表浏览器可以接受服务器回发的类型为 text/html  也就是我们常说的html文档,

    如果服务器无法返回text/html类型的数据,服务器应该返回一个406错误(non acceptable)

    通配符 * 代表任意类型

    例如  Accept: */*  代表浏览器可以处理所有类型,(一般浏览器发给服务器都是发这个)

     

    Accept-Encoding:

    作用: 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate),(注意:这不是只字符编码);

    例如: Accept-Encoding: gzip, deflate

     

    Accept-Language

    作用: 浏览器申明自己接收的语言。 

    语言跟字符集的区别:中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等;

    例如: Accept-Language: en-us

     

    User-Agent

    作用:告诉HTTP服务器, 客户端使用的操作系统和浏览器的名称和版本.

    我们上网登陆论坛的时候,往往会看到一些欢迎信息,其中列出了你的操作系统的名称和版本,你所使用的浏览器的名称和版本,这往往让很多人感到很神奇,实际上,服务器应用程序就是从User-Agent这个请求报头域中获取到这些信息User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它属性告诉服务器。

    例如: User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; CIBA; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; InfoPath.2; .NET4.0E)

     

    Accept-Charset

    作用:浏览器申明自己接收的字符集,这就是本文前面介绍的各种字符集和字符编码,如gb2312,utf-8(通常我们说Charset包括了相应的字符编码方案);

    例如:

     

    Cookie/Login 头域

    Cookie:

    作用: 最重要的header, 将cookie的值发送给HTTP 服务器

    Entity头域

    Content-Length

    作用:发送给HTTP服务器数据的长度。

    例如: Content-Length: 38

     

    Content-Type

    作用:

    例如:Content-Type: application/x-www-form-urlencoded

     

    Miscellaneous 头域

    Referer:

    作用: 提供了Request的上下文信息的服务器,告诉服务器我是从哪个链接过来的,比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。

    例如: Referer:http://translate.google.cn/?hl=zh-cn&tab=wT

    Transport 头域

    Connection

    例如: Connection: keep-alive   当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接

    例如:  Connection: close  代表一个Request完成后,客户端和服务器之间用于传输HTTP数据的TCP连接会关闭, 当客户端再次发送Request,需要重新建立TCP连接。

     

    Host(发送请求时,该报头域是必需的)

    作用: 请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的

    例如: 我们在浏览器中输入:http://www.guet.edu.cn/index.html

    浏览器发送的请求消息中,就会包含Host请求报头域,如下:

    Host:http://www.guet.edu.cn

    此处使用缺省端口号80,若指定了端口号,则变成:Host:指定端口号

     

    HTTP Response header

    同样使用Fiddler 查看Response header, 点击Inspectors tab ->Response tab-> headers  如下图所示

     我们也按照Fiddler那样把header 进行分类,这样比较清晰也容易记忆。

    Cache头域

    Date

    作用:  生成消息的具体时间和日期

    例如: Date: Sat, 11 Feb 2012 11:35:14 GMT 

     

    Expires

    作用: 浏览器会在指定过期时间内使用本地缓存

    例如: Expires: Tue, 08 Feb 2022 11:35:14 GMT

     

    Vary

    作用:

    例如: Vary: Accept-Encoding

     

    Cookie/Login 头域

    P3P

    作用: 用于跨域设置Cookie, 这样可以解决iframe跨域访问cookie的问题

    例如: P3P: CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR

     

    Set-Cookie

    作用: 非常重要的header, 用于把cookie 发送到客户端浏览器, 每一个写入cookie都会生成一个Set-Cookie.

    例如: Set-Cookie: sc=4c31523a; path=/; domain=.acookie.taobao.com

     

    Entity头域

    ETag

    作用:  和If-None-Match 配合使用。 (实例请看上节中If-None-Match的实例)

    例如: ETag: "03f2b33c0bfcc1:0"

     

    Last-Modified:

    作用: 用于指示资源的最后修改日期和时间。(实例请看上节的If-Modified-Since的实例)

    例如: Last-Modified: Wed, 21 Dec 2011 09:09:10 GMT

     

    Content-Type

    作用:WEB服务器告诉浏览器自己响应的对象的类型和字符集,

    例如:

    Content-Type: text/html; charset=utf-8

    Content-Type:text/html;charset=GB2312

    Content-Type: image/jpeg

     

    Content-Length

    指明实体正文的长度,以字节方式存储的十进制数字来表示。在数据下行的过程中,Content-Length的方式要预先在服务器中缓存所有数据,然后所有数据再一股脑儿地发给客户端。

    例如: Content-Length: 19847

     

    Content-Encoding

    WEB服务器表明自己使用了什么压缩方法(gzip,deflate)压缩响应中的对象。

    例如:Content-Encoding:gzip

     

    Content-Language

    作用: WEB服务器告诉浏览器自己响应的对象的语言者

    例如: Content-Language:da

     

    Miscellaneous 头域

    Server:

    作用:指明HTTP服务器的软件信息

    例如:Server: Microsoft-IIS/7.5

     

    X-AspNet-Version:

    作用:如果网站是用ASP.NET开发的,这个header用来表示ASP.NET的版本

    例如: X-AspNet-Version: 4.0.30319

    X-Powered-By:

    作用:表示网站是用什么技术开发的

    例如: X-Powered-By: ASP.NET

     

    Transport头域

    Connection

    例如: Connection: keep-alive   当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接

    例如:  Connection: close  代表一个Request完成后,客户端和服务器之间用于传输HTTP数据的TCP连接会关闭, 当客户端再次发送Request,需要重新建立TCP连接。

    Location头域

    Location

    作用: 用于重定向一个新的位置, 包含新的URL地址

     实例请看304状态实例

     

    HTTP协议是无状态的和Connection: keep-alive的区别

    无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。从另一方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系

    HTTP是一个无状态的面向连接的协议,无状态不代表HTTP不能保持TCP连接,更不能代表HTTP使用的是UDP协议(无连接)

    从HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,简单地说,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接

     Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间

    展开全文
  • 简要描述客户端发送的http request header都包含哪些内容 HTTP Request header 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序...

    简要描述客户端发送的http request header都包含哪些内容

    HTTP Request header

    当今web程序的开发技术真是百家争鸣,ASP.NETPHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HTTP Response,  关于Fiddler工具的用法,请看我另一篇博客[Fiddler 教程]

     

    阅读目录

    什么是HTTP协议

    协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器

     

    目前我们使用的是HTTP/1.1 版本

    Web服务器,浏览器,代理服务器

    当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。 原理是怎样的呢?

    实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request, Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器, 浏览器解析Response中的HTML,这样我们就看到了网页,过程如下图所示

     

     

     

    我们的Request 有可能是经过了代理服务器,最后才到达Web服务器的。

    过程如下图所示

     

    代理服务器就是网络信息的中转站,有什么功能呢?

    1. 提高访问速度, 大多数的代理服务器都有缓存功能。

    2. 突破限制, 也就是翻墙了

    3. 隐藏身份。

     

    URL详解

     URL(Uniform Resource Locator) 地址用于描述一个网络上的资源,  基本格式如下

    schema://host[:port#]/path/.../[?query-string][#anchor]

    scheme               指定低层使用的协议(例如:http, https, ftp)

    host                   HTTP服务器的IP地址或者域名

    port#                 HTTP服务器的默认端口是80,这种情况下端口号可以省略。如果使用了别的端口,必须指明,例如 http://www.cnblogs.com:8080/

    path                   访问资源的路径

    query-string       发送给http服务器的数据

    anchor-             锚

     

    URL 的一个例子

    http://www.mywebsite.com/sj/test/test.aspx?name=sviergn&x=true#stuff
    
    Schema:                 http
    host:                   www.mywebsite.com
    path:                   /sj/test/test.aspx
    Query String:           name=sviergn&x=true
    Anchor:                 stuff

     

    HTTP协议是无状态的

    http协议是无状态的,同一个客户端的这次请求和上次请求是没有对应关系,对http服务器来说,它并不知道这两个请求来自同一个客户端。 为了解决这个问题, Web程序引入了Cookie机制来维护状态.

     

    HTTP消息的结构

    先看Request 消息的结构,   Request 消息分为3部分,第一部分叫Request line, 第二部分叫Request header, 第三部分是body. header和body之间有个空行, 结构如下图

    第一行中的Method表示请求方法,比如"POST","GET",  Path-to-resoure表示请求的资源, Http/version-number 表示HTTP协议的版本号

    当使用的是"GET" 方法的时候, body是为空的

    比如我们打开博客园首页的request 如下

    GET http://www.cnblogs.com/ HTTP/1.1
    Host: www.cnblogs.com

    抽象的东西,难以理解,老感觉是虚的, 所谓眼见为实, 实际见到的东西,我们才能理解和记忆。 我们今天用Fiddler,实际的看看Request和Response.

    下面我们打开Fiddler 捕捉一个博客园登录的Request 然后分析下它的结构, 在Inspectors tab下以Raw的方式可以看到完整的Request的消息,   如下图

     

    我们再看Response消息的结构, 和Request消息的结构基本一样。 同样也分为三部分,第一部分叫Response line, 第二部分叫Response header,第三部分是body. header和body之间也有个空行,  结构如下图

    HTTP/version-number表示HTTP协议的版本号,  status-code 和message 请看下节[状态代码]的详细解释.

    我们用Fiddler 捕捉一个博客园首页的Response然后分析下它的结构, 在Inspectors tab下以Raw的方式可以看到完整的Response的消息,   如下图

     

     

    Get和Post方法的区别

    Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。 我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息.

    我们看看GET和POST的区别

    1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456.  POST方法是把提交的数据放在HTTP包的Body中.

    2. GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.

    3. GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。

    4. GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.

     

    状态码

    Response 消息中的第一行叫做状态行,由HTTP协议版本号, 状态码, 状态消息 三部分组成。

    状态码用来告诉HTTP客户端,HTTP服务器是否产生了预期的Response.

    HTTP/1.1中定义了5类状态码, 状态码由三位数字组成,第一个数字定义了响应的类别

    1XX  提示信息 - 表示请求已被成功接收,继续处理

    2XX  成功 - 表示请求已被成功接收,理解,接受

    3XX  重定向 - 要完成请求必须进行更进一步的处理

    4XX  客户端错误 -  请求有语法错误或请求无法实现

    5XX  服务器端错误 -   服务器未能实现合法的请求

     

    看看一些常见的状态码

    200 OK

    最常见的就是成功响应状态码200了, 这表明该请求被成功地完成,所请求的资源发送回客户端

    如下图, 打开博客园首页

     

    302 Found

    重定向,新的URL会在response 中的Location中返回,浏览器将会自动使用新的URL发出新的Request

    例如在IE中输入, http://www.google.com. HTTP服务器会返回302, IE取到Response中Location header的新URL, 又重新发送了一个Request.

     

    304 Not Modified

    代表上次的文档已经被缓存了, 还可以继续使用,

    例如打开博客园首页, 发现很多Response 的status code 都是304

    提示: 如果你不想使用本地缓存可以用Ctrl+F5 强制刷新页面

     

    400 Bad Request  客户端请求与语法错误,不能被服务器所理解

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

    404 Not Found

    请求资源不存在(输错了URL)

    比如在IE中输入一个错误的URL, http://www.cnblogs.com/tesdf.aspx

     

    500 Internal Server Error 服务器发生了不可预期的错误

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

     

    使用Fiddler 能很方便的查看Reques header, 点击Inspectors tab ->Request tab-> headers  如下图所示.

    header 有很多,比较难以记忆,我们也按照Fiddler那样把header 进行分类,这样比较清晰也容易记忆。

    Cache 头域

    If-Modified-Since

    作用: 把浏览器端缓存页面的最后修改时间发送到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行对比。如果时间一致,那么返回304,客户端就直接使用本地缓存文件。如果时间不一致,就会返回200和新的文件内容。客户端接到之后,会丢弃旧文件,把新文件缓存起来,并显示在浏览器中.

    例如:If-Modified-Since: Thu, 09 Feb 2012 09:07:57 GMT

    实例如下图

     

    If-None-Match

    作用: If-None-Match和ETag一起工作,工作原理是在HTTP Response中添加ETag信息。 当用户再次请求该资源时,将在HTTP Request 中加入If-None-Match信息(ETag的值)。如果服务器验证资源的ETag没有改变(该资源没有更新),将返回一个304状态告诉客户端使用本地缓存文件。否则将返回200状态和新的资源和Etag.  使用这样的机制将提高网站的性能

    例如: If-None-Match: "03f2b33c0bfcc1:0"

    实例如下图

     

    Pragma

    作用: 防止页面被缓存, 在HTTP/1.1版本中,它和Cache-Control:no-cache作用一模一样

    Pargma只有一个用法, 例如: Pragma: no-cache

    注意: 在HTTP/1.0版本中,只实现了Pragema:no-cache, 没有实现Cache-Control

     

    Cache-Control

    作用: 这个是非常重要的规则。 这个用来指定Response-Request遵循的缓存机制。各个指令含义如下

    Cache-Control:Public   可以被任何缓存所缓存()

    Cache-Control:Private     内容只缓存到私有缓存中

    Cache-Control:no-cache  所有内容都不会被缓存

    还有其他的一些用法, 我没搞懂其中的意思, 请大家参考其他的资料

     

    Client 头域

    Accept

    作用: 浏览器端可以接受的媒体类型,

    例如:  Accept: text/html  代表浏览器可以接受服务器回发的类型为 text/html  也就是我们常说的html文档,

    如果服务器无法返回text/html类型的数据,服务器应该返回一个406错误(non acceptable)

    通配符 * 代表任意类型

    例如  Accept: */*  代表浏览器可以处理所有类型,(一般浏览器发给服务器都是发这个)

     

    Accept-Encoding:

    作用: 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate),(注意:这不是只字符编码);

    例如: Accept-Encoding: gzip, deflate

     

    Accept-Language

    作用: 浏览器申明自己接收的语言。 

    语言跟字符集的区别:中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等;

    例如: Accept-Language: en-us

     

    User-Agent

    作用:告诉HTTP服务器, 客户端使用的操作系统和浏览器的名称和版本.

    我们上网登陆论坛的时候,往往会看到一些欢迎信息,其中列出了你的操作系统的名称和版本,你所使用的浏览器的名称和版本,这往往让很多人感到很神奇,实际上,服务器应用程序就是从User-Agent这个请求报头域中获取到这些信息User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它属性告诉服务器。

    例如: User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; CIBA; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; InfoPath.2; .NET4.0E)

     

    Accept-Charset

    作用:浏览器申明自己接收的字符集,这就是本文前面介绍的各种字符集和字符编码,如gb2312,utf-8(通常我们说Charset包括了相应的字符编码方案);

    例如:

     

    Cookie/Login 头域

    Cookie:

    作用: 最重要的header, 将cookie的值发送给HTTP 服务器

    Entity头域

    Content-Length

    作用:发送给HTTP服务器数据的长度。

    例如: Content-Length: 38

     

    Content-Type

    作用:

    例如:Content-Type: application/x-www-form-urlencoded

     

    Miscellaneous 头域

    Referer:

    作用: 提供了Request的上下文信息的服务器,告诉服务器我是从哪个链接过来的,比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。

    例如: Referer:http://translate.google.cn/?hl=zh-cn&tab=wT

    Transport 头域

    Connection

    例如: Connection: keep-alive   当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接

    例如:  Connection: close  代表一个Request完成后,客户端和服务器之间用于传输HTTP数据的TCP连接会关闭, 当客户端再次发送Request,需要重新建立TCP连接。

     

    Host(发送请求时,该报头域是必需的)

    作用: 请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的

    例如: 我们在浏览器中输入:http://www.guet.edu.cn/index.html

    浏览器发送的请求消息中,就会包含Host请求报头域,如下:

    Host:http://www.guet.edu.cn

    此处使用缺省端口号80,若指定了端口号,则变成:Host:指定端口号

     

    HTTP Response header

    同样使用Fiddler 查看Response header, 点击Inspectors tab ->Response tab-> headers  如下图所示

     我们也按照Fiddler那样把header 进行分类,这样比较清晰也容易记忆。

    Cache头域

    Date

    作用:  生成消息的具体时间和日期

    例如: Date: Sat, 11 Feb 2012 11:35:14 GMT 

     

    Expires

    作用: 浏览器会在指定过期时间内使用本地缓存

    例如: Expires: Tue, 08 Feb 2022 11:35:14 GMT

     

    Vary

    作用:

    例如: Vary: Accept-Encoding

     

    Cookie/Login 头域

    P3P

    作用: 用于跨域设置Cookie, 这样可以解决iframe跨域访问cookie的问题

    例如: P3P: CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR

     

    Set-Cookie

    作用: 非常重要的header, 用于把cookie 发送到客户端浏览器, 每一个写入cookie都会生成一个Set-Cookie.

    例如: Set-Cookie: sc=4c31523a; path=/; domain=.acookie.taobao.com

     

    Entity头域

    ETag

    作用:  和If-None-Match 配合使用。 (实例请看上节中If-None-Match的实例)

    例如: ETag: "03f2b33c0bfcc1:0"

     

    Last-Modified:

    作用: 用于指示资源的最后修改日期和时间。(实例请看上节的If-Modified-Since的实例)

    例如: Last-Modified: Wed, 21 Dec 2011 09:09:10 GMT

     

    Content-Type

    作用:WEB服务器告诉浏览器自己响应的对象的类型和字符集,

    例如:

    Content-Type: text/html; charset=utf-8

    Content-Type:text/html;charset=GB2312

    Content-Type: image/jpeg

     

    Content-Length

    指明实体正文的长度,以字节方式存储的十进制数字来表示。在数据下行的过程中,Content-Length的方式要预先在服务器中缓存所有数据,然后所有数据再一股脑儿地发给客户端。

    例如: Content-Length: 19847

     

    Content-Encoding

    WEB服务器表明自己使用了什么压缩方法(gzip,deflate)压缩响应中的对象。

    例如:Content-Encoding:gzip

     

    Content-Language

    作用: WEB服务器告诉浏览器自己响应的对象的语言者

    例如: Content-Language:da

     

    Miscellaneous 头域

    Server:

    作用:指明HTTP服务器的软件信息

    例如:Server: Microsoft-IIS/7.5

     

    X-AspNet-Version:

    作用:如果网站是用ASP.net开发的,这个header用来表示ASP.Net的版本

    例如: X-AspNet-Version: 4.0.30319

    X-Powered-By:

    作用:表示网站是用什么技术开发的

    例如: X-Powered-By: ASP.NET


    Transport头域

    Connection

    例如: Connection: keep-alive   当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接

    例如:  Connection: close  代表一个Request完成后,客户端和服务器之间用于传输HTTP数据的TCP连接会关闭, 当客户端再次发送Request,需要重新建立TCP连接。

    Location头域

    Location

    作用: 用于重定向一个新的位置, 包含新的URL地址

     实例请看304状态实例

     

    HTTP协议是无状态的和Connection: keep-alive的区别

    无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。从另一方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系

    HTTP是一个无状态的面向连接的协议,无状态不代表HTTP不能保持TCP连接,更不能代表HTTP使用的是UDP协议(无连接)

    从HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,简单地说,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接

     Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间

    展开全文
  • 那么对于网络协议这一项内容,http协议请求方法都有哪些?是网络安全人员必须要会的知识。 GET方法:获取资源 GET方法是用来请求URL指定的资源。指定资源经服务器端解析后返回响应内容。 作用在于获取资源。它可以...

    http协议请求方法有哪些?都有什么作用?网络安全是现下较为火热的职业技术之一,学习网络安全技能的人们越来越多。那么对于网络协议这一项内容,http协议请求方法都有哪些?是网络安全人员必须要会的知识。

    GET方法:获取资源

    GET方法是用来请求URL指定的资源。指定资源经服务器端解析后返回响应内容。

    作用在于获取资源。它可以用于URL查询字符串的形式向所请求的资谏发送参数。这使用户可将一个包含动态资源的URL标注为书签,用户自己或其他用户随后可重复利用该书签来获取等价的资源(作用与标注为书签的搜索查询相似)。URL显示在屏幕上.并被记录在许多地方,如浏览器的历史记录和Web服务器的访问日志中。如果单击外部链接,还可以用Referer消息头将它们传送到其他站点。因此,请勿使用查询字符申传送任何敏感信息。

    POST方法:传输实体主题

    POST方法用来传输实体的主体的主要作用是执行操作。使用这个方法可以在URL查询字符申与消息主体中发送请求参数。尽管仍然可以将URL标注为书签,但书签中并不包含消息主体发送的任何参数。许多维护URL日志的位置及Referer消息头也将这些参数排除在外。因为POST方法旨在执行操作,如果用户单击浏览器上的“后退”按钮,返回一个使用这种方法访问的页面,那么浏览器不会自动重新发送请求,而是就即将发生的操作向用户发出带告.如图3-1所示。这样做可防止用户无意中多次执行同一个操作。因此.在执行某一操作时必须使用POST请求。

    HEAD方法:获取报文首部

    HEAD方法和GET方法一样,只是不返回报文主体部分。用于确认URL的有效性及资源更新的日期时间等。

    这个方法的功能与GET方法相似,不同之处在于服务器不会在其响应中返回消息主体。服务器返回的消息头应与对应GET请求返回的消息头相同。因此,这种方法可用于检查某一资源在向其提交GET请求前是否存在。

    TRACE方法

    这种方法主要用于诊断。服务器应在响应主体中返回其收到的请求消息的具体内容。这种方法可用于检测客户端与服务器之间是否存在任何操纵请求的代理服务器。

    OPTIONS方法:询问支持的方法

    OPTIONS方法用来查询针对请求URL指定的资源支持的方法。

    这种方法要求服务器报告对某一特殊资源有效的HTTP方法。服务器通常返回一个包含Allow消息头的响应,并在其中列出所有有效的方法。

    PUT方法:传输文件

    PUT方法用来传输文件。像FTP协议的文件上传一样,要求在请求报文主体中包含文件的内容,然后保存到请求URL指定的位置。不太常用。

    这个方法试图使用包含在请求主体中的内容,向服务器上传指定的资源。如果激活这个方法,渗透测试员就可以利用它来攻击应用程序。例如,通过上传任意一段脚本并在服务器上执行该脚本来攻击应用程序。

    DELETE方法:删除文件

    DELETE方法用来删除文件,是PUT的相反方法。DELETE方法按请求URL删除指定的资源。也不常用。

    以上便是“http协议请求方法有哪些?都有什么作用?”的相关介绍。

    展开全文
  • 1、 能够知道面试官讲的具体内容,即包含哪些技术点 比如分布式系统中常用的RPC技术,其背后就涉及到网络IO、网络协议、服务发现、RPC服务治理(限流、熔断、降级)、负载均衡等。 2、 能够清楚各类技术之间的区别...

    每一个技术方向的背后都包含了众多技术细节,以开发一个分布式系统来说,需要分布式存储/数据库/缓存、中间件、RPC、消息系统、分布式一致性处理等多种技术。怎么去解决这些问题呢?

    1、 能够知道面试官讲的具体内容,即包含了哪些技术点
    比如分布式系统中常用的RPC技术,其背后就涉及到网络IO、网络协议、服务发现、RPC服务治理(限流、熔断、降级)、负载均衡等。

    2、 能够清楚各类技术之间的区别和联系
    在分布式系统领域中,有很多相似技术点,但又分布在不同的产品或层级中。比如负载均衡,DNS、LVS、Ngnix、F5等产品都能实现,而且在大型分布式系统中他们会同时存在,那么就要搞清楚他们各自的位于什么层级,解决了什么问题。
    如果你仔细去观察,高阶PHP总是能对整个技术体系了如指掌,从而在系统设计与技术选型阶段就能够做出较为合理的架构。而PHP学到极致势必涉及到设计模式,Swoole协程编程、微服务、多线程、Laravel核心架构等不一而足;为了帮助大家进阶PHP高级、架构师,给大家整理了一下高级PHP学习体系!学习需要坚持,耐心,时间!

    一:常见模式与框架推荐课程,点击
    学习PHP技术体系,设计模式,流行的框架

    1 常见的设计模式,编码必备
    2 Laravel、TP开发必不可少的最新框架
    3 YII、Symfony4.1核心源码剖析

    二:微服务架构与性能优化 【推荐课程:点击
    业务体系越来越复杂,Swoole协程编程,PHP并发编程、MySQL底层优化是架构升级的必经之路,PHP性能优化和微服务架构相关的技术有哪些呢?

    Tars分布式RPC框架
    Swoft微服务框架
    服务器性能优化
    算法与数据结构

    三:工程化与分布式架构
    任何脱离细节的PPT架构师都是耍流氓,向上能运筹帷幄,向下能解决一线开发问题,PHP架构师需深入工程化、高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:

    Linux操作/shell脚本编程
    docker容器/自动化部署
    分布式缓存/消息中间件
    分布式架构原理/高并发分流

    能掌握以上技术这些人必然具备在技术上有独当一面的能力,然而,除了你必备技能外,你还需要必备哪些条件呢?以下给大家讲讲

    一、平静的心态
    和大多数程序员一样,要敲一手好的代码,当然没有好的心态是不行的。遇事不可急躁,不可轻言放弃。

    在开发过程中,尤其是初中级,写出的程序或架构会遇到很多问题,其中一些问题比较弱智,而有些问题根本没有碰到过,这时候不可太过急躁,应该逐个排查问题的最初源泉,将其干掉。急躁的心态去开发系统是对项目的一种不负责。急躁会让人学会将就,让人学会逃避。

    为什么将心态列入其中,我是想说明:PHP开发不同于销售的职能,不需要很大激情澎湃,而是需要静静的思考。

    二、一套烂熟于心的问题解决思路
    每解决一个bug,就给自己一个提升。的确,没有真正解决过无数的bug或问题的程序员,谈不上专家,谈不上高级程序员。而一个高级程序员正是从这种解决问题的过程中不断的历练自己,形成一套烂熟于心的问题解决思路,要自己强大的。

    这里简单说一下PHP程序员成长过程中经常遇到的一些问题,如果你一个也没遇到或很少遇到,那么您就是两个极端的人:要么初级入门,要么高级了。

    1、编码问题
    2、PHP和SQL数据库执行效率问题
    3、Session和Cookie域和加密解析问题
    4、程序的执行顺序问题
    5、程序编写的多环境适用问题
    6、分类的构建和结构设计问题
    7、字符串处理问题:正则表达式处理或简单PHP字符串处理函数来处理
    8、各种模板引擎的编写局限性问题
    9、PHP和web端数据交互问题(如ajax,接口调用等)

    三、过硬的PHP基础知识
    没有过硬的PHP基础知识,哪怕心态再好,问题解决的能力再强,也只能纸上谈兵。过硬的基础知识会让你在项目开发过程中游刃有余。

    我也简单说说哪些属于PHP工程师所应具备的基础知识(其实这些在招聘需求中很常见):
    1、语法规则,这个不说了,这个不会,就没入门。

    2、MYSQL各种sql语句的写法,增删改查基本的不说了,in(),union,left(),leftjoin,as,replace,altertable,where的字段排序,各种索引建立的方法要特别熟悉。

    3、会自己搭建LAMP环境和WAMP环境,用集成软件一键式安装的不算。开发程序,对于自己开发的环境构建结构都不清楚,怎么排查问题?所以至少要会用对立的msi文件来安装自己需要的开发环境。安装3-5遍成功,这个算还行,还得会安装各种扩展,配置apache服务,知道各种参数设置的地方以及知道怎么设置各种参数;会linux操作系统的基本命令。

    4、熟悉Web方面的其他程序,因为PHP不是一个完全独立的东西,他是一个和其他语言和要素配合来完成一个项目的,如果对其他语言和要素不太熟悉,在团队协作过程中会非常吃力。这些其他要素包括:html,javascript,jquery,xml,http协议,正则表达式等

    四、综合的互联网应用及项目管理知识和素养
    1、见识广博,擅于学习
    只顾自己专研,不看看、学学人家的做法,会像井底之蛙,难以看到广阔的天空的。所以,不要只顾着天天编程,学会抽点时间去看看一些大型开源系统的架构思路,以及大型商务网站的构建方式。向他们学习,补充自己的不足。

    比如至少该晓得不同类型的开源系统有哪些吧,比如Uchome,dede,phpcms,wordpress,discuz,帝国等等,看多了,你也会总结发现一些常规性的思路,比如缓存的机制,比如模板机制,比如静态页面生成等等。

    2、项目解决方案选型
    不同需求,用不同的机构和选型。也就是常说的"水来土掩,兵来将挡",有些架构固然强大,但是用于小型项目也会很吃力,就是杀机不用牛刀。根据需求来选型很重要。

    选型不是随口就能定的,需要一个PHP程序员用于良好的储备,个人觉得至少需要以下储备,才具备选型能力。熟练应用至少一个PHP框架,两三个PHP开源系统;拥有自己的一套应用系统。

    3、良好的项目管理素养
    项目不是一直开发过程中,项目也会进入运营期,维护期,这样,具备良好的项目管理素养会使项目更加稳定,可控。

    良好的项目管理素养包括:
    良好的项目开发及维护习惯,记住:千万别为了一时的省力,造成后面多次的重复劳动。时时提醒自己将工作流程化,流程规划化,规范简单化。

    良好的多人合作管理意识:项目不是一个人的,是多人协作的产物,也是服务于大众的,因而,要提升协作意识,让相关人员一同来完善项目。

    4、丰富的项目开发应用经验
    学理论,去考试或考核是学校里面的事儿,没有项目经验,就像满肚子经文,吐也难吐出。这就需要实际的项目将自己的知识去学会转化为需求实现。

    5、良好的开发规范
    代码可读性强:对象,方法,函数的注释,一套成熟的命名规范
    代码冗余度底:程序和文件的重用性大,高内聚,低耦合
    执行效率高:用最简单的程序流程实现应用需求,勿扰大弯子
    代码安全性好:做一名警惕的程序员,任何有用户输入和上传文件的地方都得额外谨慎,也许一个程序员一时的疏忽就会导致一个系统顷刻间崩溃。

    为了更好的学习PHP,小编推荐一套视频教程,有助于你提升PHP技能

    重在技术你的技术技能。

    Web全栈开发之高性能PHP亿级架构视频教程
    〖课程介绍〗
    Web全栈开发之高性能PHP亿级架构视频教程由优才网录制,通过34节课的讲解,对Web PHP 全栈中调优、高性能、亿级构架做了详细的剖析解答,课程详细内容可见下面的目录介绍。

    〖课程目录〗
    高性能网站开发功力提升篇
    第一讲 - 开学典礼以及工程师成长路线图
    第二讲 - 一个好的页面是怎么炼成的及HTML5 应用介绍
    第三讲 - LNMP架构与Socket、HTTP协议
    第四讲 - Web工程师的开发工具箱
    第五讲 - 编写高效的JS以及前端的魔鬼细节
    第六讲 - 编写一个全功能的购物车
    第七讲 - 多级分类的开发与应用
    第八讲 - 设计安全的登录注册流程
    第九讲 - 前端性能提升与前端架构优化的秘密
    第十讲 - 使用第三方云服务加速产品开发
    第十一讲 - 拥抱移动互联网之API开发

    后端高手炼成与底层了解篇
    第十二讲 - PHP函数库总结、验证码与PHP图像处理实践
    第十三讲 - 互联网数据抓取实践
    第十四讲 - PHP文本的输入输出与安全问题
    第十五讲 - 编写高效的PHP程序实践
    第十六讲 - 设计模式
    第十七讲 - PHP开发的分层设计与实现
    第十八讲 - 常用的开发库和框架的使用和开发
    第十九讲 - 创建和使用高效的数据库
    第二十讲 - 强大的Shell
    第二十一讲 - PHP 扩展开发初步
    第二十二讲 - Nginx 原理及模块开发初步

    性能优化与亿级架构篇
    第二十三讲 - WebIM 的原理及前后端实现
    第二十四讲 - 全文检索的实践与部署
    第二十五讲 - 构建本机缓存、 构建分布式的缓存池
    第二十六讲 - NoSQL、队列、任务队列的使用场景与评测
    第二十七讲 - 数据库分库分表的设计
    第二十八讲 - 无限扩充的数据库架构
    第二十九讲 - 亿级文件静态文件存储分发及分布式文件存储
    第三十讲 - PHP构建分库分表分布式数据库连接池
    第三十一讲 - 分布式数据库及访问中间件
    第三十二讲 - 使用 ICE 构建数据库分库分表全局连接池框架
    第三十三讲 - 亿级用户架构解密
    第三十四讲 - 如何配置高效的数据库以及MySQL的代码及插件开发

    〖下载地址〗
    http://www.mano100.cn/thread-414-1-1.html

    更多PHP学习知识,请关注:
    在这里插入图片描述

    展开全文
  • 协议的使用和配置都是很简单的,大部分情况看完上面的内容基本可以使用了。如果你需要进一步进行精细的控制,比如改变 KCP的内存分配器,或者你需要更有效的大规模调度 KCP链接(比如 3500个以上),或者如何更好的...
  • modbus通信协议

    热门讨论 2010-08-06 15:26:22
    在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 1、在Modbus网络上转输 标准的Modbus口是使用一RS-232C兼容串行...
  • 1。IPFS(InterPlanetary File System)星际文件系统 IPFS 是一个分布式的web, 点到点超媒体协议. 可以让我们的互联网速度更快, 更加安全, 并且...IPFS包含哪些内容: (1)IPFS是一个协议,类似http协议 (2)IP...
  • 本书所附光盘除了包含本书中的样例代码外,还包含了一个完整的、易查找的XHTML标记参考文件xhtmlref.html。本书是一本面向Web编程人员的书籍,既可作为Web编程的初学者入门指南,也可作为有经验的Web编程人员的参考...
  • 这个默认值会读取SPD (Serial Presence Detect) 装置的内容,并且依据SPD内容设定这四个项目。内存模块上的EEPROM (只读存储器) 储存有关模块的重要参数信息,例如内存类型、大小、速度、电压接口及模块储存区域。 ...
  • 首先,是语义问题,我们必须明确数据流的含义,数据中那些部分是协议头,哪些部分是数据,数据是以什么格式来存储的等等,其次是内容问题,协议头中必须包含哪些字段,这些字段与我们采用的技术,实际实现的需求相关...
  • 3.物理层的接口有哪几个方面的特性及各包含什么内容? 4.数据在信道中的传输速率受哪些因素的限制? 5.信噪比能否任意提高? 6.香农公式在数据通信中的意义是什么? 7.“比特/秒”和“码元/秒”有何区别? 8.常用的...
  • AVRCP Profile官方规格

    2017-12-29 17:00:32
    该系统包含射频收发器、基带和协议栈,支持设备连接和交换各类数据。 蓝牙设备交换根据蓝牙规格协议信号。核心系统协议包括射频 (RF) 协议、链路控制 (LC) 协议、链路管理器 (LM) 协议以及逻辑链路控制和适配协议 ...
  • A2DP Profile 规格

    2017-12-29 16:59:26
    该系统包含射频收发器、基带和协议栈,支持设备连接和交换各类数据。 蓝牙设备交换根据蓝牙规格协议信号。核心系统协议包括射频 (RF) 协议、链路控制 (LC) 协议、链路管理器 (LM) 协议以及逻辑链路控制和适配协议 ...
  • 它主要包含哪些网元? 67 89. WCDMA业务平台(或者说业务网关)具有哪些功能 67 90. 介绍一下3G业务平台的界面规范? 68 91. 业务管理平台对用户门户有哪些功能要求? 69 92. 会议电视和可视电话的区别?可视电话的...
  • 在许多情况下,我们不仅要了解可以使用哪些类型的数据传输线路,而且要了解不同类型的计算机通信网络的接口需求。在目前有关计算机系统设计的课程中,数据通信和计算机网络已经成为重要的主题。 在计算机网络的大量...
  • 软件测试经典面试题 (超实用)

    热门讨论 2012-02-16 13:48:08
    16、条软件缺陷(或者叫Bug)记录都包含哪些内容?如何提交高质量的软件缺陷(Bug)记录? 8 17、Beta测试与Alpha测试有什么区别? 8 18、软件的评审一般由哪些人参加?其目的是什么? 8 19、测试活动中,如果发现...
  • 它可以显示当前正在活动的网络连接的详细信息,例如显示网络连接、路由表和网络接口信息,可以统计目前总共有哪些网络连接正在运行。 利用命令参数,命令可以显示所有协议的使用状态,这些协议包括TCP协议、UDP协议...
  • C++网络爬虫项目

    2018-07-04 00:59:17
    根据配置文件的ACCEPT_TYPE配置项,对超文本传输协议响应的内容类型进行 限制。 2.4.4. 超文本标记语言文件存储插件(SaveHTMLToFile) 将用超文本标记语言描述的页面内容保存到磁盘文件中。 2.4.5. 图像文件存储插件...
  • 1.1.8 NFS 和 SMB 是最常见的两种 NAS(Network Attached Storage)协议,当把一个文件系统同时通过 NFS 和 SMB 协议共享给多个主机访问时,以下哪些说法是错误的 1.1.9 输入 ping IP 后敲回车,发包前会发生什么?...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 126
精华内容 50
关键字:

技术协议包含哪些内容