什么是HTTP协议
HTTP协议是超文本传输协议,用于定义WEB浏览器和WEB服务器之间数据交互的过程。
HTTP协议的作用和特点
作用:
定义了浏览器和服务器之间的数据交互,效率更高
特点:
基于请求/响应模型的协议
请求和响应必须成对,而且先有请求后有响应
HTTP协议默认端口:80
HTTP协议的组成
HTTP请求协议和HTTP响应协议
HTTP请求协议包含:请求行、请求头、请求体
HTTP响应协议包含:响应行、响应头、响应体
HTTP请求协议详解
浏览器发送给服务器的内容
请求行
例如: POST /day09/1.html HTTP/1.1
请求行必须出现在第一行
请求行格式:提交方式请求路径协议、版本
请求方式,常用的GET和POST方式
GET方式
请求数据追加在url后面,数据不安全的,而且数据长度有限
没有请求体
POST方式
数据通过请求体传递,比较安全
数据大小不限制
请求头
常见请求头:
Referer 浏览器通知服务器,当前的请求来之何处
If-Modified-Since 浏览器通知服务器,本地缓存的最后修改时间
Cookie 本地会话技术
User-Agent:浏览器通知服务器,客户端浏览器与操作系统相关信息
请求体
POST请求才有请求体,请求体中都是用户表单提交的数据(数据格式 key=value)
HTTP响应协议详解
响应行
格式:协议/版本、状态码、响应信息
状态码:浏览器和服务器用于确定状态的数字号码
1xx:请求刚开始,未响应(一般不用)
2xx:200(响应成功)
3xx:302(请求转发,一定要配合响应头中的location使用)
304(请求的资源未发生变化,使用本地资源缓存)
4xx:402(资源未找到)
5xx:500(服务器内部错误,java抛异常)
响应头
服务器通过响应头来控制浏览器的行为,不同浏览器操作不同
Location:请求转发,需要配合状态码302一起只用
Content-Type:响应正文的类型(MIME类型)。
Content-Disposition:通过浏览器以下载的方式解析正文。取值:
Set-Cookie:服务器端会话技术
响应体
服务器端发送给浏览器端的正文,可以是HTML/图片/文件等….