HTTP
文章平均质量分 91
时代&信念
学而不思则罔,思而不学则殆!
展开
-
HTTP第18讲——HTTP的缓存控制
HTTP第18讲——HTTP的缓存控制原创 2023-07-11 21:09:51 · 1127 阅读 · 0 评论 -
HTTP第17讲——Cookie机制
HTTP第17讲——Cookie机制原创 2023-07-11 15:58:23 · 1367 阅读 · 1 评论 -
HTTP第16讲——HTTP的重定向和跳转
超文本”里含有“超链接”,可以从一个“超文本”跳跃到另一个“超文本”,对线性结构的传统文档是一个根本性的变革。能够使用“超链接”在网络上任意地跳转也是万维网的一个关键特性。它把分散在世界各地的文档连接在一起,形成了复杂的网状结构,用户可以在查看时随意点击链接、转换页面。再加上浏览器又提供了“前进”“后退”“书签”等辅助功能,让用户在文档间跳转时更加方便,有了更多的主动性和交互性。原创 2023-05-17 22:37:46 · 3192 阅读 · 0 评论 -
HTTP第15讲——HTTP的连接管理
HTTP 协议最初(0.9/1.0)是个非常简单的协议,通信过程也采用了简单的“请求 - 应答”方式。它底层的数据传输基于 TCP/IP,每次发送请求前需要先与服务器建立连接,收到响应报文后会立即关闭连接。因为客户端与服务器的整个连接过程很短暂,不会与服务器保持长时间的连接状态,所以就被称为“短连接”(short-lived connections)。早期的 HTTP 协议也被称为是“无连接”的协议。原创 2023-05-17 21:15:22 · 767 阅读 · 0 评论 -
HTTP第14讲——HTTP传输大文件的方法
HTTP 可以传输很多种类的数据,不仅是文本,也能传输图片、音频和视频。早期互联网上传输的基本上都是只有几 K 大小的文本和小图片,现在的情况则大有不同。网页里包含的信息实在是太多了,随随便便一个主页 HTML 就有可能上百 K,高质量的图片都以 M 论,更不要说那些电影、电视剧了,几 G、几十 G 都有可能。相比之下,100M 的光纤固网或者 4G 移动网络在这些大文件的压力下都变成了“小水管”,无论是上传还是下载,都会把网络传输链路挤的“满满当当”。原创 2023-05-16 23:10:35 · 2266 阅读 · 0 评论 -
HTTP第13讲——HTTP的实体数据
在 TCP/IP 协议栈里,传输数据基本上都是“header+body”的格式。但 TCP、UDP 因为是传输层的协议,它们不会关心 body 数据是什么,只要把数据发送到对方就算是完成了任务。而 HTTP 协议则不同,它是应用层的协议,数据到达之后工作只能说是完成了一半,还必须要告诉上层应用这是什么数据才行,否则上层应用就会“不知所措”。你可以设想一下,假如 HTTP 没有告知数据类型的功能,服务器把“一大坨”数据发给了浏览器,浏览器看到的是一个“黑盒子”,这时候该怎么办呢?原创 2023-05-16 17:30:05 · 648 阅读 · 0 评论 -
HTTP第12讲——HTTP的优点和缺点
讨论范围仅限于 HTTP/1.1,所说的优点和缺点也仅针对 HTTP/1.1。原创 2023-05-15 20:16:19 · 1027 阅读 · 3 评论 -
HTTP第11讲——HTTP的特点
首先, HTTP 协议是一个“灵活可扩展”的传输协议。HTTP 协议最初诞生的时候就比较简单,本着开放的精神只规定了报文的基本格式,比如用空格分隔单词,用换行分隔字段,“header+body”等,报文里的各个组成部分都没有做严格的语法语义限制,可以由开发者任意定制。HTTP 协议就随着互联网的发展一同成长起来了。在这个过程中,HTTP 协议逐渐增加了请求方法、版本号、状态码、头字段等特性。原创 2023-05-15 10:59:06 · 701 阅读 · 0 评论 -
HTTP第10讲——响应状态码
HTTP 报文里请求行的组成部分,包括请求方法和 URI。有了请求行,加上后面的头字段就形成了请求头,可以通过 TCP/IP 协议发送给服务器。服务器收到请求报文,解析后需要进行处理,具体的业务逻辑多种多样,但最后必定是拼出一个响应报文发回客户端。响应报文由响应头加响应体数据组成,响应头又由状态行和头字段构成。开头的 Version 部分是 HTTP 协议的版本号,通常是 HTTP/1.1,用处不是很大。原创 2023-05-14 21:27:38 · 836 阅读 · 0 评论 -
HTTP第九讲——你能写出正确的网址吗?
应该用什么来标记服务器上的资源呢?怎么区分“这个”资源和“那个”资源呢?用的是 URI,也就是统一资源标识符(Uniform Resource Identifier)。因为它经常出现在浏览器的地址栏里,所以俗称为“网络地址”,简称“网址”。URI 不完全等同于网址,它包含有 URL 和 URN 两个部分,在 HTTP 世界里用的网址实际上是 URL——统一资源定位符(Uniform Resource Locator)。但因为 URL 实在是太普及了,所以常常把这两者简单地视为相等。原创 2023-05-11 21:25:42 · 513 阅读 · 0 评论 -
HTTP第八讲——请求方法
目前 HTTP/1.1 规定了八种方法,单词都必须是大写的形式既然请求方法是一个“指示”,那么客户端自然就没有决定权,服务器掌控着所有资源,也就有绝对的决策权力。它收到 HTTP 请求报文后,看到里面的请求方法,可以执行也可以拒绝,或者改变动作的含义,毕竟 HTTP 是一个“协议”,两边都要“商量着来”。原创 2023-05-11 20:44:00 · 647 阅读 · 0 评论 -
HTTP第七讲——HTTP报文
拿 TCP 报文来举例,它在实际要传输的数据之前附加了一个 20 字节的头部数据,存储 TCP 协议必须的额外信息,例如发送方的端口号、接收方的端口号、包序号、标志位等等。有了这个附加的 TCP 头,数据包才能够正确传输,到了目的地后把头部去掉,就可以拿到真正的数据。HTTP 协议也是与 TCP/UDP 类似,同样也需要在实际传输的数据前附加一些头数据,不过与TCP/UDP 不同的是,它是一个“纯文本”的协议,所以头数据都是 ASCII 码的文本,可以很容易地用肉眼阅读,不用借助程序解析也能够看懂。原创 2023-05-10 21:00:33 · 756 阅读 · 0 评论 -
HTTP第六讲——键入网址再按下回车,后面究竟发生了什么?
在地址栏里直接输入了 IP 地址“127.0.0.1”,而 Web 服务器的默认端口是 80,所以浏览器就要依照 TCP 协议的规范,使用“三次握手”建立与 Web 服务器的连接。第三步,在 Chrome 浏览器的地址栏里输入“http://127.0.0.1/”,再按下回车键,等欢迎页面显示出来后 Wireshark 里就会有捕获的数据包,如下图所示。首先我们运行 www 目录下的“start”批处理程序,启动本机的 OpenResty 服务器,启动后可以用“list”批处理确认服务是否正常运行。原创 2023-05-09 10:11:32 · 966 阅读 · 0 评论 -
HTTP第五讲——搭建HTTP实验环境
HTTP 协议诞生于 30 年前,设计之初的目的是用来传输纯文本数据。但由于形式灵活,搭配URI、HTML 等技术能够把互联网上的资源都联系起来,构成一个复杂的超文本系统,让人们自由地获取信息,所以得到了迅猛发展。HTTP 翻译成中文是“超文本传输协议”,是一个应用层的协议,通常基于 TCP/IP,能够在网络的任意两点之间传输文字、图片、音频、视频等数据。HTTP 协议中的两个端点称为请求方和应答方。原创 2023-05-08 20:05:37 · 861 阅读 · 0 评论 -
HTTP第四讲——域名和DNS
IP 协议的职责是“网际互连”,它在 MAC 层之上,使用 IP 地址把 MAC 编号转换成了四位数字,这就对物理网卡的 MAC 地址做了一层抽象,发展出了许多的“新玩法”。例如,分为 A、B、C、D、E 五种类型,公有地址和私有地址,掩码分割子网等。只要每个小网络在 IP 地址这个概念上达成一致,不管它在 MAC 层有多大的差异,都可以接入 TCP/IP 协议栈,最终汇合进整个互联网。原创 2023-05-07 21:35:26 · 685 阅读 · 0 评论 -
HTTP第三讲——四层模型、七层模型
两个协议的另一个重要区别在于数据的形式。TCP/IP 当初的设计者真的是非常聪明,创造性地提出了“分层”的概念,把复杂的网络通信划分出多个层次,再给每一个层次分配不同的职责,层次内只专心做自己的事情就好,用“分而治之”的思想把一个“大麻烦”拆分成了数个“小麻烦”,从而解决了网络通信的难题。但下层的传输过程对于上层是完全“透明”的,上层也不需要关心下层的具体实现细节,所以就 HTTP 层次来看,它不管下层是不是 TCP/IP 协议,看到的只是一个可靠的传输链路,只要把数据加上自己的头,对方就能原样收到。原创 2023-05-06 20:07:19 · 1338 阅读 · 0 评论 -
HTTP第二讲——HTTP相关概念
互联网的正式名称是 Internet,里面存储着无穷无尽的信息资源,我们通常所说的“上网”实际上访问的只是互联网的一个子集“万维网”(World Wide Web),它基于 HTTP 协议,传输 HTML 等超文本资源,能力也就被限制在 HTTP 协议之内。URI 另一个更常用的表现形式是 URL(Uniform Resource Locator), 统一资源定位符,也就是我们俗称的“网址”,它实际上是 URI 的一个子集,不过因为这两者几乎是相同的,差异不大,所以通常不会做严格的区分。原创 2023-05-02 16:09:20 · 537 阅读 · 0 评论 -
HTTP第一讲——HTTP是什么?
HTTP 就是超文本传输协议,也就是 HyperText TransferProtocol。HTTP 的名字是“超文本传输协议”,它可以拆成三个部分,分别是:“超文本”、“传输”和“协议”。1.HTTP 是一个用在计算机世界里的协议,它确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。2.HTTP 专门用来在两点之间传输数据,不能用于广播、寻址或路由。3.HTTP 传输的是文字、图片、音频、视频等超文本数据。原创 2023-05-02 11:05:58 · 2133 阅读 · 0 评论