欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

五道HTTP试题 博客分类: HTTP tomcatweb 

程序员文章站 2024-03-04 23:50:54
...
问题:

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 

这三个头组合使用,让浏览器不要缓存数据
相关标签: tomcat web