200 OK 请求成功,且返回了内容
204 No Content 请求成功处理,但不返回内容
301 Moved Permanently 请求永久重定向
302 Moved Temporarily 请求临时重定向
304 Not Modified 文件未修改,可以直接使用缓存的文件
400 Bad Request 客户端请求有语法错误,不能被服务器所理解
401 Unauthorized 请求未经授权,认证未通过
403 Forbidden 服务器收到请求,但是拒绝服务,通常会在响应正文中给出不提供服务的原因。通常跟权限有关
404 Not Found 请求的资源不存在,例如输入了错误的url
500 Internal Server Error 服务器发生不可预期的错误,导致无法完成客户端的请求。
503 Service Unavailable 服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常。可能服务器正在更新或重启
http定义了与服务器交互的不同方法。
get用于信息获取,向服务器请求指定的资源,get方法是安全的和幂等的。所谓安全是指该操作只是用于获取信息而非修改信息。get请求一般不会产生副作用。幂等是指使用同样的条件,一次和多次重复的请求对系统资源的影响是一致的。
post会向指定资源提交数据,请求服务器处理,请求资源会被包含在请求体中。post方法是非幂等的方法,因为该方法可能会创建新的资源或者修改现有资源。
put方法会向指定资源上传内容。put方法是幂等的方法,
delete方法用于请求服务器删除请求uri所标识的资源,delete请求后指定资源会被删除,delete方法是幂等的。
该方法请求服务器返回请求资源所支持的所有HTTP请求方法,该方法测试服务器的功能是否正常。
http协议中规定post提交的数据必须在body部分中,但是协议没有规定数据使用哪种编码方式。服务器端通常根据请求头headers中的Content-Type字段来获知请求中的消息主体是用何种方式编码,再对主体进行解析。content-type中定义的数据格式有以下几种:
1 application/x-www-form-urlencoded
这是最常见的post提交数据的方式,也是默认的方式。这时提交的数据会按照key1=val1&key2=val2的方式进行编码,可以看到body当中的内容和get请求是完全相同的。
2 multipart/form-data
在使用form表单上传文件时,必须制定其enctype属性等于multipart/form-data。这种方式一般用来上传文件。
3 application/json
该格式用来告诉服务器消息主体是序列化后的json字符串,由于json规范的流行,服务器语言都有处理json的函数。json格式支持比键值对更复杂的数据结构。
4 text/xml
这是一种使用http协议作为传输协议,xml作为编码方式的远程调用规范。
get可提交的数据量受到URL长度的限制,http协议规范没有对URL长度进行限制,这个限制的特定的浏览器及服务器对它的限制。
理论上,post方法是没有限制数据大小的,http协议规范也没有进行大小限制,出于安全考虑,服务器软件在实现时会做一定限制。
作者:君子慎独不欺暗室
原文链接:https://www.cnblogs.com/mydesky2012/p/10943001.html