1.   HTTP的请求方法以及响应状态码

1.1. 请求方法

http请求方法有GET、POST、PUT、HEAD、DELETE、OPTIONS、TRACE、CONNECT。当然上述方法是基于HTTP/1.1的,HTTP/1.0中独有的方法就不说了。

  • GET----获取资源

    • GET方法一般用来从服务器上获取资源的方法。服务器端接到GET请求后,就会明白客户端是要从服务器端获取相应的资源,然后就会根据请求报文中相应的参数,将需要的资源返回给客户端。使用GET方式的请求,传输的参数是拼接在URI上的。
  • POST----数据提交
    • POST方法一般用于表单提交,将客户端的数据塞到请求体中发送给服务器端。
  • PUT----上传文件
    • PUT方法主要用来上传文件,将文件内容塞到请求报文体中,传输给服务器。因为HTTP/1.1的PUT方法自身不带验证机制,所以任何人都可以上传文件,存在安全性,所以上传文件时不推荐使用。但是在设计接口使用REST标准时,可以使用PUT来做相应内容的更新。
  • HEAD----获取响应报文头
    • 响应端收到HEAD请求后,只会返回相应的响应头,不会返回响应体。
  • DELETE----删除文件
    • DELETE用于删除URI指定的资源,与PUT一样,自身也是不带验证机制的,不过在REST标准中可以用来做相应API的删除功能。
  • OPTIONS----查询支持的方法
    • OPTIONS方法是用来查询服务器可对那些请求方法做出响应,返回内容就是响应端所支持的方法。
  • TRACE----追踪路径
    • TRACE方法可追踪请求经过的代理路径,在发送请求时会为Max-Forwards头部字段填入数字,每经过一个代理中转Max-Forwards的值就会减一,直至Max-Forwards为零后,才会返回200。因为该方法易引起XST(Cross-Site Tracing,跨站追踪)攻击,所以不常用呢。
  • CONNECT----要求用隧道协议连接代理
    • CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要使用SSL(Secure Sockets Layer, 安全套接层)和TLS(Transport Layer Security, 传输安全层)协议将通信内容进行加密后经网络隧道传输。

1.2. 响应状态码

HTTP协议的响应状态码。顾名思义,响应状态码是用来标志HTTP响应状态的,响应状态由响应状态码和响应原因短语构成,当然状态码有很多中,本部分就挑出来常用的状态码进行讨论。下方是响应状态码可以分为的几大类:

  • 1xx ---- Informational(信息性状态码),表示接受的请求正在处理。
  • 2xx ---- Success (成功),表示请求正常处理完毕。
  • 3xx ---- Redirection (重定向),表示要对请求进行重定向操作,当然其中的304除外。
  • 4xx ---- Client Error (客户端错误),服务器无法处理请求。
  • 5xx ---- Server Error (服务器错误),服务器处理请求时出错。

