当我们在浏览器中输入一个URL后,我们将在浏览器中观察页面的内容。这个过程其实就是浏览器向网站所在的服务器发出请求。网站服务器收到这个请求后,进行处理和解析,然后返回相应的响应,再返回给浏览器。响应包含页面的源代码等。然后浏览器对其进行解析以呈现网页。该模型如图2-4所示。
图2-4
2.简单快速:当客户端向服务器发出请求时,只需要传输请求方法和路径。常用的请求方法有GET、HEAD和POST。
3.灵活性:HTTP允许传输任何类型的数据,传输类型由Content-Type标记。
4.无连接:仅限于一次只处理一个请求,服务器在处理完请求并收到客户回复后会断开连接,但这不利于维持客户端和服务器之间的会话连接。为了弥补这个不足,产生了两种记录HTTP状态的技术,一种叫做Cookie,另一种叫做session。
5.无状态:无状态是指协议没有事务处理的记忆,后续处理需要之前的信息,所以必须重传。
UniformResourceIdentifier,即统一资源标识符号URL:UniformResourceLocation,即统一资源定位符号。从字面上看,URI是用来标识一种资源的,通过URI就可以知道什么是资源;而URL是用来定位资源的,表示资源的具体位置。互联网上的每个文件都有自己独立的网址。
1XX-信息类型,服务器接收请求,需要请求者继续操作。2XX-成功,请求被成功接收、理解和处理。3XX-重定向,需要进一步操作来完成请求。4XX-客户端错误,请求包含语法错误或请求无法完成。5XX-服务器错误,服务器在处理请求的过程中遇到错误。常见状态码:
200OK-客户端请求成功301-资源(网页等)。)被永久转移到其他URL 302-临时跳转到400BadRequest-客户机的请求有语法错误,不能被服务器理解401 unauthorized-该请求是未授权的,并且该状态码必须与WWW-Authenticate报头字段404一起使用-所请求的资源不存在。您可能输入了错误的URL500-服务器内部出现意外错误503ServerUnavailable-服务器目前无法处理客户端的请求,可能需要一段时间后才能恢复正常。
请求的信息以明文传输,容易被窃听和窃取。数据的完整性没有经过验证,很容易被篡改。存在冒名顶替的风险。为了解决HTTP中的这些问题,HTTPS诞生了,它被称为超文本传输协议安全套接字层,一般理解为HTTP SSL/TLS。服务器的身份通过SSL证书进行验证,浏览器与服务器之间的通信是加密的。
HTTPS传输数据的流程又是怎样的?
具体流程如下:
客户端向服务器发起HTTPS请求,连接到服务器的443端口;服务器将非对称加密公钥传递给
客户端,以证书的形式回传到客户端服务器接受到该公钥进行验证,就是验证2中证书,如果有问题,则HTTPS请求无法继续;如果没有问题,则上述公钥是合格的。(第一次HTTP请求)客户端这个时候随机生成一个私钥,成为clientkey,客户端私钥,用于对称加密数据的。使用前面的公钥对clientkey进行非对称加密;进行二次HTTP请求,将加密之后的clientkey传递给服务器;服务器使用私钥进行解密,得到clientkey,使用clientkey对数据进行对称加密将对称加密的数据传递给客户端,客户端使用非对称解密,得到服务器发送的数据,完成第二次HTTP请求。
上一篇:蛋糕常温放一天会坏吗?
下一篇:地球1小时是几月几号2022