q简介:
http协议是一个超文本传输协议,它规定了浏览器和服务器之间的数据传输的规则
特点:
- 基于tcp协议:面向链接且安全
- 基于请求响应模型:即一次请求对应一次响应
- http协议是一款无状态的协议:对于事务处理没有记忆,每次请求和响应都是独立的。
- 无状态协议比喻:一个自动售货机,它不知道来买东西的人是谁,只要你给钱他就会给你商品
优缺点:
优点:传输速度快
缺点:多次请求之间不能共享数据
请求协议
请求协议的格式
- 请求行:是请求数据的第一行,包括(请求方式、资源路径、协议)
- 请求头:是一个键值对的形式(key :value)
- 请求空行
- 请求体:存放请求参数。ps:get请求没有请求体,post请求有请求体
请求数据获取
Web服务器对HTTP协议的请求数据进行解析,并进行了封装(HttpServletRequest),并在调用Servlet方法的时候传递给了Servlet。这样,就使得程序员不必直接对协议进行操作,让Web开发更加便捷。
响应数据格式
- 响应行:是响应数据的第一行,包括(协议,状态码,描述)
- 响应头:是一个键值对的形式(key :value)
- 响应空行
- 响应体:存放响应数据
响应状态码
- 1xx:响应中,临时响应码
- 2xx:响应成功
- 3xx:重定向
- 4xx:客户端错误
- 5xx:服务器错误
常见的响应码
- 200:表示请求
- 302:重定向:表示服务器要求浏览器再次发送一个请求,服务器会发送一个响应头指定新请求的url地址
- 304:使用了本地缓存
- 404:表示请求的资源路径没有找到。
- 405:表示这个请求方式不允许
- 500:请求资源对了,但是服务器内部错误(代码写错了)
请求数据获取
Web服务器对HTTP协议的响应数据进行了封装(HttpServletResponse),并在调用Servlet方法的时候传递给了Servlet。这样,就使得程序员不必直接对协议进行操作,让Web开发更加便捷。