URI 用字符串标识某一互联网资源,而 URL 表示资源的地点(互联 网上所处的位置)。可见 URL 是 URI 的子集。html
//URI绝对格式 http://user:pass@www.example.jp:80/dir/index.html?uid=1#ch1 <-! 方案名://登陆信息@服务器地址:端口号/文件路径?查询字符#片断标识符 > https://blog.csdn.net/weixin_39780047/article/details/88850857 <协议>://<host>:<port>/<路径>
省略路径时,默认指向主页web
http1.0是无状态的,每次访问数据时都要进行tcp的链接和释放。http1.1以后采用持续链接方式,tcp链接在完成请求后依然保留一段时间,可重复使用浏览器
代理服务器将最近的一些请求和响应暂存在本地中。当新请求到到达时,若代理服务器中包含相同资源,则返回暂存的请求响应。不然经过因特网获取请求响应并复制一份在本地(缓存服务器)缓存
使用代理服务器的理由安全
利用缓存技术(稍后讲解)减小网络带宽 的流量,组织内部针对特定网站的访问控制,以获取访问日志为主要 目的,等等。服务器
http分为请求报文和响应报文
cookie
1** | 通知信息 |
---|---|
2** | 表示成功 |
3** | 重定向,还须要采起进一步行动 |
4** | 客户端错误,语法错误活没法完成请求 |
5** | 服务器错误,服务器在处理过程当中发送生错误 |
常见状态:网络
首部字段名 | 说明 |
---|---|
Cache-Control | 控制缓存的行为 |
Connection | 逐跳首部、链接的管理 |
Date | 建立报文的日期时间 |
Pragma | 报文指令 |
Trailer | 报文末端的首部一览 |
Transfer-Encoding | 指定报文主体的传输编码方式 |
Upgrade | 升级为其余协议 |
Via | 代理服务器的相关信息 |
Warning | 错误通知 |
请求首部字段tcp
首部字段名 | 说明 |
---|---|
Accept | 用户代理可处理的媒体类型 |
Accept-Charset | 优先的字符集 |
Accept-Encoding | 优先的内容编码 |
Accept-Language | 优先的语言(天然语言) |
Authorization | Web认证信息 |
Expect | 期待服务器的特定行为 |
From | 用户的电子邮箱地址 |
Host | 请求资源所在服务器 |
If-Match | 比较实体标记(ETag) |
If-Modified-Since | 比较资源的更新时间 |
If-None-Match | 比较实体标记(与 If-Match 相反) |
If-Range | 资源未更新时发送实体 Byte 的范围请求 |
If-Unmodified-Since | 比较资源的更新时间(与If-Modified-Since相反) |
Max-Forwards | 最大传输逐跳数 |
Proxy-Authorization | 代理服务器要求客户端的认证信息 |
Range | 实体的字节范围请求 |
Referer | 对请求中 URI 的原始获取方 |
TE | 传输编码的优先级 |
User-Agent | HTTP 客户端程序的信息 |
响应首部字段性能
首部字段名 | 说明 |
---|---|
Accept-Ranges | 是否接受字节范围请求 |
Age | 推算资源建立通过时间 |
ETag | 资源的匹配信息 |
Location | 令客户端重定向至指定URI |
Proxy-Authenticate | 代理服务器对客户端的认证信息 |
Retry-After | 对再次发起请求的时机要求 |
Server | HTTP服务器的安装信息 |
Vary | 代理服务器缓存的管理信息 |
WWW-Authenticate | 服务器对客户端的认证信息 |
实体首部字段
cookie
经常使用端口:443
HTTP+ 加密 + 认证 + 完整性保护 =HTTPS
Comet——保留响应
SPYD
SPDY 没有彻底改写 HTTP 协议,而是在 TCP/IP 的应用层与运输层之 间经过新加会话层的形式运做。同时,考虑到安全性问题,SPDY 规 定通讯中使用 SSL。
WebSocket
一旦 Web 服务器与客户端之间创建起 WebSocket 协议的通讯链接, 以后全部的通讯都依靠这个专用协议进行。通讯过程当中可互相发送 JSON、XML、HTML 或图片等任意格式的数据。 因为是创建在 HTTP 基础上的协议,所以链接的发起方还是客户端, 而一旦确立 WebSocket 通讯链接,不论服务器仍是客户端,任意一方 均可直接向对方发送报文。
为了实现 WebSocket 通讯,须要用到 HTTP 的 Upgrade 首部字 段,告知服务器通讯协议发生改变,以达到握手的目的
特色
Web 应用端(服务器端)的验证
远程文件包含漏洞
思惟导图
用单台虚拟主机实现多个域名
提 供 Web 托管服务(Web Hosting Service)的供应商,能够用一台服务 器为多位客户服务,也能够以每位客户持有的域名运行各自不一样的网 站。这是由于利用了虚拟主机(Virtual Host,又称虚拟服务器)的功 能。
位于同一台服务器上的web服务器通过域名转换后,IP地址相同。所以在发送HTTP请求的时候,必须在host首部内完整指出主机名或域名的URI。
[x] URL和URI的区别
URL:(Uniform/Universal Resource Locator 的缩写,统一资源定位符)
URI:(Uniform Resource Identifier 的缩写,统一资源标识符)(表明一种标准)。
URI 属于 URL 更高层次的抽象,一种字符串文本标准。
URL是一种具体的URI,它是URI的一个子集,它不只惟一标识资源,并且还提供了定位该资源的信息。URI 是一种语义上的抽象概念,能够是绝对的,也能够是相对的,而URL则必须提供足够的信息来定位,是绝对的。
GET | POST | |
---|---|---|
回退时 | 无害 | 再次请求 |
cache | 会 | 须要手动设置 |
编码 | URL | 多种编码 |
浏览器历史记录 | 保留 | 不保留 |
长度限制 | 受浏览器限制 | 无 |
参数数据类型 | ASCII | 任意 |
传递方式 | URL | request body |
传输数据包 | 1个 | 2个 |
二者本质上都是采用TCP协议进行传输,所以在传输过程当中没有差别
[x] 幂等请求
HTTP幂等方法,是指不管调用这个url多少次,都不会有不一样的结果的HTTP方法。
HTTP GET方法用于获取资源,不该有反作用,因此是幂等的。 GET请求可能会每次获得不一样的结果,但它自己并没有产生任何反作用,于是是知足幂等性的。
调用屡次的结果和调用一次的结果一致,如DELETE调用一次删除指定资源,再次调用不管该资源是否存在,依然删除该资源。所以其是幂等