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.1
Accept: text/plain, */*; q=0.01
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Connection: keep-alive
Cookie: 
Host: www.baidu.com
Referer: https://www.baidu.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36
X-Requested-With: XMLHttpRequest
sec-ch-ua: "Google Chrome";v="105", "Not)A;Brand";v="8", "Chromium";v="105"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"

应答报文格式如下:
状态行 - 通用信息头 - 响应头 - 实体头 - 报文主体
状态码元由3位数字组成,表示请求是否被理解或被满足。原因分析是对原文的状态码作简短的描述,状态码用来支持自动操作,
而原因分析用来供用户使用。客户机无需用来检查或显示语法。
响应报文示例
HTTP/1.1 200 OK
Cache-Control: private
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Thu, 29 Sep 2022 12:31:53 GMT
Expires: Thu, 29 Sep 2022 12:31:53 GMT
Server: BWS/1.0
Vary: Accept-Encoding
Content-Length: 78

http的状态消息?
1**   服务已收到请求,需要请求者继续执行操作
2**   成功
3**   重定向
4**   客户端错误
400 客户端请求语法错误,不能被服务端理解
403 forbidden,服务器收到请求,但是拒绝提供服务
404 not found
5**   服务端错误
500 服务器发生不可预期错误
503 服务器当前不能处理客户端请求,一段时间后可能恢复

https
中文名:超文本传输安全协议
英文名:Hyper Text Transfer Protocol Secure
解释:HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性

https工作流程?
1、TCP 三次同步握手
2、客户端验证服务器数字证书
3、DH 算法协商对称加密算法的密钥、hash 算法的密钥
4、SSL 安全加密隧道协商完成
5、网页以加密的方式传输,用协商的对称加密算法和密钥加密,保证数据机密性;用协商的hash算法进行数据完整性保护,保证数据不被篡改。

http与https的区别?
http 明文传输,数据都是未加密的,安全性较差,https(ssl+http) 数据传输过程是加密的,安全性较好。
使用 https 协议需要到 ca(certificate authority,数字证书认证机构) 申请证书,一般免费证书较少,
因而需要一定费用。证书颁发机构如:symantec、comodo、godaddy 和 globalsign 等。
http 页面响应速度比 https快,主要是因为 http 使用 tcp 三次握手建立连接,客户端和服务器需要交换 3 个包,而 https除了 tcp 的三个包,
还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
https 其实就是建构在 ssl/tls 之上的 http 协议,所以, https 比 http 要更耗费服务器资源

http和https分别是什么?相关推荐

  1. dotnet core开源博客系统XBlog介绍

    XBlog是dotnet core平台下的个人博客开源系统,它只需要通过Copy的方式即可以部署到Linux和windows系统中:如果你有安全证书那只需要简单配置一下即可提供安全的Https服务.接 ...

  2. 前端知识总结汇总!(HTML、CSS、JS、jQuery、vue、微信小程序)

    前端知识总结汇总!(HTML.CSS.JS.jQuery.vue.微信小程序) 前端理论考核题 1 / HTML 1.DOCTYPE 的作用是什么?标准模式与兼容模式各有什么区别? !DOCTYPE是 ...

  3. 个人博客开源系统XBlog介绍和部署

    为什么80%的码农都做不了架构师?>>>    XBlog是dotnet core平台下的个人博客开源系统,它只需要通过Copy的方式即可以部署到Linux和windows系统中:如 ...

  4. python 拼音库_python有没有拼音库python进阶之socket详解

    Socket的英文原义是"孔"或"插座".作为BSD UNIX的进程通信机制,通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句 ...

  5. Kubernetes笔记(四) Kubernetes 网络

    文章目录 1. 网络基础知识 1.1 Linux Network Stack 1.2 Netfilter 1.3 Iptables 1.4 IPSet 2. Kubernetes CNI 3. Con ...

  6. LINUX运维知识点总结(容器;云计算)

    目录 一.Linux基础篇 1.描述Linux系统的启动过程 2.描述Linux下软硬链接的区别 3.如何查看和修改Linux进程优先级 查看进程优先级 修改进程优先级 4.如何将Centos.ISO ...

  7. Nginx自动化部署Let‘s Encrypt证书并续期

    HTTP和HTTPS分别是什么 HTTP协议是超文本传输协议的缩写,英文是Hyper Text Transfer Protocol.它是从WEB服务器传输超文本标记语言(HTML)到本地浏览器的传送协 ...

  8. 运维小白网络基础知识总结

    在TCP/IP协议中主机与主机连接的三要素? ip地址(ip address) 子网掩码(subnet mask) ip路由(ip route) IP地址的分类及每一类的范围? A类:1-126   ...

  9. 2021梧州一中高考成绩查询,2021年广西高考成绩查询网站查分网址:https://www.gxeea.cn/...

    [摘要]高考结束后大家最为关心的问题就是在哪里查分,如何查分,高考频道特别整理2021年广西高考成绩查询查分网址,成绩公布时考生可直接点击网址进行查分,预祝大家都能顺利的考上理想的大学! 由于,各省级 ...

最新文章

  1. CSS 选择器:BeautifulSoup4解析器
  2. 转:乐视秒杀:每秒十万笔交易的数据架构解读
  3. 关于OnTouchListener的深入理解
  4. 百分点内存数据库架构演变
  5. Dwg图纸属性的读取
  6. SVM熟练到精通2:SVM目标函数的dual优化推导
  7. loj2245 [NOI2014]魔法森林 LCT
  8. 在SQL SERVER里面用命令查包含某字段的表
  9. 小程序navigator点击有时候会闪一下
  10. Slowquery图形化显示MySQL慢日志工具
  11. 【渝粤教育】电大中专跨境电子商务理论与实务_1作业 题库
  12. win10下安装ubuntu双系统
  13. 计算机实验报告双绞线制作,双绞线的制作实验报告.docx
  14. Spring 配置数据库动态密码
  15. Nova8pro自动调节亮度忽亮忽暗问题
  16. 关于窗口中TopMost属性的一个问题
  17. 手机扫码登录实现原理
  18. hdu-1225-Football Score
  19. SQL查询无限层级结构的所有下级,所有上级(即所有的子孙曾孙等等)
  20. RabbitMQ Topic模式

热门文章

  1. Android NDK jni开发,适当的给Android 代码加密
  2. iOS 刻度尺、iOS 测量尺、iOS开发可移动的尺子、纯代码实现
  3. window的onload()的使用
  4. c++ 十六进制打印
  5. 聚集索引和非聚集索引详解 (zhuang)
  6. 持续交付的软件系统架构
  7. java生成随机邮箱_Java随机生成姓名、邮箱、手机号码
  8. 安装Linux Mint 17后要做的20件事
  9. 最全!互联网大厂的薪资和职级一览
  10. Cisco VPP(1) 简介