简介
WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。
HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议集中的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式。
HTTP协议的版本
HTTP/1.0、HTTP/1.1、HTTP-NG
深入理解HTTP协议,对管理和维护复杂的WEB站点、开发具有特殊用途的WEB服务器程序具有直接影响。
HTTP 1.0的会话方式
HTTP 1.1的特点
在一个TCP连接上可以传送多个HTTP请求和响应
多个请求和响应过程可以重叠进行
增加了更多的请求头和响应头
请求消息的结构:
一个请求行、若干消息头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。
举例:
GET /books/java.html HTTP/1.1 请求行
Accept: */*
Accept-Language: en-us
Connection: Keep-Alive
Host: localhost
Referer: http://localhost/links.asp
User-Agent: Mozilla/4.0
Accept-Encoding: gzip, deflate
请求行
格式:请求方式 资源路径 HTTP版本号<CRLF>
举例:GET /test.html HTTP/1.1
请求方式:POST、HEAD、OPTIONS、DELETE、TRACE、PUT
状态行
格式: HTTP版本号 状态码 原因叙述<CRLF>
举例:HTTP/1.1 200 OK
使用GET和POST方式传递参数
l 在URL地址后面可以附加一些参数
举例:http://www.it315.org/servlet/ParamsServlet?param1=abc¶m2=xyz
GET方式
举例:GET /servlet/ParamsServlet?param1=abc¶m2=xyz HTTP/1.1
特点:传送的数据量是有限制的,一般限制在1KB以下。
POST方式
举例:
POST /servlet/ParamsServlet HTTP/1.1
Host:
Content-Type: application/x-www-form-urlencoded
Content-Length: 28
param1=abc¶m2=xyz
特点:传送的数据量要比GET方式传送的数据量大得多。