Http

简介: Http

Http发送请求过程

image.png
如果访问过网页就先在浏览器缓存中查找,要注意缓存的过期时间,浏览器里会存放访问过的IP,就直接访问浏览器,没有IP就在dns查询IP再访问

GET POST

  • 语义 get:获取数据 post :创建数据
  • 发送数据 get 在请求头携带数据 post 既可以在请求头也可以在请求体携带数据
  • 缓存 get 可以被缓存,post 不会被缓存
  • 安全性 都不安全\

    Localstorage存入的键和值都是字符串类型

    jSON方法

    JSON.parse() 可以将JSON 格式的字符串解析成JS 中的对应值, 一定要是合法的JSON 字符串,否则会报错

JSON.stringify() 可以将JS 的基本数据类型、对象或者数组转换成JSON 格式的字符串

JSON内不能有undefined,要加双引号】

CORS

Access-ControlAllow-Origin: *
//表明允许所有的域名来跨域请求它,*是通配符,没有任何限制
Access-Control- Allow-Origin: http://127.0.0.1:5500
//只允许指定域名的跨域请求

使用CORS跨域的过程

//①浏览器发送请求

//②后端在响应头中添加Access-Control-Allow-Origin 头信息

//③浏览器接收到响应

//④如果是同域下的请求,浏览器不会额外做什么,这次前后端通信就圆满完成了

//⑤如果是跨域请求,浏览器会从响应头中查找是否允许跨域访问

//⑥如果允许跨域,通信圆满完成

//⑦如果没找到或不包含想要跨域的域名,就丢弃响应结果

JSONP

JSONP的原理

  • script标签跨域不会被浏览器阻止
  • JSONP主要就是利用script标签,加载跨域文件

使用JSONP实现跨域

image.png

image.png

fetch

  • Fetch是Ajax (XMLHttpRequest) 的一种替代方案,它是基于Promise的
  • Ajax的兼容性比Fetch好
    fetch的返回值
    body/bodyUsed  //body只能读一次, 读过之后就不让再读了
    ok  //如果为true,表示可以读取数据,不用再去判断HTTP状态
    码了
    

image.png

只能在请求体上加,如果要在请求头上加要在url上添加请求参数,如果body是对象格式,要用JSON.stringify转。content-type改为application/json,没有settimeout,abort.

相关文章
|
27天前
|
缓存 安全 网络协议
HTTP中如何正确使用Via
【7月更文挑战第24天】Via`首部字段记录报文途中每个代理或网关信息,助于诊断问题和避免循环。
|
3月前
|
网络协议 Linux Shell
http“超级应用与理解”
http“超级应用与理解”
|
3月前
|
Web App开发 缓存 网络协议
1.HTTP 前世今生
1.HTTP 前世今生
36 0
|
网络协议 前端开发 JavaScript
什么是http?
“超文本”这个词经常会引起误解,让人以为HTTP只能传输文本文件,个人觉得可能改名叫“超媒体传输协议”更加恰当。 本文对“协议”的解释比较通俗,严格来说协议应该包括语法、语义、同步规则和错误处理 我们通常使用浏览器访问的实际上是万维网(WWW),他是互联网(Internet)的一部分,但现在几乎很少有人能区分两者。
138 0
什么是http?
|
Web App开发 网络协议 安全
HTTP/3 来了,你了解它么?
作为我们网上冲浪最为常见,也经常被人忽视的 HTTP 已经更新换代到了 HTTP/3,是时候去学习下 HTTP/3 相关知识了。要深入了解 HTTP/3,那首先要知道什么是 HTTP/3。
225 0
HTTP/3 来了,你了解它么?
|
网络安全
HTTP2
HTTP2
116 1
|
存储 网络协议 安全
HTTP详解
HTTP详解
563 0
|
缓存 网络协议 算法
二、HTTP篇
二、HTTP篇
141 0
二、HTTP篇
|
存储 缓存 网络协议
HTTP几个简单问题哈
《基础》系列
138 0
HTTP几个简单问题哈
|
存储 缓存 网络协议