Day04-13:Web入门-HTTP协议-响应协议
1.HTTP
1.概念:Hyper Text Transfer Protocol,超文本传输协,规定了浏览器和服务器之间数据传输的规则。
2.HTTP响应数据格式:
Content-Type:表示该响应内容的类型,例如text/html,application/json。
Content-Length:表示该响应内容的长度(字节数)
Content-Encoding:表示该响应压缩算法,例如gzip
Cache-Control:指示客户端应如何缓存,例如max-age=300表示可以最多缓存300秒
Set-Cookie:告诉浏览器为当前页面所在的域设置cookie。
3.HTTP响应数据格式分为三部分:
1.响应行:响应数据第一行(协议,状态码,描述)
2.响应头:第二行开始,格式key:value
3.响应体:最后一部分,存放响应数据
4.请求响应介绍-HTTP响应格式:
1xx:响应中-临时状态码,表示请求已经接收,告诉客户端应该继续请求或者如果它已经完成忽略它。
2xx:成功-表示请求已经被成功接收,处理已完成
3xx:重定向-重定向到其他地方;让客户端再发起一次请求以完成整个处理
重定向是指:客户端浏览器要去访问A服务器上的资源,接下来他要发送请求到A服务器,但是这个资源已经被挪到B服务器了,
那么此时A服务器就可以给浏览器返回一个状态码(3xx),并且告诉浏览器去访问B服务器上面的资源,
此时浏览器拿到响应回来的状态码和路径时,接下来浏览器会自动的去请求B服务器上的资源,从而获得响应数据,
这个过程是浏览器自动完成的。 (A和B有可能是同一台服务器,只是资源的位置不同而已)
4xx:客户端错误-处理发生错误,责任在客户端。如:请求了不存在的资源,客户端未被授权,禁止访问等
5xx:服务器错误-处理发生错误,责任在服务端。如:程序抛出异常等。
5.常见的响应状态码:
状态码 | 英文描述 | 解释 |
---|---|---|
200(重要) | OK | 客户端请求成功,即处理成功,这是我们最想看到的状态码 |
302 | Found | 指示所请求的资源已移动到由Location 响应头给定的 URL,浏览器会自动重新访问到这个页面 |
304 | Not Modified | 告诉客户端,你请求的资源至上次取得后,服务端并未更改,你直接用你本地缓存吧。隐式重定向 |
400 | Bad Request | 客户端请求有语法错误,不能被服务器所理解 |
403 | Forbidden | 服务器收到请求,但是拒绝提供服务,比如:没有权限访问相关资源 |
404(重要) | Not Found | 请求资源不存在,一般是URL输入有误,或者网站资源被删除了 |
405 | Method Not Allowed | 请求方式有误,比如应该用GET请求方式的资源,用了POST |
428 | Precondition Required | 服务器要求有条件的请求,告诉客户端要想访问该资源,必须携带特定的请求头 |
429 | Too Many Requests | 指示用户在给定时间内发送了太多请求(“限速”),配合 Retry-After(多长时间后可以请求)响应头一起使用 |
431 | Request Header Fields Too Large | 请求头太大,服务器不愿意处理请求,因为它的头部字段太大。请求可以在减少请求头域的大小后重新提交。 |
500(重要) | Internal Server Error | 服务器发生不可预期的错误。服务器出异常了,赶紧看日志去吧 |
503 | Service Unavailable | 服务器尚未准备好处理请求,服务器刚刚启动,还未初始化好 |
状态码大全:https://cloud.tencent.com/developer/chapter/13553