http和https分别是什么?

http中文名:超文本传输协议英文名:Hyper Text Transfer Protocol解释:是一个简单的请求-响应协议,它通常运行在TCP之上 。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应 。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式 。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当 。
http在哪一层?HTTP是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能 。HTTP是一种协议规范,这种规范记录在文档上,为真正通过HTTP进行通信的HTTP的实现程序 。
http具体实现有哪些?HTTP是基于B/S架构进行通信的,而HTTP的服务器端实现程序有httpd、nginx等,其客户端的实现程序主要是Web浏览器,例如Firefox、Internet Explorer、Google Chrome、Safari、Opera等,此外,客户端的命令行工具还有elink、curl等 。Web服务是基于TCP的,因此为了能够随时响应客户端的请求,Web服务器需要监听在80/TCP端口 。这样客户端浏览器和Web服务器之间就可以通过HTTP进行通信了 。
http有哪些版本及特点?http1.0(最常用),http1.1(支持长连接),http2.0(传输性能高)
http工作原理?HTTP是基于客户/服务器模式,且面向连接的 。典型的HTTP事务处理有如下的过程:1.客户与服务器建立连接;2.客户向服务器提出请求;3.服务器接受请求,并根据请求返回相应的文件作为应答;4.客户与服务器关闭连接 。客户与服务器之间的HTTP连接是一种一次性连接,它限制每次连接只处理一个请求,当服务器返回本次请求的应答后便立即关闭连接,下次请求再重新建立连接 。这种一次性连接主要考虑到WWW服务器面向的是Internet中成千上万个用户,且只能提供有限个连接,故服务器不会让一个连接处于等待状态,及时地释放连接可以大大提高服务器的执行效率 。HTTP是一种无状态协议,即服务器不保留与客户交易时的任何状态 。这就大大减轻了服务器存储负担,从而保持较快的响应速度 。HTTP是一种面向对象的协议 。允许传送任意类型的数据对象 。它通过数据类型和长度来标识所传送的数据内容和大小,并允许对数据进行压缩传送 。当用户在一个HTML文档中定义了一个超文本链后,浏览器将通过TCP/IP协议与指定的服务器建立连接
http的报文格式?HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成 。请求报文格式如下: 请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体请求行以方法字段开始,后面分别是URL字段和HTTP协议版本字段,并以CRLF结尾 。SP是分隔符 。除了在最后的CRLF序列中CF和LF是必需的之外,其他都可以不要 。请求报文示例GET HTTP/1.1Accept: text/plain, */*; q=0.01Accept-Encoding: gzip, deflate, brAccept-Language: zh-CN,zh;q=0.9Connection: keep-aliveCookie: Host: www.baidu.comReferer: https://www.baidu.com/Sec-Fetch-Dest: emptySec-Fetch-Mode: corsSec-Fetch-Site: same-originUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36X-Requested-With: XMLHttpRequestsec-ch-ua: "Google Chrome";v="105", "Not)A;Brand";v="8", "Chromium";v="105"sec-ch-ua-mobile: ?0sec-ch-ua-platform: "Windows"
应答报文格式如下:状态行 - 通用信息头 - 响应头 - 实体头 - 报文主体状态码元由3位数字组成,表示请求是否被理解或被满足 。原因分析是对原文的状态码作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用 。客户机无需用来检查或显示语法 。响应报文示例HTTP/1.1 200 OKCache-Control: privateConnection: keep-aliveContent-Encoding: gzipContent-Type: text/html;charset=utf-8Date: Thu, 29 Sep 2022 12:31:53 GMTExpires: Thu, 29 Sep 2022 12:31:53 GMTServer: BWS/1.0Vary: Accept-EncodingContent-Length: 78

经验总结扩展阅读