请不惜赐教,谢谢~
听了您的解释使我明白了不少,那看来web上实际应用中,多数都应该是若干个请求和若干个响应200实现的吧。
非常感谢您的详细讲解!
On Dec 1, 6:46 pm, 靳雄飞 <jinx...@gmail.com> wrote:
> 总的来说,你提出的几种状态码,和你所说的情形都是不相关的。
> 状态码只是规定了服务器在遇到某种情况时,该如何通知客户端,
> 但在一般情况下,服务器在2xx系列中,返回200以外状态的情况极少,也就是说,很少有人用这种规定来表达什么逻辑(至少我很少碰到)。
>
> 在现实生活中,经常用到的返回码非常有限。
>
> 举个例子,就好比编程语言中,有for语句,
> 那么如果问:循环都是由for实现的吗?
> 未必,因为还有while。
>
> for只是语言的一种能力,程序员用不用,是两可的,
>
> 这些规定的价值在与:
> 如果你是实现服务器的,在遇到合适的情况时,你可以用规定状态码返回。
> 如果你是实现客户端的,在遇到特定状态码时,知道是什么意思,并作出合适的处理。
> 如果你既不实现客户端,也不是实现服务端,那么你在分析协议的时候,看到这些代码,知道什么意思,学习的目的就达到了。
>
> -201 Create 用于在服务器上创建资源,是否程序中有关上传等新建文件的操作都与此状态有关呢?
> 上传与此无关,在第一周的时候,就讨论过,现在的上传基本上是通过multipart实现的。
> 实际上,由于动态内容(jsp,asp)的存在,有些HTTP协议的规定已经不太适合其最初的定义。
> 比如:put方法是要在server上创建URI对应的资源,如果创建成功,则返回201(这在9.6节有描述)。
> 但实际上,如果我们用put方式提交表单,比如做一个表的增删改查,我们通常向server上put的是同一个URL,后面跟不同的参数,所以,通常得到的re-sponse是200。
> 在这一点上,REST的要求相对比较严格。
>
> -204 No Content 可不刷新页面获得元信息等,AJAX是否与此状态有关?如果有关,但此状态不可带有body,信息是否由header带回?
> 无关。道理类似。
> Ajax只是一个纯粹的客户端技术,它本质上走的还是独立的HTTP请求,和浏览器发出的请求没有任何差异。
>
> -205 Reset Content 是否与刷新页面有关?或者说浏览器的刷新是否与此状态有关?以及HTML表单中的reset按钮是否与此有关?
> 无关,你说的都是浏览器支持的行为,与协议无关。
>
> -206 Partial Content 表示响应了部分内容,
> 也就是说还没响应完?那当我们在浏览器中打开某网站的时候都是从上至下一点一点显示,那是否与此状态有关?每次先返回206直至全部响应完毕返回200?
>
> 这一点不确定。
> 但可以肯定的是,某网站从上向下一点点显示,肯定与此无关,那是由网络传输和浏览器解析的速度决定的。
>
> 2009/12/1 cloudxpc <cloud...@gmail.com>
>
>
>
> > -201 Create 用于在服务器上创建资源,是否程序中有关上传等新建文件的操作都与此状态有关呢?
> > -204 No Content 可不刷新页面获得元信息等,AJAX是否与此状态有关?如果有关,但此状态不可带有body,信息是否由header
> > 带回?
> > -205 Reset Content 是否与刷新页面有关?或者说浏览器的刷新是否与此状态有关?以及HTML表单中的reset按钮是否与此有
> > 关?
> > -206 Partial Content 表示响应了部分内容, 也就是说还没响应完?那当我们在浏览器中打开某网站的时候都是从上至下一点一点显
> > 示,那是否与此状态有关?每次先返回206直至全部响应完毕返回200?
>
> > 请不惜赐教,谢谢~- Hide quoted text -
>
> - Show quoted text -
On Dec 2, 11:27 am, 靳雄飞 <jinx...@gmail.com> wrote:
> > 听了您的解释使我明白了不少,那看来web上实际应用中,多数都应该是若干个请求和若干
> > 个响应200实现的吧。
>
> 是的,当我们在浏览器中输入URL的时候,发起一个request,得到一个response是一个html文本,该html中用到的所有其它资源,比如图片、-iframe、ajax请求等等,都会再发出独立的request请求。
> 正因为这样,随着网页上图片的增加,一个页面可能发出几百个请求,所以persistent connection才体现其价值。
>
> 2009/12/2 cloudxpc <cloud...@gmail.com>
>
>
>
> > 最初我想web编程的所有内容都应该基于HTTP,客户端和服务器的所有交互都应该由HTTP实现,所以我以为既然操作都由两端相互发送的消息决定,那
> > 看到这些状态码,而且它的含义又与实际应用中的内容较类似,所以萌生了这个想法,想会不会是相应的实际操作基于相应的状态码呢? 其实当初提问的时候也
> > 觉得硬把这些和状态码说到一起有些牵强。
>
> > 听了您的解释使我明白了不少,那看来web上实际应用中,多数都应该是若干个请求和若干个响应200实现的吧。
>
> > 非常感谢您的详细讲解!
>
> > On Dec 1, 6:46 pm, 靳雄飞 <jinx...@gmail.com> wrote:
> > > 总的来说,你提出的几种状态码,和你所说的情形都是不相关的。
> > > 状态码只是规定了服务器在遇到某种情况时,该如何通知客户端,
> > > 但在一般情况下,服务器在2xx系列中,返回200以外状态的情况极少,也就是说,很少有人用这种规定来表达什么逻辑(至少我很少碰到)。
>
> > > 在现实生活中,经常用到的返回码非常有限。
>
> > > 举个例子,就好比编程语言中,有for语句,
> > > 那么如果问:循环都是由for实现的吗?
> > > 未必,因为还有while。
>
> > > for只是语言的一种能力,程序员用不用,是两可的,
>
> > > 这些规定的价值在与:
> > > 如果你是实现服务器的,在遇到合适的情况时,你可以用规定状态码返回。
> > > 如果你是实现客户端的,在遇到特定状态码时,知道是什么意思,并作出合适的处理。
> > > 如果你既不实现客户端,也不是实现服务端,那么你在分析协议的时候,看到这些代码,知道什么意思,学习的目的就达到了。
>
> > > -201 Create 用于在服务器上创建资源,是否程序中有关上传等新建文件的操作都与此状态有关呢?
> > > 上传与此无关,在第一周的时候,就讨论过,现在的上传基本上是通过multipart实现的。
> > > 实际上,由于动态内容(jsp,asp)的存在,有些HTTP协议的规定已经不太适合其最初的定义。
> > > 比如:put方法是要在server上创建URI对应的资源,如果创建成功,则返回201(这在9.6节有描述)。
>
> > 但实际上,如果我们用put方式提交表单,比如做一个表的增删改查,我们通常向server上put的是同一个URL,后面跟不同的参数,所以,通常得到的re--sponse是200。
> > > 在这一点上,REST的要求相对比较严格。
>
> > > -204 No Content
> > 可不刷新页面获得元信息等,AJAX是否与此状态有关?如果有关,但此状态不可带有body,信息是否由header带回?
> > > 无关。道理类似。
> > > Ajax只是一个纯粹的客户端技术,它本质上走的还是独立的HTTP请求,和浏览器发出的请求没有任何差异。
>
> > > -205 Reset Content 是否与刷新页面有关?或者说浏览器的刷新是否与此状态有关?以及HTML表单中的reset按钮是否与此有关?
> > > 无关,你说的都是浏览器支持的行为,与协议无关。
>
> > > -206 Partial Content 表示响应了部分内容,
> > > 也就是说还没响应完?那当我们在浏览器中打开某网站的时候都是从上至下一点一点显示,那是否与此状态有关?每次先返回206直至全部响应完毕返回200?
>
> > > 这一点不确定。
> > > 但可以肯定的是,某网站从上向下一点点显示,肯定与此无关,那是由网络传输和浏览器解析的速度决定的。
>
> > > 2009/12/1 cloudxpc <cloud...@gmail.com>
>
> > > > -201 Create 用于在服务器上创建资源,是否程序中有关上传等新建文件的操作都与此状态有关呢?
> > > > -204 No Content 可不刷新页面获得元信息等,AJAX是否与此状态有关?如果有关,但此状态不可带有body,信息是否由header
> > > > 带回?
> > > > -205 Reset Content 是否与刷新页面有关?或者说浏览器的刷新是否与此状态有关?以及HTML表单中的reset按钮是否与此有
> > > > 关?
> > > > -206 Partial Content 表示响应了部分内容, 也就是说还没响应完?那当我们在浏览器中打开某网站的时候都是从上至下一点一点显
> > > > 示,那是否与此状态有关?每次先返回206直至全部响应完毕返回200?
>
> > > > 请不惜赐教,谢谢~- Hide quoted text -
>
> > > - Show quoted text -- Hide quoted text -
我比较期待下一学期的内容。
On Dec 2, 6:29 pm, 靳雄飞 <jinx...@gmail.com> wrote:
> 貌似只有你读得比较认真,感觉有些用处吗?
>
> 2009/12/2 cloudxpc <cloud...@gmail.com>
>
>
>
> > 恩,看来由此可以看出,之前CSDN上有人提出过为什么一般较大型网站上的图片都是以"http://images.xx.com/1.gif"这种绝
> > 对路径存在而不是我们做网页时用的"../1.gif"这种相对路径。原因应该多一部分是图片需求的请求/响应开销较大,所以大型网站建立了专门的图片
> > 服务器,让图片服务器和客户端建立独立的Connection来实现请求/响应,减少主服务的开销吧。。。
>
> > On Dec 2, 11:27 am, 靳雄飞 <jinx...@gmail.com> wrote:
> > > > 听了您的解释使我明白了不少,那看来web上实际应用中,多数都应该是若干个请求和若干
> > > > 个响应200实现的吧。
>
> > 是的,当我们在浏览器中输入URL的时候,发起一个request,得到一个response是一个html文本,该html中用到的所有其它资源,比如图片、--iframe、ajax请求等等,都会再发出独立的request请求。
> > > 正因为这样,随着网页上图片的增加,一个页面可能发出几百个请求,所以persistent connection才体现其价值。
>
> > > 2009/12/2 cloudxpc <cloud...@gmail.com>
>
> > > > 最初我想web编程的所有内容都应该基于HTTP,客户端和服务器的所有交互都应该由HTTP实现,所以我以为既然操作都由两端相互发送的消息决定,那
> > > > 看到这些状态码,而且它的含义又与实际应用中的内容较类似,所以萌生了这个想法,想会不会是相应的实际操作基于相应的状态码呢? 其实当初提问的时候也
> > > > 觉得硬把这些和状态码说到一起有些牵强。
>
> > > > 听了您的解释使我明白了不少,那看来web上实际应用中,多数都应该是若干个请求和若干个响应200实现的吧。
>
> > > > 非常感谢您的详细讲解!
>
> > > > On Dec 1, 6:46 pm, 靳雄飞 <jinx...@gmail.com> wrote:
> > > > > 总的来说,你提出的几种状态码,和你所说的情形都是不相关的。
> > > > > 状态码只是规定了服务器在遇到某种情况时,该如何通知客户端,
> > > > > 但在一般情况下,服务器在2xx系列中,返回200以外状态的情况极少,也就是说,很少有人用这种规定来表达什么逻辑(至少我很少碰到)。
>
> > > > > 在现实生活中,经常用到的返回码非常有限。
>
> > > > > 举个例子,就好比编程语言中,有for语句,
> > > > > 那么如果问:循环都是由for实现的吗?
> > > > > 未必,因为还有while。
>
> > > > > for只是语言的一种能力,程序员用不用,是两可的,
>
> > > > > 这些规定的价值在与:
> > > > > 如果你是实现服务器的,在遇到合适的情况时,你可以用规定状态码返回。
> > > > > 如果你是实现客户端的,在遇到特定状态码时,知道是什么意思,并作出合适的处理。
> > > > > 如果你既不实现客户端,也不是实现服务端,那么你在分析协议的时候,看到这些代码,知道什么意思,学习的目的就达到了。
>
> > > > > -201 Create 用于在服务器上创建资源,是否程序中有关上传等新建文件的操作都与此状态有关呢?
> > > > > 上传与此无关,在第一周的时候,就讨论过,现在的上传基本上是通过multipart实现的。
> > > > > 实际上,由于动态内容(jsp,asp)的存在,有些HTTP协议的规定已经不太适合其最初的定义。
> > > > > 比如:put方法是要在server上创建URI对应的资源,如果创建成功,则返回201(这在9.6节有描述)。
>
> > 但实际上,如果我们用put方式提交表单,比如做一个表的增删改查,我们通常向server上put的是同一个URL,后面跟不同的参数,所以,通常得到的re---sponse是200。