HTTP是HyperText Transfer Protocol(超文本传输协议)的简写,传输HTML文件。
HTTP是互联网上用的最多的一个协议, 所有的www开头的都是遵循这个协议的(可能是https)
HTTP作用:用于定义WEB浏览器与WEB服务器之间 交换数据的过程 和 数据本身的 内容
浏览器和服务器交互过程: 浏览器请求, 服务请求响应
请求(请求行,请求头,请求体)
响应(响应行,响应头,响应体)
img
【请求行】
GET /myApp/success.html?username=zs&password=123456 HTTP/1.1
【请求头】
Accept: text/html, application/xhtml+xml, */*
X-HttpWatch-RID: 41723-10011
Referer: http://localhost:8080/myApp/login.html
Accept-Language: zh-Hans-CN,zh-Hans;q=0.5
User-Agent: Mozilla/5.0 (MSIE 9.0; qdesk 2.4.1266.203; Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Host: localhost:8080
Connection: Keep-Alive
Cookie: Idea-b77ddca6=4bc282fe-febf-4fd1-b6c9-72e9e0f381e8
【请求行】
POST /myApp/success.html HTTP/1.1
【请求头】
Accept: text/html, application/xhtml+xml, */*
X-HttpWatch-RID: 37569-10012
Referer: http://localhost:8080/myApp/login.html
Accept-Language: zh-Hans-CN,zh-Hans;q=0.5
User-Agent: Mozilla/5.0 (MSIE 9.0; qdesk 2.4.1266.203; Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: localhost:8080
Content-Length: 27
Connection: Keep-Alive
Cache-Control: no-cache
【请求体】
username=zs&password=123456
GET /myApp/success.html?username=zs&password=123456 HTTP/1.1
POST /myApp/success.html HTTP/1.1
从第2行到空行处,都叫请求头,以键值对的形式存在,但存在一个key对应多个值的请求头.
作用:浏览器告诉服务器自己相关的设置.
只有请求方式是post的时候,才有请求体. 即post请求时,请求参数(提交的数据)所在的位置
1. 请求行
1. 请求方式
2. 请求路径
2. 请求头: 它是由键值对构成
3. 请求体: 只有post请求才有请求体,post请求的请求体是用于携带请求参数的
img
响应部分
【响应行】
HTTP/1.1 200
【响应头】
Accept-Ranges: bytes
ETag: W/"143-1557909081579"
Last-Modified: Wed, 15 May 2019 08:31:21 GMT
Content-Type: text/html
Content-Length: 143
Date: Sun, 08 Dec 2019 02:20:04 GMT
【响应体】
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
Success
</body>
</html>
HTTP/1.1 200
img
200:正常,跟服务器连接成功,发送请求成功
302:重定向(跳转)
304:读取缓存,表示客户机缓存的版本是最新的,客户机可以继续使用它,无需到服务器请求. 读取缓存
403: forbidden 权限不够,服务器接收到了客户端的请求,但是拒绝处理
404:服务器接收到了客户端的请求,但是我服务器里面没有你要找的资源
500:服务器接收到了客户端的请求,也找到了具体的资源处理请求,但是处理的过程中服务器出异常了
响应头以key:vaue存在, 可能多个value情况. 服务器指示浏览器去干什么,去配置什么.
a.mp3 b.mp4
页面展示内容, 和网页右键查看的源码一样
1. 响应行:包含响应状态码
1. 常见的响应状态码:
1. 200 OK
2. 302 Redirect 重定向
3. 304 Cache 读取缓存
4. 400 BAD REQUEST 请求有问题(可能是请求参数等等不符合规定)
5. 403 Forbidden 拒绝处理
6. 404 NOT FOUND 找不到资源
7. 500 SERVER ERROR 服务器异常
2. 响应头: 由多个键值对构成
3. 响应体:
1. 可以用于客户端页面的展示
2. 可以用于下载