>  기사  >  백엔드 개발  >  Python 인터페이스 자동화 테스트의 필수 기반인 http 프로토콜에 대한 자세한 설명

Python 인터페이스 자동화 테스트의 필수 기반인 http 프로토콜에 대한 자세한 설명

WBOY
WBOY앞으로
2022-05-31 11:39:582196검색

이 기사는 인터페이스 자동화 테스트에 필요한 기반으로 http 프로토콜과 관련된 문제를 주로 소개하는 python에 대한 관련 지식을 제공합니다. 모두에게 도움이 되기를 바랍니다.

Python 인터페이스 자동화 테스트의 필수 기반인 http 프로토콜에 대한 자세한 설명

추천 학습: python 동영상 튜토리얼

HTTP 프로토콜 및 특성

HTTP 프로토콜을 사람으로 비교해 본다면, 이 사람을 깊이 이해하고 싶다면 반드시 먼저 상대방의 성격을 이해하게 될 것입니다. 특성은 기다립니다. 그렇다면 HTTP 프로토콜의 특징은 무엇입니까? 일반적으로 다음과 같은 기능이 있습니다.

  • 1. 첫 번째 기능: HTTP 프로토콜은 TCP 및 IP 프로토콜의 구성원이므로 <code>클라이언트/서버 모드를 지원합니다. 제품군 다른 멤버와 마찬가지로 클라이언트/서버 모드가 작동하는 방식은 클라이언트가 서버에 요청을 보내는 방식으로 클라이언트와 서버 간의 통신에 사용됩니다. 서버 응답 요청하고 응답하는 서비스입니다. 모든 HTTP 요청은 클라이언트로부터 통신을 설정하며, 서버는 클라이언트 요청을 받기 전에 응답을 보내지 않습니다. 이는 의 특징 중 하나입니다. HTTP 프로토콜.
HTTP协议支持 客户/服务端 模式;因为 HTTP 协议 是 TCP、IP 协议簇的一员,与其他成员一样 ,用于客户端与服务器之间的通信;而 客户/服务器模式 的工作方式是由客户端向服务器发出请求,服务器端响应请求,并进行响应的服务;所有的 HTTP请求 都是从客户端开始建立通信,服务器端在没有接收到任何的客户端请求之前是不会发出响应的;这就是 HTTP协议 的特点之一

Python 인터페이스 자동화 테스트의 필수 기반인 http 프로토콜에 대한 자세한 설명


  • 2、第二个特点:简单快速 ;客户端向服务器请求服务的时候,只需要传入请求的方法和路径;常用的请求方法有 GET、HEAD、POST(除了这三种之外,还有其他不那么常用的方法,有兴趣的小伙伴可以在 HTTP协议状态及报文组成 一文进行拓展);由于 HTTP协议 简单,使得 HTTP服务器的程序规模小,因而通信速度很快。

  • 3、第三个特点:灵活 ;之所以灵活是因为 HTTP 允许传输任意类型的数据对象;传输的类型由 Content-Type 加以标记内容类型,支持多种内容格式的传输。(兼容性很强)

  • 4、第四个特点:无连接;这里的无连接可不是没有连接的意思,而是限制每个连接只处理一个请求。服务器处理完客户端的请求并收到客户端的应答之后,就断开连接。采用如此的设计方式呢,能够节省传输时间。
    • 拓展:可能有同学认为一个页面有很多个 HTTP 请求,来回这样连接、断开会效率很低。其实早期这么做的原因是因为产生于互联网,因此服务器需要处理同时面向全世界 数十万、上百万 的网页访问。但是每个客户端(或者说浏览器)与服务器之间交换数据的间歇性特别大,所以 HTTP 的传输是具备突发性与顺时性的,大部分通道实际上会很空闲,无端的占用资源比较浪费。因此呢, HTTP 的设计者有意使用这样的特点将协议设计为 请求的时候建立连接,请求完就释放连接。 尽快的将资源释放出来服务给其他的客户端,无论怎样,对于同一个客户端来说,还是每一次只处理一个请求,所以我们也能看出来 HTTP 协议的另外一个优点,它很专一。(*^▽^*)

  • 5、最后一个特点:无状态; 无状态的意思就是说 HTTP协议对于事务的处理没有记忆能力 ;缺少状态就意味着如果后续处理需要前面的信息,则必须要重传,这就很可能会导致每次连接传送的数据量增大。另一方面,在服务器不需要先前的信息时它的响应就比较快。

