HTTP超文本传输协议,是客户端浏览器和服务器通信的规范,是浏览器与服务器通信的协议,属于应用层的协议,web开发者了解HTTP协议非常重要。浏览器通过http协议请求服务器,完成请求服务器立刻关闭连接,释放资源,所以说HTTP协议是"无状态的"。
HTTP请求:
浏览器请求服务器的过程是HTTP请求,HTTP请求包括三部分:
1 请求行
2 请求的包头
3 请求的包体
请求的包头 -- 一般是默认的数据,我们不做设置,这部分是告诉服务器浏览器的一些信息,比如浏览器是什么浏览器,请求服务器的是哪个主机等信息。一些消息头是可选的,描述的是客服端的一些环境信息和请求的服务器地址信息等。
请求的包体 -- 作为web开发者只需要知道get/post请求方式,get或者post方式提交给服务器的数据就是请求的包体,这部分不是必须的。
HTTP响应:
1 响应行
2 响应的包头
3 响应的包体
响应的包头和包体部分我们可以设置,响应的包头市告诉浏览器该怎么处理接下来要返回给浏览器的数据,所以必须要在输出内容之前设置响应的包头。这也是为什么header之前为什么不能输出内容的原因。
HTTP请求和响应的共性