(待完成) post和get请求的区别 请求报文
首部行中的一些字段解释
Content-Length: 标记着body的长度
User-Agent: 标记浏览器类型和操作系统的版本
Contet-Type: 标记着数据类型(text/html等)
Host: 客户端告知服务器,所请求的资源是在哪个主机的那个端口上
Cookie: 用于在客户端存储少量信息,通常用于实现会话(session)功能
Accept-Language: 标记着用户所使用的语言
Keep-Alive:time:标记着连接的时间
Connection:close 此时表示是非持久连接
Connection:keep-alive 此时表示是持久连接
HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。
1. GET产生一个TCP数据包;POST产生两个TCP数据包。
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
常见状态码
200—OK—客户端请求成功
400—Bad Request—客户端请求有语法错误,不能被服务器所理解
401—Unauthorized—请求未经授权,这个状态码必须和WWW-Authenticate抱头域一起使用
403—Forbidden—服务器收到请求,但是拒绝提供服务
404—Not Found—请求的资源不存在,例如输入了错误的URL
500—Internal Server Error—服务器发生不可预期的错误
503—Server Unavailable—服务器当前不能处理客户端的请求,一段时间后可能恢复正常