PS:所以 HTTP 的这些特性是既有优点也有缺点。

  • 优点:优点在于解放服务器,每一次请求点到为止不会造成不必要的连接占用。
  • 缺点:缺点在于每一次请求都会传输大量的重复内容信息。
  • 所以保持 HTTP 连接的两种技术就应运而生了,那就是 cookiesession

 HTTP的请求与响应

现在我们知道 HTTP协议 是一种请求与响应的模式,那么就来一起认识一下 HTTP的请求和响应吧,先从 HTTP协议的请求说起。

 HTTP的请求

请求 是发送给接口的数据对象,包括接口的地址(也就是常说的 URL


Python 인터페이스 자동화 테스트의 필수 기반인 http 프로토콜에 대한 자세한 설명

Python 인터페이스 자동화 테스트의 필수 기반인 http 프로토콜에 대한 자세한 설명

🎜2. 두 번째 기능: 간단하고 빠릅니다. 클라이언트가 서버에 서비스를 요청할 때 일반적으로 사용되는 요청 방법과 경로만 전달하면 됩니다. GET, HEAD, POST입니다(이 세 가지 외에도 일반적으로 사용되지 않는 다른 방법이 있습니다. 관심 있는 친구는 HTTP 프로토콜 상태 및 메시지 구성 기사를 확장할 수 있습니다). HTTP 서버의 프로그램 크기를 작게 만들어 통신 속도가 매우 빠릅니다. 🎜🎜🎜3. 세 번째 기능: 유연함; HTTP가 유연한 이유는 전송 유형이 결정되어 있기 때문입니다. by Content-Type은 콘텐츠 유형을 표시하고 다양한 콘텐츠 형식의 전송을 지원합니다. (강력한 호환성) 🎜🎜🎜4. 네 번째 기능: 연결 없음은 연결이 없다는 의미가 아니라 각 연결이 하나의 요청만 처리하도록 제한합니다. 서버는 클라이언트의 요청을 처리하고 클라이언트의 응답을 받은 후 연결을 끊습니다. 이러한 설계 방법을 채택하면 전송 시간을 절약할 수 있습니다. 🎜🎜확장: 어떤 학생들은 한 페이지에 HTTP 요청이 많아서 이렇게 왔다 갔다 연결하고 끊는 것이 매우 비효율적이라고 생각할 수도 있습니다. 사실 초기에 이렇게 한 이유는 인터넷에서 시작되었기 때문에 서버가 전 세계에서 동시에 수십만, 수백만 건의 웹페이지 방문을 처리해야 했기 때문입니다. 그러나 각 클라이언트(또는 브라우저)와 서버 간의 데이터 교환은 매우 간헐적이므로 HTTP 전송이 급증하고 시기적절합니다. 대부분의 채널은 실제로 아무런 이유 없이 유휴 상태가 되며 리소스가 상대적으로 낭비됩니다. 따라서 HTTP 설계자는 의도적으로 이 기능을 사용하여 가 요청되면 연결을 설정하고 요청이 완료된 후 연결을 해제하는 프로토콜을 설계했습니다. 가능한 한 빨리 다른 클라이언트에 서비스를 제공하기 위해 리소스를 해제합니다. 어쨌든 동일한 클라이언트에 대해 한 번에 하나의 요청만 처리되므로 HTTP 프로토콜의 또 다른 장점도 볼 수 있습니다. 입니다. 매우 구체적입니다. (*^▽^*)🎜🎜🎜5. 마지막 기능: 무상태(stateless)는 HTTP 프로토콜을 의미합니다. 트랜잭션 처리; 상태가 부족하다는 것은 후속 처리에 이전 정보가 필요한 경우 이를 재전송해야 하므로 연결당 전송되는 데이터 양이 늘어날 수 있음을 의미합니다. 반면에 서버는 이전 정보가 필요하지 않을 때 더 빠르게 응답합니다. 🎜🎜PS: 따라서 이러한 HTTP 기능에는 장점과 단점이 모두 있습니다. 🎜🎜🎜장점: 서버를 해방시키는 장점이 있으며, 각 요청 지점이 불필요한 연결 점유를 유발하지 않습니다. 🎜단점: 각 요청이 대량의 중복 콘텐츠 정보를 전송한다는 단점이 있습니다. 🎜그래서 HTTP 연결을 유지하는 두 가지 기술, 즉 쿠키세션이 탄생했습니다. 🎜 HTTP 요청 및 응답🎜🎜이제 HTTP 프로토콜이 요청 및 응답 모드라는 것을 알았으니 HTTP부터 시작해서 HTTP 요청 및 응답을 함께 알아봅시다. 동의 요청과 함께. 🎜

HTTP 요청

🎜요청은 인터페이스 주소(URL라고도 함), 요청된 인터페이스 주소를 포함하여 인터페이스로 전송되는 데이터 개체입니다. 메소드(get, post...), 매개변수, 요청 헤더(Headers), 쿠키, 데이터 등... 아래 그림을 참조하세요. 🎜🎜🎜🎜🎜

Python 인터페이스 자동화 테스트의 필수 기반인 http 프로토콜에 대한 자세한 설명


위 사진의 메시지 내용은 HTTP 프로토콜의 일반적인 게시물이자 요청 메시지입니다(GET 요청 메시지의 요청 본문을 무시하고 제가 구성한 것입니다). >.) :忽略get请求报文的请求体,那是我瞎编的 。):

  • 1、第一行就是请求行,包含有请求方法、请求URI、HTTP协议及版本(与第二行的 host属性 相结合形成了完整的 请求URL )

  • 2、中间的部分就是报文头,包含有若干个属性;格式就是图中的 属性名:属性值 这样的格式。服务端根据报文头来获取客户端的信息。

  • 3、最下面的部分就是报文体,报文体与报文头之间必须有一个空行。在类似图中这样一个 post 请求里面将页面表单里的组件值通过 name=admin&passwd=123456 这样类似的键值对的格式编码形成这样的格式化串,承载多个请求参数的数据。(不仅仅是报文体可以传输数据,请求的 URL 在 get 请求方法的时候也是支持传递参数的。)


