常用的http方法和http响应码详解
来源:互联网 发布:电视盒桌面软件 编辑:程序博客网 时间:2024/05/21 21:36
常用的HTTP方法
GET:用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。
PUT:传输文件,报文主体中包含文件内容,保存到对应URI位置。
HEAD:获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。
DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。
- GET请求能够被缓存
- GET请求会保存在浏览器的浏览记录中
- 以GET请求的URL能够保存为浏览器书签
- GET请求有长度限制
- GET请求主要用以获取数据
- POST请求不能被缓存下来
- POST请求不会保存在浏览器浏览记录中
- 以POST请求的URL无法保存为浏览器书签
- POST请求没有长度限制
区别一(使用场景):
get重点在从服务器上获取资源,post重点在向服务器发送数据;
区别二(请求数据位置):
get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的;
post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的;
区别三(请求数据大小):
Get传输的数据量小,因为受URL长度限制,但效率较高;
Post可以传输大量数据,所以上传文件时只能用Post方式;
区别四(安全性):
get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等;
post较get安全性较高;
区别五(编码集合):
get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码。
post支持标准字符集,可以正确传递中文字符。
区别六(共享性):
get请求的请求数据在url中,便于分享连接,可以添加到书签,而post请求不可以。。
区别七(缓存):
get请求能被缓存,而post请求不行。
区别八(表单重复提交):
点击返回/刷新按钮,对get请求没有影响,对于post请求可能会导致数据重发(浏览器会提示)。
常用的HTTP状态码
1、状态码的类别
503:服务器正忙
详细说明1.1、2XX 成功
2XX 的响应结果表明请求被正常处理了。
1.1.1、200 OK
表示从客户端发来的请求在服务器端被正常处理了。在响应报文内,随状态码一起返回的信息会因方法的不同而发生改变。比如,使用GET 方法时,对应请求资源的实体会作为响应返回;而使用 HEAD 方法时,对应请求资源的实体首部不随报文主体作为响应返回(即在响应中只返回首部,不会返回实体的主体部分)。
1.1.2、204 No Content
1.1.3、206 Partial Content
该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的 GET 请求。响应报文中包含由 Content-Range 指定范围的实体内容。
1.2、3XX 重定向
3XX 响应结果表明浏览器需要执行某些特殊的处理以正确处理请求。
1.2.1、301 Moved Permanently
http://example.com/sample
1.2.2、302 Found
1.3、4XX 客户端错误
4XX 的响应结果表明客户端是发生错误的原因所在。
1.3.1、400 Bad Request
该状态码表示请求报文中存在语法错误。当错误发生时,需修改请求的内容后再次发送请求。另外,浏览器会像 200 OK 一样对待该状态码。
1.3.2、401 Unauthorized
1.3.3、403 Forbidden
该状态码表明对请求资源的访问被服务器拒绝了。服务器端没有必要给出拒绝的详细理由,但如果想作说明的话,可以在实体的主体部分对原因进行描述,这样就能让用户看到了。未获得文件系统的访问授权,访问权限出现某些问题(从未授权的发送源 IP 地址试图访问)等列举的情况都可能是发生 403 的原因。
1.3.5、404 Not Found
该状态码表明服务器上无法找到请求的资源。除此之外,也可以在服务器端拒绝请求且不想说明理由时使用。
1.4、5XX 服务器错误
5XX 的响应结果表明服务器本身发生错误。
1.4.1、500 Internal Server Error
该状态码表明服务器端在执行请求时发生了错误。也有可能是 Web 应用存在的 bug或某些临时的故障。
1.4.2、503 Service Unavailable
该状态码表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。如果事先得知解除以上状况需要的时间,最好写入 RetryAfter 首部字段再返回给客户端。
- 常用的http方法和http响应码详解
- HTTP请求中的常用请求字段和HTTP的响应状态码及响应头
- HTTP协议---HTTP请求中的常用请求字段和HTTP的响应状态码及响应头
- HTTP协议---HTTP请求中的常用请求字段和HTTP的响应状态码及响应头
- HTTP的请求和响应详解
- HTTP的请求和响应详解(转)
- HTTP的请求和响应详解
- http请求和响应详解
- HTTP响应码、请求和响应头标详解
- 黑马程序员--HTTP请求中的常用请求字段和HTTP的响应状态码及响应头
- http常用响应状态码
- 常用HTTP协议响应码
- HTTP响应状态码详解
- HTTP响应状态码详解
- HTTP 状态响应码 详解
- HTTP 状态响应码 详解
- http响应码304详解
- HTTP的请求和响应
- C++字符串
- OpenGL、OpenGL ES、OpenVG、GLX、EGL简介
- 关于storybord加视图控制器的代码实现方式
- mysql 数据库通过命令导出数据库文件
- Python读取和写入Excel文件[整]
- 常用的http方法和http响应码详解
- OpenCV使用霍夫变换检测图像中的形状
- Codeforces Round #368 (Div. 2)
- Linux Socket CAN驱动 <4.接收数据流程>
- 解压包含文件夹的压缩包
- Linux内存管理之页面回收
- Python 下的 return 关键字
- Adidas F50 No matter she has how
- oracle怎样修改表名、列名、字段类型、添加表列、删除表列