一、HTTP 请求 和 响应
1.1、请求方法
常用get,post
head方法:仅返回头信息,若只需要判断服务是否正常提供可使用head,状态码200表示正常。
- get和post的区别?
- 向浏览器发送请求数据时,get方法的请求数据跟在uri后面,以 ?分隔;post方法的请求数据写在请求体中。
- get方法发送数据的长度有限制,不同浏览器的长度限制不同;post方法理论上没有长度限制。
- get方法只能发送字符串格式的请求数据;post方法可以发送任何类型的数据,如流媒体信息:视频、音乐、图片等。
- 根据W3C,get请求比较适合向服务器请求数据;post方法适合向服务器传送数据。
- 对于服务器来说,get方法是安全的,它只请求从服务器获得资源,不会对服务器造成威胁;post方法向服务器提交数据,如果这些数据以后门的方式进入服务器是很危险的,所以在拦截请求时,大部分情况会监听post请求。
- get支持缓存;post不支持缓存
1.2、uri
- URI和URL的区别?
- URI是统一资源标识符,代表网络中某个资源的名字,但无法定位资源。
- URL是统一资源定位符,代表网络中某个资源,可以定位到该资源。
- URI即为URL中端口后到部分,如URL:http://localhost:8080/test/user/all,/test/user/all为URI。
1.3、请求报头
每行一对key-value键值对,格式为key: value,冒号与value之间用空格隔开。
2.1、状态码
2xx:成功
3xx:重定向
301 | Moved Permanently | 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替 |
302 | Found | 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI |
304 | Not Modified | 未修改。此时客户端读取的是缓存中的资源。 客服端发现缓存中有请求希望访问的资源,通过头信息询问服务器中此资源是否有修改,若返回304,则直接读取缓存中的文件资源。减少了服务器工作量。 |
4xx:客户端错误
404 | Not Found | 无法找到资源 |
出现404有可能是请求路径错误;若请求路径正确,但服务器中对应的资源没有启动成功,一般是前端错误。
5xx:服务器错误
500 | Internal Server Error | 服务器内部错误 |
503 | Service Unavailable | 服务器暂时不可用,由于超载或系统维护 |