Teste de Segurança - Métodos HTTP

Métodos HTTP

O conjunto de métodos comuns para HTTP / 1.1 é definido abaixo e esse conjunto pode ser expandido com base no requisito. Esses nomes de método diferenciam maiúsculas de minúsculas e devem ser usados ​​em maiúsculas.

S.No. Método e Descrição
1

GET

Ele é usado para recuperar informações de um determinado servidor usando um determinado URI. As solicitações que usam GET devem recuperar apenas dados e não devem ter nenhum outro efeito sobre os dados.

2

HEAD

É o mesmo que GET, mas apenas transfere a linha de status e a seção de cabeçalho.

3

POST

É usado para enviar dados ao servidor. Por exemplo, informações do cliente, upload de arquivo etc. usando formulários HTML.

4

PUT

Ele substitui todas as representações atuais do recurso de destino com o conteúdo carregado.

5

DELETE

Ele remove todas as representações atuais do recurso de destino fornecido pelo URI.

6

CONNECT

Ele estabelece um túnel para o servidor identificado por um determinado URI.

7

OPTIONS

Ele descreve as opções de comunicação para o recurso de destino.

8

TRACE

Ele executa um teste de loopback de mensagem ao longo do caminho para o recurso de destino.

Método GET

Ele recupera dados de um servidor da web especificando parâmetros na parte do URL da solicitação. Este é o principal método usado para recuperação de documentos. O exemplo a seguir usa o método GET para buscarhello.htm -

GET /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

A seguinte resposta do servidor é emitida em relação à solicitação GET acima -

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed

<html>
   <body>
      <h1>Hello, World!</h1>
   </body>
</html>

Método HEAD

É funcionalmente semelhante a GET, exceto que o servidor responde com uma linha de resposta e cabeçalhos, mas sem entidade-corpo. O exemplo a seguir usa o método HEAD para buscar informações de cabeçalho sobrehello.htm -

HEAD /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

A seguinte resposta do servidor é emitida em relação à solicitação GET acima -

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed

Você pode notar que o servidor não envia nenhum dado após o cabeçalho.

Método POST

É usado quando você deseja enviar alguns dados ao servidor. Por exemplo, atualização de arquivo, dados de formulário etc. O exemplo simples a seguir faz uso do método POST para enviar dados de formulário ao servidor que são processados ​​por umprocess.cgi e finalmente uma resposta é retornada -

POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Content-Type: text/xml; charset = utf-8
Content-Length: 88
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

<?xml version = "1.0" encoding = "utf-8"?>
<string xmlns = "http://clearforest.com/">string</string>

Script do lado do servidor process.cgi processa os dados passados ​​e envia a seguinte resposta -

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed

<html>
   <body>
      <h1>Request Processed Successfully</h1>
   </body>
</html>

Método PUT

O método PUT é usado para solicitar ao servidor que armazene o corpo da entidade incluído em um local especificado pelo URL fornecido. O exemplo a seguir solicita que o servidor salve o menino da entidade emhello.htm na raiz do servidor -

PUT /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Connection: Keep-Alive
Content-type: text/html
Content-Length: 182

<html>
   <body>
      <h1>Hello, World!</h1>
   </body>
</html>

O servidor armazena o determinado corpo-entidade em hello.htm arquivo e envia a seguinte resposta de volta ao cliente -

HTTP/1.1 201 Created
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed

<html>
   <body>
      <h1>The file was created.</h1>
   </body>
</html>

Método DELETE

O método DELETE é usado para solicitar ao servidor a exclusão do arquivo em um local especificado pelo URL fornecido. O exemplo a seguir solicita que o servidor exclua o arquivo fornecidohello.htm na raiz do servidor -

DELETE /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Connection: Keep-Alive

O servidor exclui o arquivo mencionado hello.htm e envia a seguinte resposta de volta ao cliente -

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed

<html>
   <body>
      <h1>URL deleted.</h1>
   </body>
</html>

Método CONNECT

Ele é usado pelo cliente para estabelecer uma conexão de rede com um servidor da web por meio de HTTP. O exemplo a seguir solicita uma conexão com um servidor da web em execução no host tutorialspoint.com -

CONNECT www.tutorialspoint.com HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

A conexão é estabelecida com o servidor e a seguinte resposta é enviada de volta ao cliente -

HTTP/1.1 200 Connection established
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)

Método OPÇÕES

Ele é usado pelo cliente para descobrir quais são os métodos HTTP e outras opções suportadas por um servidor web. O cliente pode especificar um URL para o método OPTIONS ou um asterisco (*) para se referir a todo o servidor. O exemplo a seguir solicita uma lista de métodos suportados por um servidor da web em execução em tutorialspoint.com -

OPTIONS * HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

O servidor envia informações com base na configuração atual do servidor, por exemplo -

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Allow: GET,HEAD,POST,OPTIONS,TRACE
Content-Type: httpd/unix-directory

Método TRACE

É usado para ecoar o conteúdo de uma solicitação HTTP de volta para o solicitante, que pode ser usado para fins de depuração no momento do desenvolvimento. O exemplo a seguir mostra o uso do método TRACE -

TRACE / HTTP/1.1
Host: www.tutorialspoint.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

O servidor enviará a seguinte mensagem em resposta à solicitação acima -

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Connection: close
Content-Type: message/http
Content-Length: 39

TRACE / HTTP/1.1
Host: www.tutorialspoint.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)