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)