在这里可以看出主要的信息是通过请求的方法、url、与报文的主体来进行传递的。这也是 HTTP 的特征之一,简单快速,同时也会发现报文头里也包含有很多种信息,这些做一个了解即可。参考 HTTP协议状态及报文组成 文末的请求头报文。


 HTTP的响应

熟悉了 HTTP 的请求,再来看一下响应。见下图:


Python 인터페이스 자동화 테스트의 필수 기반인 http 프로토콜에 대한 자세한 설명

可以从响应报文的样式看出,与请求的报文比较相像,他也分为三个部分:请求行对应响应行、请求头对应响应头、请求体对应着响应体。

  • 1、响应行分为两部分:报文协议版本及响应状态码。
  • 2、响应头也分为服务器类型、相应数据类型响应时间等多个参数。
  • 3、响应体就是我们真正想要的干货,就是请求的最终返回内容。主要针对这个内容进行解析,比如说请求的是一个页面,这个时候请求的返回就是一个比较大的 HTML

 HTTP请求方法剖析

更多内容参考 HTTP协议状态及报文组成 一文的 HTTP请求方法

 GET 方法

GET方法 用来请求访问已被 URI 识别的资源,指定的资源经服务器端解析后返回响应内容。(见下图)


Python 인터페이스 자동화 테스트의 필수 기반인 http 프로토콜에 대한 자세한 설명


