计算机网络基础(前端相关)

一、基础概念

1.URI

  • URI–Uniform Resource Identifier,统一资源标识符。
  • URI分为URL和URN。
  • URL–Uniform Resource Locator,统一资源定位符。
http://www.google.com
  • URN–Uniform Resource Name, 统一资源名称。
urn:isb:0451450523

2.请求和相应报文

2.1 请求报文

在这里插入图片描述

2.2 响应报文

在这里插入图片描述

二、HTTP方法

客户端发送到请求报文第一行为请求行,包含了方法字段。

1. GET(获取资源)

  • 当前网络请求中,绝大部分使用的是 GET 方法。

2. HEAD(获取报文首部)

  • 和 GET 方法类似,但是不返回报文实体主体部分。主要用于确认 URL 的有效性以及资源更新的日期时间等。

3. POST(传输实体主体)

  • POST 主要用来传输数据,而 GET 主要用来获取资源。

4. PUT(上传文件)

  • 由于自身不带验证机制,任何人都可以上传文件,因此存在安全性问题,一般不使用该方法。
PUT /new.html HTTP/1.1
Host: example.com
Content-type: text/html
Content-length: 16

<p>New File</p>

5. PATCH(对资源进行部分修改)

  • PUT 也可以用于修改资源,但是只能完全替代原始资源,PATCH 允许部分修改。
PATCH /file.txt HTTP/1.1
Host: www.example.com
Content-Type: application/example
If-Match: "e0023aa4e"
Content-Length: 100

[description of changes]

6. DELETE(删除文件)

  • 与 PUT 功能相反,并且同样不带验证机制。
DELETE /file.html HTTP/1.1

7. OPTIONS(查询支持的方法)

  • 查询指定的 URL 能够支持的方法。
  • 会返回 Allow: GET, POST, HEAD, OPTIONS 这样的内容。

8. CONNECT(要求在于代理服务器通信时建立隧道)

  • 使用 SSL(Secure Sockets Layer,安全套接层)和 TLS(Transport Layer Security,传输层安全)协议把通信内容加密后经网络隧道传输。
CONNECT www.example.com:443 HTTP/1.1

在这里插入图片描述

9. TRACE(追踪路径)

  • 服务器会将通信路径返回给客户端。

  • 发送请求时,在 Max-Forwards 首部字段中填入数值,每经过一个服务器就会减 1,当数值为 0 时就停止传输。

  • 通常不会使用 TRACE,并且它容易受到 XST 攻击(Cross-Site Tracing,跨站追踪)。

三、HTTP状态码

  • 服务器返回的 响应报文 中第一行为状态行,包含了状态码以及原因短语,用来告知客户端请求的结果。
状态码 类别 含义
1XX Informational(信息性状态码) 接收的请求正在处理
2XX Success(成功状态码) 请求正常处理完毕
3XX Redirection(重定向状态码) 需要进行附加操作以完成请求
4XX Client Error(客户端错误状态码) 服务器无法处理请求
5XX Server Error(服务器错误状态码) 服务器处理请求出错
  • 1XX 信息
    100 Continue:表明到目前为止都很正常,客户端可以继续发送请求或者忽略这个响应。
  • 2XX 成功
    200 OK
    204 No Content:请求已经成功处理,但是返回的响应报文不包含实体的主体部分。一般在只需要从客户端往服务器发送信息,而不需要返回数据时使用。
    206 Partial Content:表示客户端进行了范围请求,响应报文包含由 Content-Range 指定范围的实体内容。
  • 3XX 重定向
    301 Moved Permanently :永久性重定向
    302 Found :临时性重定向
    303 See Other :和 302 有着相同的功能,但是 303 明确要求客户端应该采用 GET 方法获取资源。
    【注】虽然 HTTP 协议规定 301、302 状态下重定向时不允许把 POST 方法改成 GET 方法,但是大多数浏览器都会在 301、302 和 303 状态下的重定向把 POST 方法改成 GET 方法。
    304 Not Modified :如果请求报文首部包含一些条件,例如:If-Match,If-Modified-Since,If-None-Match,If-Range,If-Unmodified-Since,如果不满足条件,则服务器会返回 304 状态码。
    307 Temporary Redirect :临时重定向,与 302 的含义类似,但是 307 要求浏览器不会把重定向请求的 POST 方法改成 GET 方法。
  • 4XX 客户端错误
    400 Bad Request :请求报文中存在语法错误。
    401 Unauthorized :该状态码表示发送的请求需要有认证信息(BASIC 认证、DIGEST 认证)。如果之前已进行过一次请求,则表示用户认证失败。
    403 Forbidden :请求被拒绝。
    404 Not Found
  • 5XX 服务器错误
    500 Internal Server Error :服务器正在执行请求时发生错误。
    503 Service Unavailable :服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。

四、 HTTP首部

有 4 种类型的首部字段:通用首部字段、请求首部字段、响应首部字段和实体首部字段。
各种首部字段及其含义如下(不需要全记,仅供查阅):

通用首部字段

首部字段名 说明
Cache-Control 控制缓存的行为
Connection 控制不再转发给代理的首部字段、管理持久连接
Date 创建报文的日期时间
Pragma 报文指令
Trailer 报文末端的首部一览
Transfer-Encoding 指定报文主体的传输编码方式
Upgrade 升级为其他协议
Via 代理服务器的相关信息
Warning 错误通知

请求首部字段

首部字段名 说明
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 资源为更新时发送实
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值