【http(超文本传输协议)】
是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。
无状态性:第二次请求无法获取第一次请求的处理结果。(后续请求无法获取之前请求的计算结果)
HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:
http://host[":port][abs_path]
- http表示要通过HTTP协议来定位网络资源;
- host表示合法的Internet主机域名或者IP地址;
- port制定一个端口号,为空则使用缺省端80;
- abs_path 制定请求资源的URI;
- 如果URL中没有给出abs_path,那么当他作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。
【HTTP协议的几个概念】
- 连接(Connection):浏览器和服务器之间传输数据的通道。一般请求完毕就关闭,http不保持连接。不保持连接会降低处理速度(因为建立连接速度很慢,保持连接就会减低服务器的处理客户端请求数,而不包吃连接服务器可以处理更多的请求)。
- 请求(Request):l浏览器向服务器发送的“我要***”的消息,包含请求的类型、请求的数据、浏览器的信息(语言、浏览器版本等)。
- 响应(Response):服务器对浏览器请求的返回的数据,包含时候成功、状态码等。
【HTTP协议详解之报文】
在IE浏览器总我们可以利用HTTP协议分析工具httpwatch去分析请求报文和响应报文
【HTTP协议-响应码】
浏览器想服务器发送请求,服务器处理可能是成功、可能是失败、可能没有权限访问等原因,服务器会通过响应码来告诉服务器浏览器的处理结果。
- “200”:OK
- “302”:Found重定向
- “400”:BadRequest错误请求,发出错误的不符合HTTP协议的请求
- “403”:Forbidden禁止
- “404”:Not Found未找到
- “500”:Intermal Server Error 服务器内部错误。
- “503”:Service Unavailable。一般是访问人数过多。
200段是成功;300段需要对请求做进一步的处理;400段表示客户端请求错误 ;500段是服务器的错误。