PSOT 方法

POST方法GET方法 功能类似,一般用来传输实体的主体;主要的目的不是为了获取响应主体的内容,是向 WEB服务器提供表单数据,尤其是大批量的数据

POST方法 其实是克服了 GET方法 的一些缺点,通过 POST 请求,数据就不是作为一个 URL 请求的一部分了,而是作为标准数据的格式来传递给 WEB服务器 这也就克服了 GET方法

  • 1 첫 번째 줄은 요청 방법, 요청 URI, HTTP 프로토콜 및 버전을 포함하는 요청 줄입니다(두 번째 줄의 호스트 속성과 결합되어 전체 요청 URL)
  • 2. 중간 부분은 여러 속성을 포함하는 메시지 헤더입니다. 형식은 그림의 속성 이름:속성 값입니다. 서버는 메시지 헤더를 기반으로 클라이언트 정보를 얻습니다. Python 인터페이스 자동화 테스트의 필수 기반인 http 프로토콜에 대한 자세한 설명

  • 3. 하단 부분은 메시지 본문입니다. 메시지 본문과 메시지 헤더 사이에 빈 줄이 있어야 합니다. 그림과 같은 게시 요청에서 페이지 양식의 구성 요소 값은 name=admin&passwd=123456와 같은 유사한 키-값 쌍 형식으로 인코딩됩니다. > 여러 요청 매개변수의 데이터를 전달하는 형식입니다. (메시지 본문에서 데이터를 전송할 수 있을 뿐만 아니라, 요청된 URL은 요청 메서드 가져오기 시 매개변수 전달도 지원합니다.)

여기에서 주요 사항을 볼 수 있습니다. 요청 메소드, URL 및 메시지 본문을 통해 전달됩니다. 이것은 또한 HTTP의 특징 중 하나입니다. 동시에 메시지 헤더에도 많은 정보가 포함되어 있음을 알 수 있습니다. HTTP 프로토콜 상태 및 메시지 구성 마지막 부분에 있는 요청 헤더 메시지를 참조하세요. 🎜
🎜

HTTP 응답

🎜이제 HTTP 요청에 익숙해졌으니 응답을 살펴보겠습니다. 아래 사진을 참조하세요: 🎜🎜🎜Python 인터페이스 자동화 테스트의 필수 기반인 http 프로토콜에 대한 자세한 설명🎜🎜 가능 응답에서 본 메시지의 스타일은 요청 메시지와 유사합니다. 요청 라인은 응답 라인에 해당하고 요청 헤더는 응답 헤더에 해당하며 요청 본문은 해당합니다. 응답 본문에. 🎜
  • 1. 응답 줄은 메시지 프로토콜 버전과 응답 상태 코드의 두 부분으로 나뉩니다.
  • 2. 응답 헤더는 서버 유형, 해당 데이터 유형 응답 시간 등과 같은 여러 매개변수로 나뉩니다.
  • 3. 응답 본문은 우리가 정말로 원하는 것이며 요청의 최종 반환 내용입니다. 이 콘텐츠는 주로 구문 분석됩니다. 예를 들어, 페이지가 요청되면 요청에 의해 반환되는 응답은 상대적으로 큰 HTML입니다.
🎜

HTTP 요청 방법 분석

🎜자세한 내용은 HTTP 프로토콜 상태 문서의 HTTP 요청 방법을 참조하세요. 그리고 메시지 구성. 🎜

GET 메서드

🎜GET 메서드URI로 식별된 리소스에 대한 액세스를 요청하는 데 사용됩니다. 지정된 리소스는 서버에서 구문 분석되고 응답 내용을 반환합니다. (아래 그림 참조) 🎜🎜🎜Python 인터페이스 자동화 테스트의 필수 기반인 http 프로토콜에 대한 자세한 설명🎜🎜

PSOT 방법

