HTTP请求
一、完整的HTTP请求过程
1、建立TCP连接;
2、Web浏览器向Web服务器发送请求命令;
3、Web浏览器发送请求头信息;
4、Web服务器应答;
5、Web服务器发送应答头信息;
6、Web服务器向浏览器发送数据;
7、Web服务器关闭TCP连接。
二、HTTP请求组成
1、HTTP的请求方法或动作:GET / POST等
GET:一般用于信息获取,使用URL传递参数,对发送的信息数量有限制,一般在2000个字符;
POST:一般用于修改服务器上的资源,对发送的信息数量无限制。
2、正在请求的URL;
3、请求头,包含一些客户端的环境信息、身份验证信息等;
4、请求体(请求正文),可包含客户提交的查询字符串信息、表单信息等。
三、HTTP响应组成
1、一个数字和文字组成的状态码,用来显示请求是成功还是失败;
- 1xx:指示信息--表示请求已接收,继续处理。
- 2xx:成功--表示请求已被成功接收、理解、接受。
- 3xx:重定向--要完成请求必须进行更进一步的操作。
- 4xx:客户端错误--请求有语法错误或请求无法实现。
- 5xx:服务器端错误--服务器未能实现合法的请求。
-
常见状态代码、状态描述的说明如下。
- 200 OK:客户端请求成功。
- 400 Bad Request:客户端请求有语法错误,不能被服务器所理解。
- 401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用。
- 403 Forbidden:服务器收到请求,但是拒绝提供服务。
- 404 Not Found:请求资源不存在,举个例子:输入了错误的URL。
- 500 Internal Server Error:服务器发生不可预期的错误。
- 503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常,举个例子:HTTP/1.1 200 OK(CRLF)。
2、响应头:也和请求头一样包含许多有用的信息,例如:服务器类型、日期时间、内容类型、长度等;
3、响应体:也就是响应正文。
笔记参考:慕课网 http://www.imooc.com/learn/250