全部博文(471)
分类: 网络与安全
2012-02-14 12:52:33
HTTP协议是每一位Web开发者都应该熟悉甚至精通的网络协议。HTTP协议详解视频仍旧是张孝祥老师讲解的,视频全面介绍了HTTP协议及在JSP开发中的使用。学习完视频后,逐步掌握HTTP协议的基础知识,了解在Web应用中请求-响应回路的详细过程,掌握HTTP协议中最重要的一些概念(GET/POST/状态码/响应头与实体头等等)。张老师用telnet模拟浏览器发送请求以及接受响应内容,非常直观的将复杂问题简单化,容易理解。视频内容包括:了解HTTP、请求行与状态行、通用信息头、请求头、响应头、实体头、扩展头。
第一段视频简单介绍了HTTP,讲解了浏览器访问多图网页的过程,比较了HTTP 1.1版本与1.0版本的不同之处,并介绍了请求-响应回路中的消息及消息头。对于HTTP,首先应该理解什么是HTTP:WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议集中的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式。 HTTP协议的版本有HTTP/1.0、HTTP/1.1、HTTP-NG,其中现在用的是1.1版本,1.0是早期版本,而NG版本属于正在开发中的版本。深入理解HTTP协议,对管理和维护复杂的WEB站点、开发具有特殊用途的WEB服务器程序具有直接影响。HTTP1.0的会话过程分四个步骤,一是建立连接,二是客户机发送请求信息,三是服务器会送响应信息,最后关闭连接。浏览器与WEB服务器的连接过程是短暂的,每次连接只处理一个请求和响应。对每一个页面的访问,浏览器与WEB服务器都要建立一次单独的连接。浏览器到WEB服务器之间的所有通讯都是完全独立分开的请求和响应对。因此,当网页中存在很多图片时,在HTTP1.0中,每个图片的下载都要重复上面4个步骤,建立一个新的会话。该版本协议也支持代理服务器,所谓代理服务器,就客户端浏览器请求网页文档时,请求会发送到代理服务器,如果代理服务器缓存有该网页文档,就直接返回响应信息给客户端浏览器,如果没有该文档,就直接发送请求到目标服务器,获取该文档后,在返回给客户端浏览器。所以代理服务器在有缓存文档的情况下充当服务器,在没有缓存相应文档的情况下对于目标服务器来说相当于浏览器。HTTP 1.1与HTTP 1.0的比较:
1.在一个TCP连接上可以传送多个HTTP请求和响应
2.多个请求和响应过程可以重叠进行
3.增加了更多的请求头和响应头
接下来讲解了有关HTTP请求消息和响应消息,请求消息的结构:一个请求行、若干消息头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。例如:
GET /books/java.html HTTP/1.1
Accept: */*
Accept-Language: en-us
Connection: Keep-Alive
Host: localhost
Referer:
User-Agent: Mozilla/4.0
Accept-Encoding: gzip, deflate
响应消息的结构:一个状态行、若干消息头、以及实体内容 ,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。例如:
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Thu, 13 Jul 2000 05:46:53 GMT
Content-Length: 2291
Content-Type: text/html
Cache-control: private