HTTP协议
(一)什么http协议
HTTP:HyperText Transfer Protocol超文本传输协议。是目前互联网上应用最为广泛的一种网络协议(HTTP和HTTPS)。
HTTP:客户端和服务端之间进行数据交互时,数据的格式规范。
http协议默认端口是80
(二)http协议的组成
在浏览器输入一个网址回车,浏览器向服务端发送了一个请求:浏览器会把请求参数打包成http请求, 然后把http请求的数据发送给服务端。服务器接收到请求后,应用服务器软件会把需要返回的数据,组成打包成http响应,发送给客户端。没有请求,就没有响应。
1.http请求
(1)请求行
格式:请求方式 请求资源 协议版本
比如:POST /xxx/login.html HTTP/1.1
(2)请求头
格式:key:value 每一个键值对是一个头信息,一次请求可以有多个请求头
比如:Host:localhost:8080
(3)请求体
格式:name=value&name=value…
是请求提交的参数,并不是任何时候请求体里都有数据。以下情况满足才会有数据:
1)post请求
2)必须有参数提交
2.get提交和post提交的区别
get提交参数在请求行里,参数大小有限制,不安全
post提交在请求体里,参数大小无限制,安全
3.http响应
(1)响应行
格式:协议版本 响应状态码 响应状态描述
比如:HTTP/1.1 200 OK
常用的响应状态码:
200:一切正常
302:重定向-->两次请求
304:取本地缓存
404:找不到资源
500:服务器内部错误
(2)响应头
格式:key:value 一个键值对是一个响应头,一次响应可以有多个响应头
比如:location:/xxx/index.html
(3)响应体
响应的正文内容(浏览器解析的内容)-->和响应头之间有一个空行