五道HTTP的题,供大家学习

y_keven 2012-10-17 07:34:29
问题:

1.请按自己的理解简述HTTP 1.1与HTTP 1.0的区别。
2.请描述HTTP请求消息和HTTP响应消息的组成结构,并各举一例进行说明。
3.浏览器分别在哪些情况下使用GET方式和POST方式访问WEB服务器?如果浏览器传递给WEB服务器的参数内容超过1K,应该使用那种方式发送请求消息?
4.请描述200、302、304、404和500等响应状态码所表示的意义。
5.请列举三种禁止浏览器缓存的头字段,并写出相应的设置值。

答案:
1.请按自己的理解简述HTTP 1.1与HTTP 1.0的区别。

HTTP 1.0:浏览器与WEB服务器的连接过程是短暂的,每次连接只处理一个请求和响应,客

户端与web服务器建立连接后,只能获得一个web资源;
HTTP 1.1:在一个TCP连接上可以传送多个HTTP请求和响应,多个请求和响应过程可以重叠

进行,增加了更多的请求头和响应头;允许客户端与web服务器建立连接后,在一个连接上获取多

个web资源


2.请描述HTTP请求消息和HTTP响应消息的组成结构,并各举一例进行说明。

请求头

POST /app/a.html HTTP/1.1 (请求行)
Accept: text/html, application/xhtml+xml, */* (支持哪些数据类型)
Referer: http://localhost:8080/app/a.html (客户机从哪个页面来,防盗链,可以用来

跟踪)
Accept-Language: zh-CN (客户机采用的语言)
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; QDesk 2.3.1185.202; qdesk

2.3.1186.202; Windows NT 6.1; WOW64; Trident/5.0)(说明客户机操作系统信息,以及浏

览器信息)
Content-Type: application/x-www-form-urlencoded (内容类型)
Accept-Encoding: gzip, deflate (支持哪种数据压缩格式)
Host: localhost:8080 (主机名)
Content-Length: 15 (数据长度)
Connection: Keep-Alive (连接方式)
Cache-Control: no-cache (缓存控制)
(空行)
username=asdasd (内容)
其他元素介绍:
Accept-Charset::客户机通过这个头,告诉服务器,它支持的编码
If-Modified-Since:客户机通过这个头,告诉服务器,数据缓存的时间
Cookie:客户机通过这个头,可以带点数据给服务器


响应头

HTTP/1.1 200 OK (状态行)
Server: Apache-Coyote/1.1 (服务器)
ETag: W/"159-1350443298993" (缓存相关的头,为每一个资源配一个唯一的编号)
Last-Modified: Wed, 17 Oct 2012 03:08:18 GMT (最后修改时间,即最后缓冲时间)
Content-Type: text/html (回送数据的类型)
Content-Length: 159 (数据长度)
Date: Wed, 17 Oct 2012 11:15:36 GMT (响应数据时间)
(空行)
dsnfclks
<img src="a.jpg"/>
<img src="1.gif" />
<form method="post">
<input type="text" name="username" />
<input type="submit" value="提交" />
</form>
(实体内容)

其他元素:
Location:服务器通过这个头告诉浏览器去访问哪个页面,这个头通常配合302状态码使用
Content-Encoding: 服务器通过这个头告诉浏览器,回送的数据采用的压缩格式
Last-Modified: 服务器通过这个头告诉浏览器,资源的最后修改时间
Refresh:服务器通过这个头告诉浏览器,定时刷新网页
Content-Disposition: attachment; filename=aaa.zip:服务器通过这个头告诉浏览器,以

下载方式打开数据
Expires: 0
Cache-Control: no-cache
Pragma: no-cache 这三个头组合使用,让浏览器不要缓存数据

3.浏览器分别在哪些情况下使用GET方式和POST方式访问WEB服务器?如果浏览器传递给WEB服

务器的参数内容超过1K,应该使用那种方式发送请求消息?

浏览器默认情况下是使用GET方式,以及超链接、纯文本、图片等格式大小不超过1k的情况下

都使用GET方式,提交表单的时候不明确说明,默认情况下也是使用GET方式;
大小大于1k,或是提交表单时有密码出现需要在form里面说明使用的是POST方式
POST

4.请描述200、302、304、404和500等响应状态码所表示的意义。

200:访问成功(表示一切正常,返回的是正常请求结果)
302:临时重定向(指出被请求的文档已被临时移动到别处,此文档的新的URL在Location响

应头中给出)
304:未修改(表示客户机缓存的版本是最新的,客户机应该继续使用它。)
404:访问的文件不存在(服务器上不存在客户机所请求的资源)
500:内部服务器错误(服务器端的CGI、ASP、JSP等程序发生错误)

5.请列举三种禁止浏览器缓存的头字段,并写出相应的设置值。

Expires: 0
Cache-Control: no-cache
Pragma: no-cache

这三个头组合使用,让浏览器不要缓存数据
...全文
273 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chung961977305 2012-10-20
  • 打赏
  • 举报
回复
资源互相分享,互相学习
Stephenkung 2012-10-17
  • 打赏
  • 举报
回复
资源互相分享,互相学习
y_keven 2012-10-17
  • 打赏
  • 举报
回复
互相学习。。有好资源互相分享,互相学习,打造中国开源知识平台
  • 打赏
  • 举报
回复
顶!谢谢楼主!分享啦~~~
LiangGzone 2012-10-17
  • 打赏
  • 举报
回复
收藏啦,谢谢LZ
a1018615265 2012-10-17
  • 打赏
  • 举报
回复
虽然第二题和第四题记不到,但还是学习了

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