Più precisamente, HTTP e HTTPS sono usati per trasferire documenti ipertestuali sul world wide web (www).
Questi protocolli sono abbastanza semplici, un client (tipicamente un browser) imposta una connessione TCP al server (HTTP o HTTPS), invia una richiesta sotto forma di stringa ASCII e si aspetta una risposta. La risposta viene spesso formattata anche come una stringa ASCII, sebbene molti altri formati di dati possano essere restituiti dal server (ad esempio, le immagini vengono inviate come dati binari).
Se stiamo usando il protocollo HTTP, è più facile violare la sicurezza poiché il trasferimento di dati e informazioni è in testo normale. Ma mentre si utilizza il protocollo HTTPS, è difficile violare la sicurezza poiché i dati e le informazioni inviati sono in forma crittografata. Il protocollo HTTPS è altamente raccomandato se il cliente trasferisce i suoi dati sensibili e riservati.
Grafico comparativo
Base per il confronto | HTTP | HTTPS |
---|---|---|
Prefisso usato | L'URL inizia con "//" | L'URL inizia con "//" |
Sicurezza | Non garantiti. | Secured. |
Operato su | Strato di applicazione | Strato di trasporto |
crittografia | Nessuna crittografia è lì | La crittografia è utilizzata. |
Certificato | Non richiesto. | Necessario |
Porta utilizzata | Il numero di porta 80 viene utilizzato per la comunicazione. | Il numero di porta 443 viene utilizzato per la comunicazione. |
caratteristiche | È soggetto a attacchi man-in-the-middle e intercettazioni. | È progettato per resistere agli attacchi man-in-the-middle e agli attacchi di intercettazione ed è considerato sicuro contro tali attacchi. |
Esempio | Siti web come forum internet, siti educativi. | Siti web come siti web bancari, gateway di pagamento, siti web di shopping, ecc. |
Definizione di HTTP
HTTP (Hypertext Transfer Protocol) è la base della comunicazione dei dati per il Web. Questo è il modo in cui Internet funziona quando si tratta di fornire le pagine web. È un protocollo basato su TCP / IP e cose come testo, audio, video, immagini possono essere trasmessi attraverso di esso.
HTTP funziona su richiesta e ciclo di risposta in cui il client richiede una pagina web. Supponiamo che, se navighi su google.com, stai richiedendo una pagina Web dal server e il server ti fornirà la risposta.
HTTP è un protocollo stateless che significa che ogni singola transazione effettuata tramite HTTP è di natura indipendente. Tuttavia, questo può essere fornito attraverso l'uso di cookie HTTP, sessioni lato server, variabili, riscrittura dell'URL.
Quando un cliente desidera esplorare un sito Web, la prima cosa che accade è che la richiesta viene inviata al server noto come messaggio HTTP. Successivamente , il server preparerà una risposta e la rimanderà indietro. Il messaggio sarà diverso a seconda della risposta e della richiesta del messaggio.
Richiedi un messaggio HTTP
Richiedi un messaggio HTTP
- La riga iniziale contiene il metodo, l'URI e la versione HTTP.
- Metodo : è come un comando che viene dato ai server in modo che il server sappia cosa fare. per esempio, GET, POST, HEAD,
PUT, DELETE, ecc. - URI : si espande in Uniform Resource Identifier è un insieme di caratteri leggibili e un modo per individuare la risorsa.
- Versione HTTP : specifica la versione di HTTP utilizzata da un client.
- Metodo : è come un comando che viene dato ai server in modo che il server sappia cosa fare. per esempio, GET, POST, HEAD,
- Nelle intestazioni, abbiamo regole informative come:
- Host : specifica l'indirizzo del server su cui stiamo inviando una richiesta.
- Accetta : specifica il tipo di file che stiamo richiedendo.
- Accetta lingua : specifica la lingua.
- Non contiene il corpo nella richiesta.
Messaggio HTTP di risposta
Messaggio HTTP di risposta
- Riga iniziale : non esiste alcun metodo nella riga iniziale poiché viene utilizzato solo nella richiesta. Nella risposta, abbiamo la versione HTTP e il codice di stato.
- Versione HTTP : specifica la versione di HTTP utilizzata da un client.
- Codice di stato : indica al client se la richiesta è riuscita o meno. ad esempio, 404 pagine non trovate, 200 - ok, ecc.
- L' intestazione conterrà le stesse informazioni della richiesta.
- Host : specifica l'indirizzo del server su cui viene inviata una richiesta.
- Accetta : specifica il tipo di file richiesto.
- Accetta lingua : specifica la lingua.
- Il corpo terrà il file che abbiamo cercato.
Il problema principale di HTTP è che non è crittografato e viene utilizzato testo normale, il che significa che non è protetto durante il trasferimento di dati tra computer e server. È popolare sfruttare gli attacchi man-in-the-middle, se si esegue una connessione HTTP chiunque può mettersi nel mezzo e iniziare a usare nomi, e-mail, password nel testo normale.
Definizione di HTTPS
HTTPS (Hypertext Transfer Protocol Secure) non è altro che l'HTTP che lavora in tandem con SSL (Secure Socket Layer) che è la "S" in HTTPS. SSL si occupa di garantire che i dati vadano bene su Internet. I nomi alternativi forniti a HTTPS sono HTTP su TLS, HTTP su SSL e HTTP sicuro.
Questo protocollo è stato progettato per aumentare principalmente su Internet durante la comunicazione con i siti Web e l'invio di dati sensibili. Ciò ha reso sempre più difficile l'attacco man-in-the-middle dato che l'invio dei dati non è più in chiaro.
Per proteggere il tuo sito web è necessario acquistare qualcosa chiamato certificato SSL . Questi sono relativamente costosi e la maggior parte delle società di hosting li offre. Il certificato SSL è analogo a un documento di identificazione online. Il certificato SSL crittografa anche tutti i dati che passano attraverso il protocollo https.
Ora, un client richiede dati dal server che cerca il certificato SSL che verificherà l'identità dei siti Web con il certificato. Se tutto è buono, avviene una stretta di mano dove viene deciso un metodo di crittografia tramite SSL.
Differenze chiave tra HTTP e HTTPS
I punti indicati di seguito coprono la differenza tra HTTP e HTTPS:
- Se parliamo di sicurezza, HTTP ha problemi di sicurezza mentre HTTPS è protetto.
- Hypertext Transfer Protocol opera a livello di applicazione. Al contrario, le funzioni Hypertext Transfer Protocol Secure a livello di trasporto.
- HTTPS richiede certificati per verificare l'identità dei siti web. Come contro, in HTTP non è richiesto alcun certificato.
- Nessuna crittografia viene utilizzata in HTTP. D'altra parte sia la crittografia che la decrittografia vengono utilizzate in HTTPS.
- Per scopi di comunicazione, il numero di porta 80 viene utilizzato in HTTP, mentre HTTPS utilizza il numero di porta 443.
- HTTP è soggetto a attacchi man-in-the-middle e intercettazioni, ma HTTPS è progettato per resistere a tali attacchi.
Esempio:
HTTP potrebbe essere utilizzato nella maggior parte dei siti Web come forum su Internet, siti educativi. Poiché si tratta di forum di discussione aperti, non è richiesto l'accesso sicuro. Ad esempio //www.ndtv.com
HTTPS deve essere utilizzato nei siti Web bancari, gateway di pagamento, siti Web di acquisto, pagine di accesso, e-mail e siti Web del settore aziendale. Ad esempio //paytm.com/
Conclusione:
Sia HTTP che HTTPS sono il protocollo di trasferimento di documenti ipertestuali, ma HTTPS fornisce un modo sicuro per trasferire dati, informazioni e file sensibili da client a server e viceversa su Internet.