GET - Najpoužívanejšia metóda, určená na získanie informácií od HTTP serveru, nemení stav serveruPOST - Odosielanie dát na server, napríklad dát z webového formuláruHEAD - Na rozdiel od GET vráti iba hlavičky1xx - Informational2xx - Successful
200 OK - štandardná odpoveď pre úspešný HTTP request3xx - Redirection
301 Moved Permanently - Tento a všetky nasledujúce požiadavky majú byť presmerované na zadané URL304 Not Modified - Indikuje, ze dokument sa od posledného požiadavu nezmenil4xx - Client Error
401 Unauthorized - Podobná chyba ako 403, ale používa sa keď je vyžadovaná autorzizácia, ktorá však zlyhala alebo sa ešte neuskutočnila403 Forbidden - Server odmietol spracovať požiadavku klienta, chyba môže byť sposobená nedostatočnými právami klienta404 Not Found - Požadovaný dokument nebol nájdený408 Request Timeout - Vypršal čas vyhradený na spracovanie požiadavku5xx - Server Error
500 Internal Server Error - Pri spracovaní došlo k bližšie nešpecifikovanej chybe503 Service Unavailable - Služba je dočasne nedostupnáĎalšie stavové kódy viz. Wikipedia
GET / HTTP/1.1 Host: example.comServer odpovedie požadovaným dokumentom:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 155
Connection: close
Date: Sat, 07 Nov 2020 12:35:33 GMT
Last-Modified: Thu, 06 Jun 2019 04:19:28 GMT
ETag: "92b6819fcf2865f6be341e02390d23bf"
Accept-Ranges: bytes
Server: AmazonS3
<html>
<head>
<title>An Example Page</title>
</head>
<body>
<p>Hello World, this is a very simple HTML document.</p>
</body>
</html>
Hlavný konfiguračný súbor je uložený v /etc/nginx/nginx.conf
user http;
worker_processes auto;
worker_cpu_affinity auto;
events {
multi_accept on;
worker_connections 1024;
}
http {
charset utf-8;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
server_tokens off;
log_not_found off;
types_hash_max_size 4096;
client_max_body_size 16M;
# MIME
include mime.types;
default_type application/octet-stream;
# logging
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log warn;
# load configs
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
server {
listen 80;
listen [::]:80;
server_name example1.xyz;
root /usr/share/nginx/example1.xyz/html;
}
server {
listen 80;
listen [::]:80;
server_name example2.xyz;
root /usr/share/nginx/example2.xyz/html;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name examplesecure.xyz;
ssl_certificate /etc/nginx/ssl/examplesecure.crt;
ssl_certificate_key /etc/nginx/ssl/examplesecure.key;
root /usr/share/nginx/examplesecure.xyz/html;
}
location /private {
auth_basic "Password protected area";
auth_basic_user_file /path/to/generated/htpasswd;
}
Súbor, ktorý obsahuje mená a heslá užívateľov je možné vygenerovať pomocou programu htpasswd:
xnemec5@proto12 $ htpasswd -c passwd_file user1 New password: Re-type new password: Adding password for user user1 xnemec5@proto12 $ htpasswd passwd_file user2 New password: Re-type new password: Adding password for user user2Výsledný súbor
passwd_file:
user1:$apr1$x3lgFcQD$WI09oPxWmGfiKrFmnPdSL/ user2:$apr1$82OFsu8E$jkH7mCt8hsk.fqaaeIpTz.
fcgiwrap, ktorý umožňuje vykonávanie CGI skriptov
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name examplehttp2.xyz;
ssl_certificate /etc/nginx/ssl/examplehttp2.crt;
ssl_certificate_key /etc/nginx/ssl/examplehttp2.key;
root /usr/share/nginx/examplehttp2.xyz/html;
}