🎜POST 방법GET 방법과 유사한 기능을 갖고 있으며 일반적으로 엔터티의 본문을 전송하는 데 사용됩니다. 응답 본문의 내용이지만 웹 서버, 특히 대량의 데이터 배치에 양식 데이터를 제공합니다. 🎜🎜POST 메서드는 실제로 GET 메서드의 일부 단점을 극복합니다. 대신에 POST 요청을 통해 데이터가 URL 요청의 일부가 아닙니다. 이는 표준 데이터 형식으로 WEB 서버에 전달되므로 데이터를 기밀로 유지할 수 없고 데이터 양이 제한된다는 GET 메서드의 단점을 극복합니다. 🎜🎜🎜🎜🎜🎜🎜다음은 덜 일반적으로 사용되는 방법을 소개합니다. 🎜

PUT 방식

  • 클라이언트에서 서버로 전송된 데이터는 지정된 문서의 내용을 대체합니다.
  • PUT 방식과 POST 방식의 가장 큰 차이점은 PUT은 멱등성이고 POST는 멱등성이 아니라는 점입니다. 따라서 리소스를 전송하기 위해 PUT 메서드를 더 자주 사용합니다. PUT方法用作传输资源。
  • 开启 PUT方法 需要控制权限,否则会造成一定的安全隐患,比如向服务器传输带有恶意 payload 的攻击脚本。

 HEAD 方法

  • HEAD方法 几乎与 GET 方法相同,只不过HEAD方法只请求消息报文头,返回的响应中没有具体的内容,用于获取报头。

 DELETE 方法

  • 请求服务器删除指定的资源,也就是删除文件。(一般服务器会控制此方法的权限,否则会造成重大的安全漏洞。)

OPTIONS 方法

  • 用来查询针对请求的 URI 指定的资源支持的方法,就是询问 请求的URL能够支持什么方法
  • PUT 방법을 활성화하려면 권한 제어가 필요합니다. 그렇지 않으면 악성 페이로드가 포함된 공격 스크립트를 서버로 전송하는 등 특정 보안 위험이 발생할 수 있습니다.

HEAD 메서드Python 인터페이스 자동화 테스트의 필수 기반인 http 프로토콜에 대한 자세한 설명

HEAD 메서드GET 메서드와 거의 동일합니다. 단, HEAD 메서드는 메시지 헤더만 요청하고 응답을 반환합니다. 헤더를 가져오기 위한 특정 콘텐츠가 없습니다.

DELETE 메소드
  • 서버에 지정된 리소스 삭제, 즉 파일 삭제를 요청합니다. (일반적으로 서버는 이 메서드의 권한을 제어합니다. 그렇지 않으면 심각한 보안 허점이 발생합니다.)

OPTIONS 메서드

  • 는 요청된 URI에 지정된 리소스가 지원하는 메서드를 쿼리하는 데 사용됩니다. 요청을 요청하려면 URL이 어떤 메소드를 지원할 수 있나요?.

이 방법은 실제 업무에서는 거의 사용되지 않으며, 공격자나 침투 테스트 엔지니어가 정보를 수집하는 데 자주 사용됩니다.


TRACE 메서드

  • 는 주로 테스트 또는 진단을 위해 서버에서 받은 요청을 에코하는 데 사용됩니다. (일반적으로 사용되지 않음)
  • 보안 분야의 크로스 사이트 공격에 자주 사용됩니다.
  • CONNECT 방법

