HTTP 协议报文格式 HTTP 协议(Hypertext Transfer Protocol― ― 超文本传输协议)浏览器端(客户端)向 WEB服务器端访问页面的过程和 HTTP 协议报文的格式。 基于 HTTP 协议的客户机访问包括4个过程,分别是建立 TCP 套接字连接、发送 HTTP 请求报文、接收 HTTP 应答报文和关闭 TCP 套接字连接: 1. 创建 TCP 套接字连接 客户端与 WEB 服务器创建 TCP 套接字连接,其中 WEB 端服务器的地址可以通过域名解析确定,WEB 端的套接字侦听端口一般是80。 2. 发送 HTTP 请求报文 客户端向 WEB 服务端发送请求报文,HTTP 协议的请求报文格式为: 请求消息 = 请求行(实体头信息)CRLF[实体内容] 请求行 = 方法 URL HTTP 版本号 CRLF 方法 = GET|HEAD|POST|扩展方法 URL = 协议名称 + 宿主名 + 目录与文件名 其中"CRLF"表示回车换行。 "请求行"中的"方法"描述了对指定资源执行的动作,常用的方法"GET"、"HEAD"和"POST"等3种,它们的含义如表15-8所示: 请求报文 一个 HTTP 请求报文由请求行(request line)、请求头部(header)、空行和请求数据4 个部分组成,下图给出了请求报文的一般格式。 (1)请求行 请求行由请求方法字段、URL 字段和 HTTP 协议版本字段3 个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。 HTTP 协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。这里介绍最常用的 GET 方法和 POST 方法。 GET:当客户端要从服务器中读取文档时,使用 GET 方法。GET 方法要求服务器将URL 定位的资源放在响应报文的数据部分,回送给客户端。使用 GET 方法时,请求参数和对应的值附加在URL 后面,利用一个问号(“?”)代表 URL 的结尾与请求参数的开始,传递参数长度受限制。例如,/index.jsp?id=100&op=bind。 POST:当客户端给服务器提供信息较多时可以使用 POST 方法。POST 方法将请求参数封装在HTTP 请求数据中,以名称/值的形式出现,可以传输大量数据。 表15-8 HTTP 请求方法 取值 描述 GET 从WEB 服务器中获取对象,不同类型的对 象将获取不同的信息,比如: · 文件类型对象,获取该文件的内容。 · 程序类型对象,获取该程序执行的结果。 · 数据库查询类型对象,获取该查询的结果。 HEAD 要求服务器查找对象的元信息。 POST 从客户端向WEB 服务器发送数据。 "实体头信...