上面是响应状态码的整体分类,接下来介绍一些常用的响应状态码。

  (01)、200 OK : 表示服务端正确处理了客户端发送过来的请求。

  (02)、204 No Content ['kɒntent]内容: 表示服务端正确处理请求,但没有报文实体要返回。

  (03)、206 Partial [ˈpɑ:ʃl]部分 Content :表示服务端正确处理了客户端的范围请求,并按照请求范围返回该指定范围内的实体内容。

  (04)、301 Moved Permanently['pɜ:mənəntlɪ]永久的:永久性重定向,若之前的URI保存到了书签,则更新书签中的URI。

  (05)、302 Found:临时重定向,该重定向不会变更书签中的内容。

  (06)、303 See Other:临时重定向,与302功能相同,但是303状态吗明确表示客户端应当采用GET方法获取资源。

  (07)、304 Not Modified: 资源未变更,该状态码与重定向并没有什么关系,当返回该状态码时,告诉客户端请求的资源并没有更新,响应报文体中并不会返回所请求的内容。

  (08)、400 Bad Request: 错误请求,表示请求报文中包含语法错误。

  (09)、401 Unauthorized[ʌnˈɔ:θəraɪzd]未经许可的:请求未认证,表示此发送的请求需要客户端进行HTTP认证(稍后会提到)。

  (10)、404 Not Found:找不到相应的资源,表示服务器找不到客户端请求的资源。

  (11)、500 Internal [ɪnˈtɜ:nl]Server Error:服务器内部错误,表示服务器在处理请求时出现了错误,发生了异常。

  (12)、503 Service Unavailable[ˌʌnəˈveɪləbl]难以获得的:服务不可用,表示服务器处于停机状态,无法处理客户端发来的请求。

转载于:https://www.cnblogs.com/licker/p/9418509.html

02-HTTP的请求方法以及响应状态码相关推荐

  1. HTTP简介、请求方法与响应状态码

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! Https相关的文章,请看这一篇:TCP.IP协议族之数字签名与HTTPS详解 接下来想系统的回顾 ...

  2. TCP/IP协议族(一) HTTP简介、请求方法与响应状态码

    接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单 ...

  3. http接口测试:了解协议、请求方法、响应状态码

    http接口测试:了解协议.请求方法.响应状态码 接口在各个系统间的重要性无需重申,主要体现在外部系统与系统之间以及内部各子系统之间的交互点.通过这些特定的交互点和一些特殊的规则标准(协议)来进行系统 ...

  4. HTTP协议、HTTP请求方法、常见状态码、HTTP消息

    HTTP协议 客户端请求,服务端响应.浏览器与服务器不建立持久连接,响应后连接失效. HTTP请求方法 一.GET GET方法用于获取请求页面的指定信息. 二.HEAD 除了服务器不能在响应里返回消息 ...

  5. HTTP协议学习笔记(一)请求方法名及状态码

    HTTP协议是位于TCP协议之上的应用层协议,是应用进程之间通讯的一种协议.之所以称之为应用层协议,是因为它无需关心数据是通过什么方式到达对端的,在到达对方的应用程序之前都经历了什么,而只需要协商好使 ...

  6. 3-3:HTTP协议之request和respond及常见请求方法和常见状态码

    文章目录 一:request (1)请求报文基本构成 (2)请求方法 二:respond (1)响应报文基本构成 (2)HTTP常见状态码 三:HTTP常见Header(字段) 注意下面需要分析请求报 ...

  7. Servlet+常用头信息+响应状态码+响应对象

    一.Servlet 1.概念 什么是Servlet? 1.Servlet 是 java EE 的规范之一.也就是接口.Servlet 接口定义了一套网络请求的规范2.Servlet 是 javaweb ...

  8. 常用HTTP响应状态码

    web应用中常用的响应状态码: 状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值: 1xx:指示信息–表示请求已接收,继续处理 2xx:成功–表示请求已被成功接收.理解.接受 3x ...

  9. 常见HTTP响应状态码

    状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值: 1xx:指示信息--表示请求已接收,继续处理 2xx:成功--表示请求已被成功接收.理解.接受 3xx:重定向--信息不完整需要 ...

最新文章

  1. Ubuntu14.04 LTS中安装Ruby 2.4源码操作步骤
  2. 【视频课】言有三每天答疑,38课深度学习+超60小时分类检测分割数据算法+超15个Pytorch框架使用与实践案例助你攻略CV...
  3. signature=16ceadeb007b12c6b3bcab834073ab21,Distributed Backscattering
  4. NIO学习–核心概念与基本读写
  5. go 成长路上的坑(1)
  6. Linux 字符设备驱动结构(四)—— file_operations 结构体知识解析
  7. gRPC的平滑关闭和在Kubernetes上的服务摘流方案总结
  8. php 添加 redis 扩展模块
  9. stcc52单片机时钟电路_有备无患,单片机面试问题集
  10. 服务器后端开发系列——《实战Nginx高性能Web服务器》 (转载)
  11. 2020华为软挑热身赛 个人总结
  12. Mac电脑版微信】双开方法,最简单的微信多开教程
  13. SQL查询时间段方法
  14. 阿里java类注释模板_向IDE导入阿里编码规约格式化模板和注释模板
  15. 关于Obj-c代码静态扫描 iPhone代码静态扫描的问题(clang-analyzer)
  16. 推荐几款HTML5开发工具
  17. 领导 - 如何培养您的团队的信心
  18. python基础编程:python下10个简单实例代码
  19. 三星java世界x108_我对三星X100/X108的使用感受
  20. 每周分享第 12 期

热门文章

  1. LeetCode 292. Nim Game
  2. Python (五) 高级特性
  3. 【嵌入式】C语言高级编程-嵌入式C语言简介(01)
  4. 【Linux】一步一步学Linux——ipcs命令(141)
  5. pandas python2.7_python-2.7 – Pandas Seaborn安装
  6. php修改数组元素,php数组特定元素修改方法
  7. 语言的顺序表的合拼_2020语文中考专题五:语言运用和综合性学习。掌握基础题五种题型...
  8. AOJ GRL_1_B: Shortest Path - Single Source Shortest Path (Negative Edges) (Bellman-Frod算法求负圈和单源最短路径)
  9. linux libodbc.so.1,CentOS6.0虚拟机上安装nginx启动的错误---缺少libpcre.so.1共享库
  10. 静态分配内存和动态分配内存