首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >HTTP概述 原

HTTP概述 原

作者头像
tianyawhl
发布2019-04-04 09:54:54
发布2019-04-04 09:54:54
3050
举报
文章被收录于专栏:前端之攻略前端之攻略

HTTP定义:HTTP是超文本传输协议,是用于传输诸如HTML的超媒体文档的应用层协议,它被设计用于Web浏览器和Web服务器之间的通信。

用户代理: HTTP是一个client-server协议,通常通过一个实体发出,实体也就是用户代理。大多数情况下,这个用户代理都是指浏览器,它也可能是一个爬取网页生成维护搜索引擎索引的机器爬虫。

Web服务器: 提供客户端请求的文档。Server只是虚拟意义上代表一个机器:它可以是共享负载(负载均衡)的一组服务器组成的计算机集群,也可以是一种复杂的软件,通过向其他计算机(如缓存,数据库服务器,电子商务服务机器...)发起请求来获取部分或者全部资源。

每一个发送到服务器的请求,都会被服务器处理并返回一个消息,也就是response。这请求与相应之间,还有许多被称为代理(proxies)的实体,他们的作用与表现各不相同,比如有些是网关,还有些是caches等

Server不一定是一台机器,但一个机器上可以装载众多Servers。在HTTP/1.1和Host头部中,它们甚至可以共享同一个IP地址。

代理(Proxies)服务器:在浏览器和服务器之间,有许多计算机和其他设备转发了HTTP消息。这种叫代理服务器 代理服务器作用如下: (1)缓存(可以是公开的也可以是私有的,像浏览器的缓存) (2)过滤(像反病毒扫描) (3)负载均衡(让多个服务器服务不同的请求) (4)认证(多不同资源进行权限管理) (5)日志记录(允许存储历史信息)

HTTP的基本性质 (1)Http是简单的 (2)HTTP是可扩展的 (3)HTTP是无状态的,有会话的,在同一个连接中,2个执行成功的请求之间是没有联系的,用Cookies可以创建有状态的会话

HTTP能控制什么? (1)缓存 文档如何缓存能通过HTTP来控制。服务端能告诉代理和客户端哪些文档需要被缓存,缓存多久,而客户端也能够命令中间的缓存代理来忽略存储的文档 (2)开放同源限制 为了防止网络窥听和其它隐私泄露,浏览器强制对Web网站做了分隔限制。只有来自相同来源的网页才能够获取网站的全部信息。这样的限制有时候反而成了负担,HTTP可以通过修改头部来开放这样的限制 (3)认证 一些页面能够被保护起来,仅让特定的用户进行访问。基本的认证功能可以直接通过HTTP提供,使用Authenticate相似的头部即可,或用HTTP Cookies 来设置指定的会话。 (4)代理和隧道 通常情况下,服务器或客户端是处于内网的,对外网隐藏真实的IP地址。因此HTTP请求就要通过代理越过这个网络屏障, (5)会话 使用HTTP Cookies允许你用一个服务端的状态发起请求,这就创建了会话。虽然基本的HTTP是无状态协议。这很有用,不仅是因为这能应用到像购物车这样的电商业务上,更是因为这使得任何网站都能轻松为用户定制展示内容了。

要展现一个网页(一个网页就是一个超文本文档),浏览器首先发送一个请求来获取页面的HTML文档,再解析文档中的资源信息发送其他请求,获取可执行脚本或css样式来进行页面布局渲染,以及一些其它页面资源(如图片和视频等)。然后,浏览器将这些资源整合在一起,展现出一个完整的文档,也就是一个网页。

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档