接口、HTTP请求、协议、响应(总结加深印象)

一、什么是接口
  硬件接口比如:USB、耳机、水龙头、电灯泡

  软件接口比如:api.github.com 连接了服务端和客户端、

         UI  user interface 用户接口、 用户界面、

         函数 可以公开访问的才能是接口 、

         API  全称:application programming interface,应用程序可编程接口,应用程序写代码,可以控制的接口

  连接了两个不同的事物、系统,可以进行数据传输 。

  接口,两个不同事物之间进行适配的一种工具,规范和协议,

二、什么是网络请求

  1、客户端   主要进行前端操作,主动请求 。客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序

  2、服务端   后端主要被动接受来自前端请求。服务器端是为客户端服务的,服务的内容诸如向客户端提供资源,保存客户端数据

三、HTTP请求、协议

  1、HTTP是无状态的

    1)HTTP 每个请求都是独立的

    2)没有记性

    3)实现一个有状态的,一个无状态的,直接使用 requests 发起的请求就没有状态  即使你先调用登录接口 再调用其他接口  那么后面这个接口也会提示你请登录

  2、HTTP协议分为三个部分

    请求首航

    1)URL 域名地址

    2)请求方法 GET (GET获取资源)没有请求体,他的参数都放在URL里面,用?和&分隔

      POST 、POST创建资源  有请求体,有请求体意味着可以添加更多的数据,可以放在URL中,也可以已键值对的方式传参

      PUT、DELETE..

      为什么说POST 比 GET 更安全,1、GET请求都放在URL中一眼就才看出来了 。

    3)协议版本  用的比较多的版本是:HTTP/1.1

      请求网站是:域名地址

      远程地址是:IP地址

    4)请求参数

      body参数方式:

            Text:text/plain

            Form:application/x-www-form-urlencoded

            JSON:application/json

            File:不确定

    5)请求头

      user-agent 1、用户代理 2、手机。浏览器,postman,jemter

       content-type   请求格式

      cookie
 
                     

    6)请求体  请求体有可能是空的

    7)HTTP下层协议是由:tcp/ip

      tcp:打包,使用存储数据,打包成一个一个很小的包
      ip:确认地址,通过ip进行传输

四、响应

  1、响应首航

    1)协议版本号

    2)状态码:内部人员规定的一种专门的信息格式

    3)状态码含义
      1XX 含义:lnformational信息,啥都不做,告诉client,信息收到了,后续会处理

      2XX 含义:Successful 成功,啥都不做,告诉client,请求已正确处理

      3XX 含义:Redirection 重定向,重新请求返回的新地址-》才能获取真正需要的数据,告诉cilent,你需要的内容,由于一些原因,比如地址已经发生变化,然后返回该内容的新地址

      4XX 含义:Client Error客户端的错误,确保用正确的参数和信息,重新请求。告诉client,请求已正确处理

      5XX 含义:Server Error服务器端的错误,(一般来说)都无需啥操作->往往需要服务器端该了bug后,重新发送请求,需要服务器Server端自己找到具体出了什么错,往往是服务端的代码bug导致了出错

    4)常用的状态码及含义
      2XX  200  OK 服务器成功返回用户请求的数据,往往为力简化处理,POST 创建成功后应该返回 201 资源创建成功

          201 CREATED 通过POST或PUT创建资源成功

          204 NO CONTENT 资源修改成功,但是没有返回内容,常用于DELETE操作的返回

      3XX 重定向,为力完成请求,必须进一步执行的动作

         301 永久重定向

         302 临时重定向

         304  上次访问服务器没有进行内容的修改,就把缓存里面的内容获取出来了

      4XX 401 UNAUTHORIZED 没有权限访问该资源,典型情况:用户没有登录,没有获取的对应access token而直接访问某资源

         403 FORBLDDEN 禁止访问 用户虽然已经登录,但是去删除需要更高的权限才有资格操作

         404 NOT FOUND 找不到资源

         405 METHOD NOT ALLOWED 方法不允许, 某个资源不允许发送post请求,但是你发起了post请求

      5XX  500 INTERNAL SERVER ERROR 服务器内部错误,最常见的原因是:服务器挂了,比如传递参数中的有些参数是空的,导致后台代码无法解析,出现异常而崩溃

    5)响应头

      content-type 返回数据的格式

      set-coolie

    6)响应体

      返回的数据 ,json、text、html

