请求数据分为三部分
¤ 请求行:请求数据的第一行,分为3部分,每部分由空格分开。例:GET / HTTP/1.1
♦ GET部分表示请求方式。请求方式有七种:GET POST
• GET没有请求体,请求参数在请求行中,参数大小有限制
• POST请求参数在请求体中,没有大小限制
♦ /部分表示请求资源路径。
♦ HTTP/1.1部分表示协议版本
¤ 请求头:从第二行开始,格式为key:value形式。见请求头如下:
♦ Host 表示请求的主机
♦ User-Agent 浏览器版本。例:Chrome:Mozilla/5.0 Chrome/79 IE:Mozilla/5.0 (Windows NT...) like Gecko
♦ Accept 表示浏览器能接收的资源类型。例:text/* Image/* 注:*/*表示所有
♦ Accept-Language 表示浏览器偏好语言,服务器可以据此返回不同语言的网页
♦ Accept-Encoding 表示请浏览器可以支持的压缩格式。例:gzip deflate等
¤ 请求体:POST类型请求的最后一部分,存放请求参数。请求头和请求体之间有一空行隔开
响应数据分为三部分
¤ 响应行:响应数据的第一行,分为3部分,每部分之间有空格分开。例:HTTP/1.1 200 OK
♦ HTTP/1.1表示协议版本
♦ 200表示响应状态码。
♦ OK表示状态码描述。
¤ 响应头:从第二行开始,格式为key:value形式。常见响应头如下:
♦ Content-Type 表示响应内容的类型。例如:text/html image/jpeg
♦ Content-Length 表示响应内容的长度(字节数)。
♦ Content-Encoding 表示该响应压缩算法。例如:gzip
♦ Cache-Control 指示客户端应如何缓存。例如:max-age=300表示最多缓存300毫秒
¤ 响应体:最后一部分,存放响应数据。
响应状态码分类:
¤ 1XX 响应中-临时状态码,表示请求已接受,告诉客户端应该继续请求或者已经完成则忽略它。
¤ 2XX 成功-表示请求已经被成功接收,处理已完成。
¤ 3XX 重定向-重定向到其它地方,它让客户端再发起一个请求以完成整个处理。
¤ 4XX 客户端错误-处理发生错误,责任在客户端。例如客户端请求一个不存在的资源,客户端未被授权,禁止访问等。
¤ 5XX 服务端错误-处理发生错误,责任在服务端。例如服务端抛出异常,路由出错,HTTP版本不支持等。
常见响应码:
¤ 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 服务器还未准备好处理请求。
¤ 511 Network Authentication Required 客户端需要身份验证才能获得网络访问权限。
 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号