九、HTTP

2023-10-23  本文已影响0人  SeanLink

HTTP

版本

标准

报文格式

image.png

ABNF

ABNF--- 核心规则

image.png

报文格式

HTTP-message = start-line
*( header-field CRLF )
CRLF
[ message-body ]

start-line = request-line / status-line
image.png

request-line 、status-line

request-line = method SP request-target SP HTTP-version CRLF
HTTP-version = HTTP-name "/" DIGIT "." DIGIT
HTTP-name = %x48.54.54.50 ; HTTP
示例:
GET / hello/ HTTP/1.1

status-line = HTTP-version SP status-code SP reason-phrase CRLF
status-code = 3DIGIT
reason-phrase = *( HTAB / SP / VCHAR / obs-text )
示例:
HTTP/1.1 200
HTTP/1.1 200 OK

header-field、message-body

header-field = field-name ":" OWS field-value OWS
field-name = token
field-value = *( field-content / obs-fold )
OWS = *( SP / HTAB )
message-body = *OCTET

URL编码

Xshell + telnet 使用

请求方法

头部字段(Header Field)

头部字段 说明 示例
Range 仅请求某个实体的一部分。字节偏移以 开始 Range : bytes = 500-999
Origin 发起一个针对跨域资源共享的请求 Origin:https://www.baidu.com
Cookie 之前由服务器通过 Set-Cookie发送的Cookie Cookie; $Version = 1; Skin=new
Connection 该浏览器想要优先使用的连接类型 Connection:keep-alive
Cache-Control 用来指定在这次的请求 响应链中的所有缓存机制,都必须遵守的指令 Cache-Control: no-cache
Date 发送该消息的日期和时间 Date:Fri, 09 Dec 2022 09:24:35 GMT
Last-Modified 所请求的对象的最后修改日期 Last-Modified: Fri, 09 Dec 2022 09:24:35 GMT
Server 服务器的名字 BWS/1.1
Expires 指定一个时间,超过该时间则认为此响应已经过期期 Expires:Fri, 09 Dec 2022 04:14:22 GMT
Content-Type 响应体的类型 Content-Type:text/javascript; charset=utf-8
Content-Encoding 内容锁使用的编码类型 Content-Encoding:br
Content-Length 响应体的长度(字节为单位) Content-Length:348
Content-Disposition 一个可以让客户端下载文件并建议文件名的头部 Content-Disposition :attachment;filename="fname.ext"
Accept-Rangs 发起一个针对跨域资源共享的请求 Accept-Rangs:bytes
Content - Range 这条部分消息是属于完整消息的哪部分 Content - Range: bytes 21010-47021/47022
Acces-Control-Allow-Origin 指定哪些网站可参与到跨来源资源共
享过程中 Acces-Control-Allow-Origin: *
Location 用来进行重定向,或者在创建了某个新资源时使用 Location:http://www.w3.org
Set-Cookie 返回一个Cookie让客户端去保存 Set-Cookie:BDRCVFR[S4-dAuiWMmn]=qCznQ2sbsFTfj0znj01n1bsg1NxpA7E; path=/; domain=.baidu.com
Connection 针对该连接所预期的选项 Connection : close
Cache-Control 向从服务器直到客户端在内的所有缓存机制告知,它们是否可以缓存这个对象。单位为秒 Cache-Control: max-age=3600

状态码

常见状态码

form提交 - 常用属性

multipart/form-data

代理服务器(Proxy Server)

  1. 面对下游的客户端:他是服务器
  2. 面对上游的服务器: 他是客户端


    image.png

正向代理、反向代理

正向代理---作用

反向代理---作用

抓包工具的原理

代理服务器 --- 相关头部字段

CDN

CDN使用前后对比

image.png

CDN使用前

image.png

CDN使用后

image.png
image.png

缓存(Cache)

image.png

缓存--- 响应头

缓存--- 请求头

Last-Modified vs ETag

缓存流程图

image.png
上一篇 下一篇

猜你喜欢

热点阅读