登录  /  注册
博主信息
博文 91
粉丝 0
评论 0
访问量 73492
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
【前端 · 面试 】HTTP 总结(一)—— HTTP 概述
编程三昧
原创
879人浏览过

最近我在做前端面试题总结系列,感兴趣的朋友可以添加关注,欢迎指正、交流。概念

HTTP 的全称是 Hyper Text Transfer Protocol,翻译过来就是“超文本传输协议”。

HTTP 是一个简单的请求-响应协议,它通常运行在 TCP 之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。

补充

HTTP 是万维网(World Wide Web)的基础协议

HTTP 详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。

自 Tim Berners-Lee 博士和他的团队在 1989-1991 年间创造出 HTTP 以来,HTTP 已经发生了太多的变化,在保持协议简单性的同时,不断扩展其灵活性。如今,HTTP已经从一个只在实验室之间交换文件的早期协议进化到了可以传输图片,高分辨率视频和3D效果的现代复杂互联网协议。

HTTP 是应用层协议

HTTP 是应用层的协议,通过 TCP,或者是 TLS -加密的TCP连接来发送,理论上任何可靠的传输协议都可以使用。

同其他应用层协议一样,HTTP 协议是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。

HTTP 是一种协议规范,这种规范记录在文档上,为真正通过 HTTP 进行通信的 HTTP 的实现程序。

HTTP 是一种可扩展的协议

因为其良好的扩展性,时至今日,它不仅被用来传输超文本文档,还用来传输图片、视频或者向服务器发送如 HTML 表单这样的信息。HTTP 还可以根据网页需求,仅获取部分 Web 文档内容更新网页。

HTTP 是基于 B/S 架构进行通信的

HTTP 的服务器端实现程序有 httpd、nginx 等。

其客户端的实现程序主要是 Web 浏览器,例如 Firefox、Google Chrome、Safari、Opera 等。

Web 服务是基于 TCP 的,因此为了能够随时响应客户端的请求,Web 服务器需要监听在 80/TCP 端口,这样客户端浏览器和 Web 服务器之间就可以通过 HTTP 进行通信了。

HTTP 由请求和响应组成

HTTP 是一个标准的客户端服务器模型。

客户端和服务端通过交换各自的消息(与数据流正好相反)进行交互。由像浏览器这样的客户端发出的消息叫做 requests,被服务端响应的消息叫做 responses。

请求和响应消息的头以 ASCII 形式给出;而消息内容则具有一个类似 MIME 的格式。这个简单模型是早期 Web 成功的有功之臣,因为它使开发和部署非常地直截了当。

HTTP 是一种能够获取如 HTML 这样的网络资源的 protocol (通讯协议)

它是在 Web 上进行数据交换的基础,是一种 client-server 协议。

请求通过一个实体被发出,实体也就是用户代理。大多数情况下,这个用户代理都是指浏览器,当然它也可能是任何东西,比如一个爬取网页生成维护搜索引擎索引的机器爬虫。

也就是说,请求通常是由像浏览器这样的接受方发起的。一个完整的Web 文档通常是由不同的子文档拼接而成的,像是文本、布局描述、图片、视频、脚本等等。

A Web document is the composition of different resources

HTTP 协议以明文方式发送内容

HTTP 不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP 协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

总结

HTTP 是一种运行于 TCP 协议上的应用层协议。

~

~ 本文完,感谢阅读!


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学