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.

相关文章
|
7月前
|
网络协议 安全 网络安全
什么是HTTP
什么是HTTP
101 0
|
缓存 网络协议
01JavaWeb基础 - HTTP介绍
01JavaWeb基础 - HTTP介绍
46 0
|
1月前
|
缓存 安全 网络协议
HTTP中如何正确使用Via
【10月更文挑战第20天】Via`首部字段记录报文途中每个代理或网关信息,助于诊断问题和避免循环。
|
4月前
|
安全 网络安全 数据安全/隐私保护
http-referr
http-referr
71 1
|
7月前
|
网络协议 Linux Shell
http“超级应用与理解”
http“超级应用与理解”
|
7月前
|
Web App开发 缓存 网络协议
HTTP 前世今生
HTTP 前世今生
75 2
|
Web App开发 存储 网络协议
Http中你必须知道那点事
HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 数据传输的规则指的是请求数据和响应数据需要按照指定的格式进行传输。 如果想知道具体的格式,可以打开浏览器,点击F12打开开发者工具,点击Network来查看某一次请求的请求数据和响应数据具体的格式内容,如下图所示:
100 0
Http中你必须知道那点事
|
网络协议 前端开发 JavaScript
什么是http?
“超文本”这个词经常会引起误解,让人以为HTTP只能传输文本文件,个人觉得可能改名叫“超媒体传输协议”更加恰当。 本文对“协议”的解释比较通俗,严格来说协议应该包括语法、语义、同步规则和错误处理 我们通常使用浏览器访问的实际上是万维网(WWW),他是互联网(Internet)的一部分,但现在几乎很少有人能区分两者。
174 0
什么是http?
|
Web App开发 缓存 算法
初识HTTP
初识HTTP
176 1
|
存储 缓存 网络协议
HTTP几个简单问题哈
《基础》系列
154 0
HTTP几个简单问题哈