은 클라이언트가 요청한 리소스로 양방향 통신 채널을 열기 때문에 터널을 구축하는 데 더 자주 사용됩니다. (프록시를 사용할 때 사용하는 방법입니다.) 브라우저를 사용하여 WEB 페이지가 있는 서버에 요청을 할 때, 서버가 우리의 요청을 받고 상황에 응답합니다. 브라우저는 웹 페이지를 수신하고 표시하며, 웹 페이지가 있는 서버는 브라우저의 요청에 대한 응답으로 HTTP 상태 코드가 포함된 서버 헤더를 반환합니다. HTTP 상태 코드의 영문명은 HTTP Status Code입니다. 다음은 일반적인 HTTP 상태 코드입니다. 301 - 리소스(웹페이지 등)가 다른 URL로 영구 이전되었습니다. 분류 설명1**정보, 서버가 요청을 수신했으며 요청자는 계속해서 작업을 수행해야 함 작업 수행
HTTP 상태 코드에 대한 자세한 설명 HTTP 상태 코드
200 - 요청이 성공했습니다.
404 - 요청한 리소스(웹페이지 등)가 성공하지 못했습니다. 존재 500 - 내부 서버 오류
HTTP 상태 코드 분류
🎜2**🎜 🎜 성공, 작업이 성공적으로 수신 및 처리되었습니다. 🎜🎜🎜🎜3**🎜🎜리디렉션, 요청을 완료하려면 추가 조치가 필요합니다🎜🎜🎜🎜4**🎜🎜클라이언트 오류, 요청에 구문 오류가 포함되어 있거나 요청을 완료할 수 없습니다🎜🎜 🎜🎜5**🎜🎜서버 오류, 서버가 요청을 처리하는 동안 오류가 발생했습니다🎜🎜🎜🎜

HTTP 상태 코드 테이블

302Found임시 이동 대신 새 URI를 사용해야 합니다. 301과 비슷합니다. 그러나 리소스는 일시적으로만 이동됩니다. 클라이언트는 계속해서 원본 URI303See Other를 사용해야 다른 주소를 볼 수 있습니다. 301과 비슷합니다. GET 및 POST 요청을 사용하여 304Not ModifiedUnmodified를 확인하세요. 요청한 리소스가 수정되지 않았습니다. 서버가 이 상태 코드를 반환하면 리소스가 반환되지 않습니다. 클라이언트는 일반적으로 305프록시 사용프록시를 사용합니다. 요청된 리소스는 프록시 306Unused사용되지 않는 HTTP 상태 코드 307Temporary RedirectTemporary Redirect를 통해 액세스해야 합니다. 302와 비슷합니다. GET 요청을 사용하여 리디렉션401승인되지 않음요청에는 사용자의 신원 인증이 필요합니다402결제 필요향후 사용을 위해 예약됨403Forbidden 서버는 클라이언트 클라이언트의 요청을 요청했지만 이 요청 실행을 거부했습니다. 404Not Found서버가 클라이언트 요청에 따라 리소스(웹페이지)를 찾을 수 없습니다. 이 코드를 사용하면 웹사이트 디자이너는 연결을 닫을 수 있습니다. 서버가 일시적으로 처리할 수 없는 경우 Retry-After 응답 메시지가 포함됩니다414Request-URI Too Large 500 信息Internal Server ErroNot Implemented잘못된 게이트웨이서비스를 사용할 수 없음504Gateway Time-out게이트웨이 또는 프록시 역할을 하는 서버가 원격 서버로부터 요청을 받지 못했습니다. timeHTTP 버전이 지원되지 않습니다추천 학습: python 비디오 튜토리얼

상태 코드

