Capçalera HTTP/1.1 Upgrade
HTTP/1.1 va introduir el soport per al camp de capçalera Upgrade. En l'intercanvi, el client comença fent una petició de text clar, que és posteriorment actualisada/millorada (upgraded) a una versió més nova del protocol http o canviada a un protocol diferent. L'actualisació (upgrade) de la conexió deu ser solicitada pel client, si el servidor vol impondre un upgrade pot enviar una resposta "426 upgrade required". El client pot llavors enviar una nova solicitut en les capçaleres upgrade apropiades.
Us en TLS
Un us possible és escomençar una solicitut en el port http normal, pero canviar a Transport Layer Security (TLS).[1] En la pràctica, dit us és poc freqüent, sent l'esquema de URL https una forma molt més comuna d'iniciar http sifrat.
El servidor torna un còdic d'estat 426 per a alertar als clients de versions anteriors de que el fallo està relacionat en el client (els còdics de nivell 400 indiquen un fallo del client: Llista de còdics d'estat HTTP).
Este método per a establir una conexió segura és ventajós degut a que :
- No requerix redirección desordenada i problemàtica i reescritura de URL en el servidor.
- Permet l'estage virtual de llocs web protegits (encara que HTTPS també permet açò usant Server Name Indication).
- Reduïx la possibilitat de confusió de l'usuari, proporcionant una única forma d'accedir a un recurs determinat.
Una desventaja d'este método és que el client no pot especificar el requisit per a HTTP segur en el URI. Per tant un atac Man-in-the-middle pot mantindre una conexió sense sifrar i sense autenticar en el client mentres manté una conexió sifrada en el servidor.
Us en WebSockets
WebSocket també utilisa este mecanisme per a establir una conexió en un servidor HTTP de forma compatible.[2] El protocol de WebSocket té dos parts: una premuda de mans (handshake) per a establir la conexió millorada (upgrade) i, posteriorment, la transferència real de senyes. Primer, un client solicita una conexió websocket usant les capçaleres "Upgrade: websocket" i "Connection: Upgrade", junt en algunes capçaleres específiques del protocol per a establir la versió utilisada i establir una premuda de mans. El servidor, si és compatible en el protocol, respon en les mateixes capçaleres "Upgrade: websocket" i "Connection: Upgrade" i completa la premuda de mans.[3] Una volta que la premuda de mans es realisa correctament, s'inicia la transferència de senyes.
Vore també
Referències
- Este artícul conté una traducció derivada de «HTTP/1.1 Upgrade header» de Wikipedia en inglés, concretament de esta versió, publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.
- ↑ Vore RFC 2817
- ↑ «The WebSocket Protocol». IETF. Consultat el 15 de decembre de 2013.
- ↑ «WebSockets: Stable and Ready for Developers». Microsoft Developer Network. Archivat des d'el original, el 16 de decembre de 2013. Consultat el 15 de decembre de 2013.