HTTP
文章平均质量分 86
宋同学shl
这个作者很懒,什么都没留下…
展开
-
HTTP传输大文件的方法
早期互联网上传输的基本上都是只有几 K 大小的文本和小图片,现在的情况则大有不同。网页里包含的信息实在是太多了,随随便便一个主页 HTML 就有可能上百 K,高质量的图片都以 M 论,更不要说那些电影、电视剧了,几 G、几十 G 都有可能。相比之下,100M 的光纤固网或者 4G 移动网络在这些大文件的压力下都变成了“小水管”,无论是上传还是下载,都会把网络传输链路挤的“满满当当”。所以,如何在有限的带宽下高效快捷地传输这些大文件就成了一个重要的课题。这就好比是已经打开了冰箱门(建立连接),该怎么把原创 2021-10-28 23:00:00 · 1543 阅读 · 0 评论 -
HTTP的实体数据
数据类型与编码在 TCP/IP 协议栈里,传输数据基本上都是“header+body”的格式。但 TCP、UDP 因为是传输层的协议,它们不会关心 body 数据是什么,只要把数据发送到对方就算是完成了任务。而 HTTP 协议则不同,它是应用层的协议,数据到达之后工作只能说是完成了一半,还必须要告诉上层应用这是什么数据才行,否则上层应用就会“不知所措”。你可以设想一下,假如 HTTP 没有告知数据类型的功能,服务器把“一大坨”数据发给了浏览器,浏览器看到的是一个“黑盒子”,这时候该怎么办呢?原创 2021-10-28 12:00:00 · 92 阅读 · 0 评论 -
HTTP有哪些优点和缺点
简单、灵活、易于扩展首先,HTTP 最重要也是最突出的优点是“简单、灵活、易于扩展”。初次接触 HTTP 的人都会认为,HTTP 协议是很“简单”的,基本的报文格式就是“header+body”,头部信息也是简单的文本格式,用的也都是常见的英文单词,即使不去看 RFC 文档,只靠猜也能猜出个“八九不离十”。“简单”蕴含了进化和扩展的可能性,所谓“少即是多”,“把简单的系统变复杂”,要比“把复杂的系统变简单”容易得多。所以,在“简单”这个最基本的设计理念之下,HTTP 协议又多出了“灵活和易于原创 2021-10-28 01:00:00 · 1671 阅读 · 0 评论 -
HTTP有哪些特点
灵活可扩展首先,HTTP 协议是一个“灵活可扩展”的传输协议。HTTP 协议最初诞生的时候就比较简单,本着开放的精神只规定了报文的基本格式,比如用空格分隔单词,用换行分隔字段,“header+body”等,报文里的各个组成部分都没有做严格的语法语义限制,可以由开发者任意定制。所以,HTTP 协议就随着互联网的发展一同成长起来了。在这个过程中,HTTP 协议逐渐增加了请求方法、版本号、状态码、头字段等特性。而 body 也不再限于文本形式的 TXT 或 HTML,而是能够传输图片、音频视频等...原创 2021-10-27 16:30:00 · 752 阅读 · 0 评论 -
HTTP - 响应状态码该怎么用
HTTP 报文里请求行的组成部分,包括请求方法和 URI。有了请求行,加上后面的头字段就形成了请求头,可以通过 TCP/IP 协议发送给服务器。服务器收到请求报文,解析后需要进行处理,具体的业务逻辑多种多样,但最后必定是拼出一个响应报文发回客户端。响应报文由响应头加响应体数据组成,响应头又由状态行和头字段构成。我们先来复习一下状态行的结构,有三部分:开头的 Version 部分是 HTTP 协议的版本号,通常是 HTTP/1.1,用处不是很大。后面的 Reason 部分是原因..原创 2021-10-27 09:30:00 · 248 阅读 · 0 评论 -
HTTP - 写出正确的网址
怎么区分“这个”资源和“那个”资源呢?URI,也就是统一资源标识符(UniformResourceIdentifier)。因为它经常出现在浏览器的地址栏里,所以俗称为“网络地址”,简称“网址”。严格地说,URI 不完全等同于网址,它包含有 URL 和 URN 两个部分,在 HTTP 世界里用的网址实际上是 URL——统一资源定位符(UniformResourceLocator)。但因为 URL 实在是太普及了,所以常常把这两者简单地视为相等。URI 的格式不知道你平常上网的时候有没有...原创 2021-10-26 16:43:41 · 4696 阅读 · 0 评论 -
HTTP - 应该如何理解请求方法
标准请求方法HTTP 协议里为什么要有“请求方法”这个东西呢?这就要从 HTTP 协议设计时的定位说起了。还记得吗?蒂姆·伯纳斯 - 李最初设想的是要用 HTTP 协议构建一个超链接文档系统,使用 URI 来定位这些文档,也就是资源。那么,该怎么在协议里操作这些资源呢?很显然,需要有某种“动作的指示”,告诉操作这些资源的方式。所以,就这么出现了“请求方法”。它的实际含义就是客户端发出了一个“动作指令”,要求服务器端对 URI 定位的资源执行这个动作。目前 HTTP/1.1 规定了八种方法,单原创 2021-10-26 16:43:00 · 107 阅读 · 0 评论 -
HTTP报文是什么样子的?
在上一讲里,我们在本机的最小化环境了做了两个 HTTP 协议的实验,使用 Wireshark 抓包,弄清楚了 HTTP 协议基本工作流程,也就是“请求 - 应答”“一发一收”的模式。那么 HTTP 协议的核心部分是什么呢?答案就是它传输的报文内容。HTTP 协议在规范文档里详细定义了报文的格式,规定了组成部分,解析规则,还有处理策略,所以可以在 TCP/IP 层之上实现更灵活丰富的功能,例如连接控制,缓存管理、数据编码、内容协商等等。报文结构你也许对 TCP/UDP 的报文格式有所了解,原创 2021-10-26 00:00:00 · 354 阅读 · 0 评论 -
键入网址再按下回车,后面究竟发生了什么?
使用 IP 地址访问 Web 服务器首先我们运行 www 目录下的“start”批处理程序,启动本机的 OpenResty 服务器,启动后可以用“list”批处理确认服务是否正常运行。然后我们打开 Wireshark,选择“HTTP TCP port(80)”过滤器,再鼠标双击“Npcap loopback Adapter”,开始抓取本机 127.0.0.1 地址上的网络数据。第三步,在 Chrome 浏览器的地址栏里输入“http://127.0.0.1/”,再按下回车键,等欢迎页面显示出来后原创 2021-10-26 00:00:00 · 174 阅读 · 0 评论 -
域名系统及DNS协议
域名的形式域名是一个有层次的结构,是一串用“.”分隔的多个单词,最右边的被称为“顶级域名”,然后是“二级域名”,层级关系向左依次降低。最左边的是主机名,通常用来表明主机的用途,比如“www”表示提供万维网服务、“mail”表示提供邮件服务,不过这也不是绝对的,名字的关键是要让我们容易记忆。看一下极客时间的域名“time.geekbang.org”,这里的“org”就是顶级域名,“geekbang”是二级域名,“time”则是主机名。使用这个域名,DNS 就会把它转换成相应的 IP 地址,你就可以原创 2021-10-25 10:00:00 · 179 阅读 · 0 评论 -
常说的“四层”和“七层”是什么
TCP/IP 网络分层模型还是先从 TCP/IP 协议开始讲起,一是因为它非常经典,二是因为它是目前事实上的网络通信标准,研究它的实用价值最大。TCP/IP 当初的设计者真的是非常聪明,创造性地提出了“分层”的概念,把复杂的网络通信划分出多个层次,再给每一个层次分配不同的职责,层次内只专心做自己的事情就好,用“分而治之”的思想把一个“大麻烦”拆分成了数个“小麻烦”,从而解决了网络通信的难题。你应该对 TCP/IP 的协议栈有所了解吧,这里我再贴一下层次图。TCP/IP 协议总共有四.原创 2021-10-25 02:00:00 · 4905 阅读 · 0 评论 -
与HTTP相关的各种协议
TCP/IPTCP/IP 协议是目前网络世界“事实上”的标准通信协议,即使你没有用过也一定听说过,因为它太著名了。TCP/IP 协议实际上是一系列网络通信协议的统称,其中最核心的两个协议是TCP和IP,其他的还有 UDP、ICMP、ARP 等等,共同构成了一个复杂但有层次的协议栈。这个协议栈有四层,最上层是“应用层”,最下层是“链接层”,TCP 和 IP 则在中间:TCP 属于“传输层”,IP 属于“网际层”。协议的层级关系模型非常重要,我会在下一讲中再专门讲解,这里先暂时放一放。IP 协议原创 2021-10-25 00:30:00 · 873 阅读 · 0 评论 -
HTTP 思维导图
HTTP 思维导图原创 2021-10-24 19:01:53 · 137 阅读 · 0 评论 -
HTTP是什么?HTTP又不是什么?
HTTP :超文本传输协议,也就是HyperTextTransferProtocol .HTTP 是什么先看一下 HTTP 的名字:“超文本传输协议”,它可以拆成三个部分,分别是:“超文本”“传输”和“协议”。我们从后往前来逐个解析,理解了这三个词,我们也就明白了什么是 HTTP。协议首先,HTTP 是一个协议。不过,协议又是什么呢?其实“协议”并不仅限于计算机世界,现实生活中也随处可见。例如,你在刚毕业时会签一个“三方协议”,找房子时会签一个“租房协议”,公司入职时还可能会...原创 2021-10-24 23:30:00 · 168 阅读 · 0 评论 -
HTTP的前世今生
HTTP 协议在我们的生活中随处可见,打开手机或者电脑,只要你上网,不论是用 iPhone、Android、Windows 还是 Mac,不论是用浏览器还是 App,不论是看新闻、短视频还是听音乐、玩游戏,后面总会有 HTTP 在默默为你服务。据 NetCraft 公司统计,目前全球至少有 16 亿个网站、2 亿多个独立域名,而这个庞大网络世界的底层运转机制就是 HTTP。那么,在享受如此便捷舒适的网络生活时,你有没有想过,HTTP 协议是怎么来的?它最开始是什么样子的?又是如何一步一步发展到今天,原创 2021-10-24 23:00:00 · 113 阅读 · 0 评论