五、域名和ip地址的区别

  1、域名更好记忆

  2、IP地址不好记忆

  3、访问域名地址的时候会转换成IP地址进行传输

  4、使用DNS解析,把域名转换成IP地址

  5、端口号,为了区分不同的服务

六、cookie, session 和 token

  1、cookie  

    英文翻译:小饼干、小甜点

    cookie是让服务器记住你,记录浏览器的信息

    cookie 存储在浏览器(服务端)

    cookie 有效期默认是关闭浏览器自动清除,也可以自定义设置

  2、session 

    在(服务器)记住用户状态的信息就叫做:session

    如果使用session对象发起请求,那么你只要先发起登录请求,在访问其他请求接口,都能正常访问

    用来 服务器验证

    服务器也存储一份,用来验证发送过来的 cookie 是不是合法、符合规则的

  3、token 

    保存在客户端本地 local_srotage

    是一种令牌,不管他什么身份

    token 可以跨平台,手机、浏览器、电视、电脑 等等。

    token 生成的口令是会变的,

    关闭浏览器不会删除 token 只会失效

  不管是 cookie, session 和 token 都是服务器生成的

  

七、输入URL后的过程

  1、域名解析:DNS解析,把域名解析成服务器IP地址

  2、发起TCP链接的三次握手(下面会写)

  3、建立TCP链接后发起HTTP请求

  4、服务端响应HTTP请求,返回响应报文

  5、浏览器页面渲染

  6、断开 TCP 链接

八、三次握手

  任何的请求都是从服务端开始的

  第一次握手:建立连接时,客户端向服务端发送请求报文(SYN)“我想建立连接”

  第二次握手:服务器收到请求报文后,如同意连接,则向客户端发送确认报文(SYN / ACK)“同意建立连接”

  第三次握手:客户端收到服务器的确定后,再次向服务器发送确定报文,完成连接(ACK)

  三次握手主要是为了防止已经失效的请求报文文字段发送给服务器,浪费资源

九、 四次挥手

  第一次挥手:客户端想分手,发送消息(FIN)给服务器

  第二次挥手:服务器通知客户端已经接受的挥手请求,返回确认信息(ACK),但还没做好分手准备

  第三次挥手:服务器已经做好分手准备,通知客户端(FIN)

  第四次挥手:客户端发送消息给服务器(ACK),确认分手,服务器关闭连接

原文地址:https://www.cnblogs.com/yongzhuang/p/12206948.html

时间: 2024-10-06 10:30:28

接口、HTTP请求、协议、响应(总结加深印象)的相关文章

drf框架 ----- 接口 cbv生命周期 请求\解析\响应组件 序列化组件 三大认证 其他组件

drf框架 全称: django-rest framework (framework:框架) 理论知识点 大纲 接口 接口: 联系连个物质的媒介, 完成信息交互 web程序中 : 联系前台页面与后台数据库的媒介 web 接口的组成 : url: 统一资源定位符 长得像返回数据的链接 请求参数: 前台按照指定的key 提供数据给后台 响应数据: 后台与数据库交互后将数据反馈给前台 restful接口规范 接口规范:就是为了采用不同的后台语言,也能使用同样的接口获取到同样的数据 如何写接口:接口规范

写一个ActionFilter检测WebApi接口请求和响应

我们一般用日志记录每次Action的请求和响应,方便接口出错后排查,不过如果每个Action方法内都写操作日志太麻烦,而且客户端传递了错误JSON或XML,没法对应强类型参数,请求没法进入方法内, 把日志记录操作放在一个ActionFilter即可. [AttributeUsageAttribute(AttributeTargets.Method, Inherited = false, AllowMultiple = false)] public class ApiActionAttribute

http协议介绍及get与post请求、响应状态码

