| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> <HTTP权威指南>万字解读 -> 正文阅读 |
|
[网络协议]<HTTP权威指南>万字解读 |
文章目录前言HTTP(超文本传输协议)是在万维网进行通信使用的协议方案,HTTP是应用层协议, 一HTTP概述1.1Web客户端和服务器1.2MIME类型HTTP会给Web传输的对象打上MIME类型的数据格式标签
常见的MIME类型有数百个 1.3URI统一资源标识符 请脑中联想URI就是身份证号码,它不会重复,可以根据URI找到这个资源 下图显示了URI是怎样指示HTTP协议去访问joes网站上的图片 1.4URL统一资源定位符 动物住址协议://地球/中国/浙江省/杭州市/西湖区/某大学/14号宿舍楼/525号寝/张三.人 通过这种方式也可以定位到这个人 不论是定位的方式还是用编码的方式,我们都可以确定一个人,都是URI的实现,而URL减少用定位的方式实现了URI 1.5事务一个HTTP事务由
1.6方法每条HTTP请求报文(即客户端给服务端的请求)都包含一个方法.
1.7状态码每条HTTP响应报文返回时携带一个状态码
1.8报文
HTTP报文包括以下三部分:
如上图 服务器响应一条HTTP响应报文,这条报文响应包含了HTTP版本号(HTTP/1.0),一个成功状态码(200),一个描述性的原因短语言(OK), 1.9连接报文通过传输控制协议(TCP)连接从一个地方搬移到赢一个地方 HTTP无需操心网络通信的具体细节;它把联网的细节都交给了通用,可靠地因特网传输协议TCP/IP: TCP提供了
因特网自身就是基于TCP/IP的,
用网络术语说,
1.10连接,IP地址及端口号在HTTP客户端想服务器发送报文之前, 在TCP中 , 你需要知道服务器的IP地址,已经与服务器运行的特定软件相关的TCP端口号 URL是资源的地址 一起来看几个URL: http:110.242.68.4:80/index.html 第一个URL使用了机器的IP地址,110.242.68.4以及端口号80. 有了 IP地址 和 端口号,客户端就可以方便地通过TCP/IP进行通信
步骤如下:
1.11协议版本
1.12Web结构组件
1.12.1 缓存
1.12.2 网关
1.12.3 隧道 隧道的常见用途是通过HTTP连接承载加密的安全套接字层(SSL,Secure Sockets Layer)流量,这样SSL流量就可以穿过只允许Web流量通过的防火墙了. 1.12.4 Agent代理
二URL与资源2.1浏览因特网资源URL实际上是URI的子集 HTTP规范将更通用的概念URI作为资源标识符,但实际上,HTTP只是处理URL. URL分以下三部分:
2.2URL组件URL最重要的3个部分是方案(scheme),主机(host),路径(path), 2.2.2 主机和端口 2.2.3 用户名和密码 eg2:显示了一个指定为anonymous的用户名,这个用户名与主机组件组合在一起,字符"@"将用户和密码组件与URL的其它部分分隔开来. eg3:指定了用户名(anonymous)和密码(my_passwd),两者之间用字符":"分隔 2.2.4 路径 2.2.5 参数 比如: 2.2.6 查询 字符"?" 右边的内容是新出现的,这部分被称为 查询(query)组件 http://www.joes-hardware.com/inventory-check.cgi?item=12731&color=blue
这个例子中,查询组件由两个名/值对: item=12731和color=blue 为了引用部分资源或资源的一个片段,URL支持使用片段(frag)组件来表示一个资源内部的片段 在上面的;例子中 ,片段drills引用了/tools.html中的一部分,这部分的名字叫做drills
2.3URL快捷方式Web客户端可以使用多种URL快捷方式,相对URL是在某资源内部指定一个资源的便捷缩略方式 2.3.1 相对URL 例如: 使用缩略形式的相对URL语法,编写者可以省略URL中的 方案,主机等一些组件 再来一个例子:
2.3.2 自动扩展URL 这些"自动扩展"特性有两个方面
2.4各种令人头疼的字符2.4.1 URL字符集 [2.4.2 URL编码机制] 三HTTP报文3.1报文流HTTP报文是在HTTP应用程序间发送的数据块. 3.1.1 报文流入源端服务器 报文流入源端服务器, 工作完成之后,会流回用户的 Agent代理中
3.1.2 报文向下游流动 在下图中,
3.2报文的组成部分HTTP报文是简单的格式化数据块 3.3方法
3.3.2GET
3.3.3HEAD
服务器开发者必须确保返回的首部与GET请求所返回的首部完全相同。
3.3.4PUT
因为PUT允许用户对内容进行修改或存储,所以很多Web服务器都要求执行PUT前用密码登录 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 19:36:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |