首页 > 其他分享 >Http基础协议

Http基础协议

时间:2022-11-10 22:01:21浏览次数:40  
标签:协议 浏览器 请求 响应 基础 Http application 格式 服务器

浏览器请求方法

  • http1.0定义了三种:

    • GET: 向服务器获取资源,比如常见的查询请求
    • POST: 向服务器提交数据而发送的请求
    • Head: 和get类似,返回的响应中没有具体的内容,用于获取报头
  • http1.1定义了六种

    • PUT:一般是用于更新请求,比如更新个人信息、商品信息全量更新
    • PATCH:PUT 方法的补充,更新指定资源的部分数据
    • DELETE:用于删除指定的资源
    • OPTIONS: 获取服务器支持的HTTP请求方法,服务器性能、跨域检查等
    • CONNECT: 方法的作用就是把服务器作为跳板,让服务器代替用户去访问其它网页,之后把数据原原本本的返回给用户,网页开发基本不用这个方法,如果是http代理就会使用这个,让服务器代理用户去访问其他网页,类似中介
    • TRACE:回显服务器收到的请求,主要用于测试或诊断

Http响应码

  • 浏览器向服务器请求时,服务端响应的消息头里面有状态码,表示请求结果的状态
  • 分类

    • 1XX: 收到请求,需要请求者继续执行操作,比较少用

    • 2XX: 请求成功,常用的 200

    • 3XX: 重定向,浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取;

      • 好处:网站改版、域名迁移等,多个域名指向同个主站导流

      • 必须记住

        • 301:永久性跳转,比如域名过期,换个域名
        • 302:临时性跳转
    • 4XX: 客户端出错,请求包含语法错误或者无法完成请求

      • 必须记住

        • 400: 请求出错,比如语法协议
        • 403: 没权限访问
        • 404: 找不到这个路径对应的接口或者文件
        • 405: 不允许此方法进行提交,Method not allowed,比如接口一定要POST方式,而你是用了GET
    • 5XX: 服务端出错,服务器在处理请求的过程中发生了错误

      • 必须记住

        • 500: 服务器内部报错了,完成不了这次请求
        • 503: 服务器宕机

口诀

  Http状态码4XX前端错误,5XX后端错误哟~

http常见请求头

  • http请求分为三部分:请求行,请求头, 请求体

  • 请求头

    • 报文头包含若干个属性 格式为“属性名:属性值”,
    • 服务端据此获取客户端的基本信息
  • 常见的请求头

    • Accept: 览器支持的 MIME 媒体类型, 比如 text/html,application/json,image/webp,/ 等

    • Accept-Encoding: 浏览器发给服务器,声明浏览器支持的编码类型,gzip, deflate

    • Accept-Language: 客户端接受的语言格式,比如 zh-CN

    • Connection: keep-alive , 开启HTTP持久连接

    • Host:服务器的域名

    • Origin:告诉服务器请求从哪里发起的,仅包括协议和域名 CORS跨域请求中可以看到response有对应的header,Access-Control-Allow-Origin

    • Referer:告诉服务器请求的原始资源的URI,其用于所有类型的请求,并且包括:协议+域名+查询参数; 很多抢购服务会用这个做限制,必须通过某个入来进来才有效

    • User-Agent: 服务器通过这个请求头判断用户的软件的应用类型、操作系统、软件开发商以及版本号、浏览器内核信息等; 风控系统、反作弊系统、反爬虫系统等基本会采集这类信息做参考

    • Cookie: 表示服务端给客户端传的http请求状态,也是多个key=value形式组合,比如登录后的令牌等

    • Content-Type: HTTP请求提交的内容类型,post提交时才需要设置,比如文件上传,表单提交、json等

      • form表单提交:application/x-www-form-urlencoded
      • json方式提交:application/json