영어 이름
중국어 설명
100 Continue Continue. 클라이언트는
101 프로토콜 전환 프로토콜 전환 요청을 계속해야 합니다. 서버는 클라이언트의 요청에 따라 프로토콜을 전환합니다.
더 고급 프로토콜로만 전환할 수 있습니다. 예를 들어 새 버전의 HTTP 프로토콜로 전환할 수 있습니다.
200 OK 요청이 성공했습니다. 일반적으로 GET 및 POST 요청에 사용됩니다
201 Created 이 생성되었습니다. 성공적으로 요청하고 새 리소스를 만들었습니다
202 Accepted Accepted. 요청이 수락되었지만 처리가 완료되지 않았습니다
203 공인되지 않은 정보 공인되지 않은 정보입니다. 요청이 성공했습니다. 하지만 반환된 메타정보는 원본 서버에 있는 것이 아니라 복사본
204 콘텐츠 없음 콘텐츠 없음. 서버가 성공적으로 처리되었지만 콘텐츠가 반환되지 않았습니다. 웹 페이지
205 콘텐츠 재설정 콘텐츠 재설정 없이 브라우저가 현재 문서를 계속 표시하도록 합니다. 서버 처리가 성공적으로 완료되었으며 사용자 단말기(예: 브라우저)는 문서 보기를 재설정해야 합니다.
이 반환 코드를 사용하여 브라우저의 양식 필드를 지울 수 있습니다.
206 부분 콘텐츠 부분 콘텐츠. 서버가 GET 요청
300 복수 선택 복수 선택의 일부를 성공적으로 처리했습니다. 요청한 리소스에는 여러 위치가 포함될 수 있으며 이에 따라 리소스 특성 및 주소 목록이
사용자 단말기(예: 브라우저)에서 반환되어
301 Moved Permanently Permanently moved를 선택할 수 있습니다. 요청된 리소스는 새 URI로 영구적으로 이동되었으며 반환 정보에는 새 URI가 포함되며 브라우저는 자동으로 새 URI로 이동됩니다. 앞으로 새로운 요청은
지정된 날짜 이후에 수정된 리소스만 반환하려고 함을 나타내는 헤더를 제공하여 액세스된 리소스를 캐시합니다.
"요청한 리소스를 찾을 수 없습니다"에 대한 개인 페이지를 설정하세요
405 Method Not Allowed 클라이언트 요청의 메서드가 금지됩니다
406 Not Acceptable 서버를 기반으로 할 수 없습니다. 클라이언트 요청 콘텐츠 속성에서 요청을 완료합니다
407 프록시 인증 필요 요청에는 401과 유사한 프록시 인증이 필요하지만 요청자는 승인을 위해 프록시를 사용해야 합니다
408 요청 시간 -out server 클라이언트가 보낸 요청에 대한 대기 시간이 너무 길어서 timeout
409 Contribute 서버가 클라이언트의 PUT 요청을 완료할 때 이 코드를 반환할 수 있습니다. 서버가 처리할 때 충돌이 발생했습니다. the request
410 Gone 클라이언트가 요청한 리소스가 더 이상 존재하지 않습니다. 410은 404와 다릅니다. 리소스가 영구적으로 삭제된 경우 410 코드를 사용할 수 있습니다.
웹사이트 디자이너는 Content-Length
412 301 코드를 통해 리소스의 새 위치를 지정할 수 있습니다. 전제 조건 실패 클라이언트 요청 정보의 전제 조건 오류
413 요청 엔터티가 너무 큼 요청 엔터티가 너무 커서 서버가 처리할 수 없어 요청이 거부되었습니다. 클라이언트의 지속적인 요청을 방지하기 위해 서버는

요청된 URI가 너무 깁니다(URI는 일반적으로 URL임). 서버가 처리할 수 없습니다
415 지원되지 않는 미디어 유형 서버가 요청에 첨부된 미디어 형식을 처리할 수 없습니다
416 요청한 범위가 만족스럽지 않습니다 클라이언트가 잘못된 범위를 요청했습니다
417 Expectation Failed 서버가 Expect 요청 헤더 정보를 충족할 수 없습니다.
내부 오류로 인해 요청을 완료할 수 없습니다. 501
서버가 지원하지 않습니다. 요청 502
게이트웨이 또는 프록시 역할을 하는 서버가 원격 서버로부터 잘못된 요청을 받았습니다. 503
오버로드 또는 시스템으로 인해 유지 관리로 인해 서버가 일시적으로 클라이언트의 요청을 처리할 수 없습니다. 지연 시간은 서버의 Retry-After 헤더 정보에 포함될 수 있습니다

505
서버가 요청한 HTTP 프로토콜 버전을 지원하지 않아 처리를 완료할 수 없습니다

위 내용은 Python 인터페이스 자동화 테스트의 필수 기반인 http 프로토콜에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제