HTTP是一个基于请求/响应模式的,无状态的协议(request/responsebased ,stateless protocol) 。
HTTP URL格式:http://host[:port][path]
HTTP请求
客户端通过发送HTTP请求向服务器请求对资源的访问
HTTP请求由三部分组成,分别是:请求行,消息报头,请求正文
请求行
Method Request-URI HTTP/1.1
如 GET /test.html HTTP/1.1
浏览器输入地址去访问时,浏览器就是采用的GET方法向服务器获取资源的。
通过浏览器进行文件上传时,用post方式。
HTTP响应
在接收和解释请求消息后,服务器会返回一个HTTP响应消息
与HTTP请求类似,HTTP响应也是由三个部分组成,分别是:状态行,消息报头,响应正文
响应行
HTTP-Version Status-Code Reason-Phrase
Reason-Phrase状态代码的文本描述。
Status-Code第一个数字代表了响应的类别:
1**:指示信息-表示请求已经接受,继续处理。
2**:成功-表示请求已经成功接受、理解。
3**:重定向-要完成请求必须进行更进一步的操作。
4**:客户端错误-请求有语法错误或无法实现。
5**:服务器端错误-服务器未能实现合法的请求。
get与post请求方式的不同:
1)浏览器地址栏的呈现方式不同。
2)真正的原因在于向服务器端发送请求时的形式是不同的。
GET请求格式:
GET /test/LoginServlet?username=hello&password=word HTTP/1.1
POST请求格式:
Post /test/LoginServlet HTTP/1.1
···
Connection:Keep-Alive(CRLF)
(CRLF)
username=hello&password=word