HTTP:  通信双方如果想要通信就必须遵循一定的规则,我们把这个规则称之为HTTP协议! 报文:  HTTP协议通信的内容我们称之为:报文 报文格式:    报文首部 空行 报文主体 1.请求报文 请求首部:请求首行和请求头部 空行 请求主体 2.响应报文: 响应首部 空行 响应主体 报文分类:  请求报文:浏览器发送给服务器端的内容 get请求    GET /Hello/index.jsp HTTP/1.1   Accept: */*    Accept-Language: zh-CN  

【渗透课程】第二篇下-HTTP协议的请求与响应深度剖析

[渗透课程]第二篇下-HTTP协议的请求与响应深度剖析 HTTP1.1目前支持以下7种请求方法: 常见的MIME类型如下: 第一个数字有五种可能的取值: 目录 什么是请求方法?什么是请求头? HTTP请求信息由3部分组成: 1.请求方法(GET/POST) URI 协议/版本 2.请求头(Request Header) 3.请求正文 下面我们来分析一个http请求: POST http://xg.mediportal.com.cn/health/sms/verify/telephone HTTP

HTTP请求与响应协议

HTTP(hypertext transport protocol),即超文本传输协议.这个协议详细规定了浏览器和万维网服务器之间互相通信的规则 HTTP就是一个通信规则,通信规则规定了客户端发送给服务器的内容格式,也规定了服务器发送给客户端的内容格式.客户端发送给服务器的格式叫“请求协议”:服务器发送给客户端的格式叫“响应协议” HTTP请求协议 请求协议的格式如下: 请求首行(方法——URI——协议/版本) 请求头(key/value形式 头信息:头内容) 空行 请求体(GET方式没有,PO

http协议入门(二)请求和响应报文的构成

由于新公司上班路途有点远,所以早上地铁上闲来无事,就温习了一下http协议的一些知识,这里就说说关于关于http协议中的几种请求数据的类型吧,不多说,开更...... 之前的一篇随笔中有提到,http协议用于客户端和服务器之间的通信,请求访问资源的一方称为客户端,而提供资源响应的一方称为服务器端. 下面就是客户端和服务端之间简单的通信过程 PS:请求必须从客户端建立通信,服务端没收到请求之前不会发送响应 下面先来说说请求的构成: 1)请求方法URI协议/版本  2)请求头(Request Hea

HTTP协议--请求与响应

1.简介 HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990 年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW 中使用的是HTTP/1.0的第六版,HTTP/1.1 的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出. HTTP 协议的主要特点可概括如下: 1.支持客户/服务器模式. 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径.请求方法常用的有GE

HTTP协议(5)HTTP请求和响应

之前曾介绍过,所有的HTTP通信都被构造成一对HTTP请求和HTTP响应,HTTP协议的请求与响应报文都是由"首部header"和"主体body"两部分组成的.其中主体部分是请求和响应的数据,首部部分则规定了请求和响应的内容格式. 对于HTTP请求报文,主要由三部分组成:请求行.请求头.请求正文.在请求头和请求正文之间一般会有两个空行进行间隔.下图是用Burpsuite截获的请求报文.HTTP请求报文的第一行即为请求行,这个报文的请求行就是"GET / H

java webserver-获取请求协议和返回响应协议

使用ServerSocket建立与浏览器的连接,获取请求协议 public class Server { private ServerSocket serverSocket; public static void main(String[]args) { Server server=new Server(); server.start(); } //启动服务 public void start() { try { serverSocket=new ServerSocket(8888); rece

三、http协议—请求和响应报文的构成

http协议用于客户端和服务器之间的通信,请求访问资源的一方称为客户端,而提供资源响应的一方称为服务器端. 下面就是客户端和服务端之间简单的通信过程 PS:请求必须从客户端建立通信,服务端没收到请求之前不会发送响应 下面先来说说请求的构成: 1)请求方法URI协议/版本  2)请求头(Request Header)  3)请求正文 下面是一个请求的例子: GET/sample.jspHTTP/1.1 Accept:image/gif.image/jpeg,*/* Accept-Language: