1.基于TCP/IP
- http协议是基于TCP/IP协议之上的应用层协议。
2.基于请求响应,相应模式
-HTTP协议规定,请求从客户端发出,最后服务器端响应该请求并 返回。换句话说,肯定是先从客户端开始建立通信的,服务器端在没有 接收到请求之前不会发送响应
请求协议
------------------------->
浏览器 服务器
<-------------------------
响应协议
3.请求协议格式:
- 请求首行 请求方式 url(路径?get请求参数) 协议/版本号
请求头 key:value
请求体 数据(只有post请求才会有请求体)
Host: 127.0.0.1:8812 Connection: keep-alive Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 '
4.响应协议格式
- 响应首行 协议/版本号 状态吗 状态码译文
响应头 content-Type:text/html
响应体 <h1>Hello,Myfriend!</h2>
5.请求方式:get/post
- GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditBook?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的请求体中.
- GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.
- GET与POST请求在服务端获取请求数据方式不同。
6 响应状态码:
- 1 开头 :请求中
- 200 :请求成功
- 3开头 :重定向
- 4开头 :文件路径找不到
- 5开头 :服务器错误
总结:
- HTTP协议特性:
- 基于TCP协议
- 基于请求响应
- 短链接
- 无状态保存(引入了cookie,session技术)