JavaWeb之http协议

HTTP简介

WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。HTTP是 hypertext transfer protocol(超文本传输协议)的简写,它是 TCP/IP 协议集中的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式。 HTTP协议的版本 HTTP/1.0、HTTP/1.1、HTTP-NG 。

HTTP 的会话方式 

四个步骤

JavaWeb之http协议
 

浏览器与WEB服务器的连接过程是短暂的,每次连接只处理一个请求和响应。对每一个页面的访问,浏览器与WEB服务器都要建立一次单独的连接。 浏览器到WEB服务器之间的所有通讯都是完全独立分开的请求和响应对。

浏览器访问多图网页的过程


JavaWeb之http协议

HTTP请求消息


JavaWeb之http协议
 

请求消息的结构:

一个请求行、若干消息头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。 

HTTP响应消息


JavaWeb之http协议
 

响应消息的结构:

一个状态行、若干消息头、以及实体内容 ,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。 

响应消息的实体内容就是网页文件的内容,也就是在浏览器中使用查看源文件的方式所看到的内容。 一个使用GET方式的请求消息中不能包含实体内容,只有使用POST、PUT和DELETE方式的请求消息中才可以包含实体内容。 

使用GET和POST方式传递参数 

在URL地址后面可以附加一些参数

举例:http://www.rabbitx.org/servlet/ParamsServlet?param1=abc&param2=xyz

GET方式

在浏览器地址栏中输入某个URL地址或单击网页上的一个超链接时,浏览器发出的HTTP请求消息的请求方式为GET。 如果网页中的<form>表单元素的method属性被设置为了“GET”,浏览器提交这个FORM表单时生成的HTTP请求消息的请求方式也为GET。 

举例:GET /servlet/ParamsServlet?param1=abc&param2=xyz HTTP/1.1

特点:传送的数据量是有限制的,一般限制在1KB以下。 

POST方式

POST请求方式主要用于向WEB服务器端程序提交FORM表单中的数据。 POST方式将各个表单字段元素及其数据作为HTTP消息的实体内容发送给WEB服务器,传送的数据量要比使用GET方式传送的数据量大得多。  

举例:

POST /servlet/ParamsServlet HTTP/1.1

Host:

Content-Type: application/x-www-form-urlencoded

Content-Length: 28

param1=abc&param2=xyz

特点:传送的数据量要比GET方式传送的数据量大得多 。

POST请求消息的格式: 

POST /counter.jsp HTTP/1.1

referer: http://localhost:8080/Register.html

content-type: application/x-www-form-urlencoded

host: localhost:8080

content-length: 43

name=zhangsan&password=123

相关推荐