Http响应头

  • 响应头

    • 报文头包含若干个属性 格式为“属性名:属性值”
  • 常见的响应头

    • Allow: 服务器支持哪些请求方法
    • Content-Length: 响应体的字节长度
    • Content-Type: 响应体的MIME类型
    • Content-Encoding: 设置数据使用的编码类型
    • Date: 设置消息发送的日期和时间
    • Expires: 设置响应体的过期时间,一个GMT时间,表示该缓存的有效时间
    • cache-control: Expires的作用一致,都是指明当前资源的有效期, 控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据,优先级高于Expires,控制粒度更细,如max-age=240,即4分钟
    • Location:表示客户应当到哪里去获取资源,一般同时设置状态代码为3xx
    • Server: 服务器名称
    • Transfer-Encoding:chunked 表示输出的内容长度不能确定,静态网页一般没,基本出现在动态网页里面
    • Access-Control-Allow-Origin: 定哪些站点可以参与跨站资源共享

Http里面的content-type

  • Content-type: 用来指定不同格式的请求响应信息,俗称 MIME媒体类型

  • 常见的取值

    • text/html :HTML格式
    • text/plain :纯文本格式
    • text/xml : XML格式
    • image/gif :gif图片格式
    • image/jpeg :jpg图片格式
    • image/png:png图片格式
    • application/json:JSON数据格式
    • application/pdf :pdf格式
    • application/octet-stream :二进制流数据,一般是文件下载
    • application/x-www-form-urlencoded:form表单默认的提交数据的格式,会编码成key=value格式
    • multipart/form-data: 表单中需要上传文件的文件格式类型

 

标签:协议,浏览器,请求,响应,基础,Http,application,格式,服务器
From: https://www.cnblogs.com/chenyanbin/p/16878931.html

相关文章

  • 第2章 C#语言基础
    2.1第一个C#程序usingSystem;//导入命名空间namespaceTest{//命名空间internalc......
  • TypeScript(基础篇)day01
    一.TS介绍1.1简介ts是2012年由微软开发,在js的基础上添加了类型支持1.2优劣势优势:任何位置都有代码提示,增加效率;类型系统重构更容易;使用最新的ECMAscript语法劣势:和......
  • vue核心基础点
    vuevue简介Vue(发音为/vjuː/,类似view)是一款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模......
  • MySql - 基础学习 - 索引
    CREATETABLE`app_user`(`id`BIGINT(20)UNSIGNEDNOTNULLAUTO_INCREMENT,`name`VARCHAR(50)DEFAULT''COMMENT'用户昵称',`email`VARCHAR(50)NOTNULLCOMME......
  • JavaWeb-04-Http
    4.http4.1http是什么超文本传输协议(HyperTextTransferProtocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以......
  • 【博学谷学习记录】超强总结,用心分享|Java基础分享-GC垃圾回收
    目录1.什么是GC2.GC主要针对区域3.Java如何判断对象是否存活4.GC垃圾回收机制4.1标记-清除法4.2标记-整理法4.3复制算法4.4分代收集算法5.内存分配策略及垃圾回收......
  • 01基础元器件学习-电阻
    1、电阻的表示方法:直标法和色标法           直标法R是小数点;色标法根据色标环不同颜色来计算电阻;2、电阻的测量方法:万用表和数字电桥 万用表......
  • day15-HTTP协议02
    HTTP协议029.HTTP练习练习一请写一篇关于HTTP协议的笔记,要求:描述清楚HTTP请求头,响应头的格式请求头:响应头:请求头和响应头中各个头字段的含义(请求头和响应头......
  • Chrome 自动把 http 的 xhr 请求替换成了 https 域名
    问题描述遇到了个诡异的事情。客户反馈他们想在线上https域名下,就是要访问http的链接,但是失败了。发出去的一直是https的xhr请求。直接在控制台输入例子代码,就能......
  • Vxlan协议原理及基本配置——网络测试仪实操手册
    一、Vxlan协议原理1.Vxlan协议相关术语(一)缩略语OSI中的概念NVENetwork Virtualization Edge,网络虚拟边缘节点VTEPVXLAN Tunnel Endpoints......