http协议(hypertext transfer protocol),是一种基于TCP/IP的应用层协议(像apache服务器默认80端口,当然可以改动),用于传输音视频,文本图片等信息,它是一种短连接无状态,媒体独立,的协议(短连接:消息传输完成后就会断开连接每个http请求只负责一次请求,无状态是指协议对请求事务没有记忆状态,每次需要时都需要重新连接发送请求,媒体独立是指任何文件都可以通过http协议传输,但是要使用合适的MIME-type内容类型)。
HTTP协议通信过程
<headers>
<blank line>
<request-body>
User-Agent:产生请求的浏览器类型。
Accept:客户端可识别的内容类型列表。
Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机
空行:表示请求结束,
requstbody:是具体的请求内容
服务器收到请求后经过服务器的一系列处理,响应报文,报文中包含服务器的响应数据格式为:
状态行、消息报头、响应正文,格式与请求报文类似
status-line
headers
blank line
response-line
状态行的格式为 http-version staus-code reason-phrase crlf
其中,HTTP-version表示服务器的状态版本,一般为http1.1
status-code 为响应状态码有1XX,2XX,3XX,4XX,5XX
1XX:指示请求已接收继续处理
2XX:成功,指示已被成功接受。理解,接受
3XX:重定向
4XX:客户端错误
5XX:服务端错误服务器未能实现合法请求
一个基本的http响应报文的例子
当然响应头和请求头部分还有其他的一些信息,可以再chrome的开发者工具中的network查看到每次请求的具体信息
http请求的不足
参考链接:
https://www.cnblogs.com/mahuan2/p/6389093.html
http://blog.csdn.net/zhangliang_571/article/details/23508953