美文网首页
HTTP接口相关知识

HTTP接口相关知识

作者: Ssaffron | 来源:发表于2021-05-17 11:48 被阅读0次

日常工作中我接触到最多的是HTTP接口,这篇文章专门讲下HTTP接口的相关知识

1、什么是HTTP接口

HTTP 接口是基于HTTP协议的开发接口

2、什么是网络协议

网络协议是计算机之间为了实现网络通信而达成的一种约定,不同厂商生产设备,不同操作系统组成的计算机,都按照此约定的协议生产,这样就实现了通信

3、什么是HTTP协议

HTTP协议,英文:Hyper Text Transfer Protocol,翻译为超文本传输协议,是从web服务器传输超文本标记语言(HTML)到本地浏览器的传送协议

HTTP协议是一个基于TCP/IP通信协议来传递数据的协议,传输的数据类型为HTML 文件,图片文件、查询结果等

HTTP协议一般用于B/S架构。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求(Request),WEB服务器会通过请求给到对应的响应(Response)

4、请求(Request)

请求是我们发送给接口的数据对象,包含接口地址(URL),请求方法,参数,请求头(Headers), Cookies, 数据等

请求(Request)之常见请求方法

GET:请求指定的页面信息,并返回实体主体

POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改

HEAD:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头

PUT:从客户端向服务器传送的数据取代指定的文档的内容。

DELETE:请求服务器删除指定的页面

请求(Request)之请求方式中POST和GET的区别

都包含请求头请求行,POST比GET多了请求body

GET多用来查询,请求参数放在URL中,不会对服务器上的内容产生作用。POST用来提交,如把账号密码放入body中

GET是直接添加到URL后面的,直接就可以在URL中看到内容,而POST是放在报文内部的,用户无法直接看到。

GET提交的数据长度是有限制的,因为URL长度有限制,具体的长度限制视浏览器而定。而POST中URL的长度没有限制

请求(Request)之请求头(Headers)

Connection:表示是否需要持久连接,HTTP1.1默认进行持久连接。keepalive、close

User-Agent:发出请求的用户信息

Host:请求服务器的域名和端口号

Cookie:传递cookie信息给服务器

请求(Request)之Cookie和Session

**Cookie/Cookies: **是指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。

Session:服务端为客户端访问所建立和维持的会话,通常会生成一个唯一的id,会话有一定的有效期

cookie:保存在客户端,数据不超过4kb,只能用ASCii字符串,同源页面共享。一般用于记住用户登录状况,用户习惯,购物车等

session:存在服务端,数据大小5m或更大,存储任何类型数据,不同浏览器不同窗口不共享。用来登录验证

5、响应(Response)

接口返回的信息,包含HTTP状态码,响应头和响应信息

原始相应数据(Raw格式,Fiddler抓包)

常见的响应格式:html、json、xml

响应(Response)之状态码

状态码分类

1XX- 信息型,服务器收到请求,需要请求者继续操作。

2XX- 成功型,请求成功收到,理解并处理。

3XX - 重定向,需要进一步的操作以完成请求。

4XX - 客户端错误,请求包含语法错误或无法完成请求。

5XX - 服务器错误,服务器在处理请求的过程中发生了错误。

常见状态码

200 OK - 客户端请求成功

301 - 资源(网页等)被永久转移到其它URL

302 - 临时跳转

400 Bad Request - 客户端请求有语法错误,不能被服务器所理解

401 Unauthorized - 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用

404 - 请求资源不存在,可能是输入了错误的URL

500 - 服务器内部发生了不可预期的错误

503 Server Unavailable - 服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

6、另一个协议HTTPS

HTTP访问的账号密码都是明文传输, 这样客户端发出的请求很容易被不法分子截取利用,因此,HTTP协议不适合传输一些敏感信息,比如:各种账号、密码等信息,使用http协议传输隐私信息非常不安全

为了解决HTTP存在的问题,就用到了HTTPS

HTTPS 协议:HyperText Transfer Protocol over Secure Socket Layer,HTTP+SSL/TLS,通过 SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密。

SSL是什么?

SSL(Secure Socket Layer,安全套接字层):SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。

7、总结HTTPS和HTTP的区别

安全性:HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。

证书:使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。

响应速度:HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。

连接端口:HTTP 和 HTTPS  使用的是完全不同的连接方式,用的端口也不一样,HTTP 是 80,HTTPS 是 443。

服务器资源:HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源

相关文章

  • HTTP接口相关知识

    日常工作中我接触到最多的是HTTP接口,这篇文章专门讲下HTTP接口的相关知识 1、什么是HTTP接口 HTTP ...

  • Thor HTTP 抓包嗅探分析&接口调试&网络协议

    Thor HTTP 抓包嗅探分析&接口调试&网络协议 Thor 是 HTTP 抓包调试工具,需要网络相关背景知识,...

  • HTTP相关知识

    1.OSI 七层模型指什么? 七层模型,亦称OSI(Open System Interconnection)参考模...

  • HTTP相关知识

    最近由于看http的请求报文,在报文的请求行里面,有协议版本一说,所以就大致了解了一下http的协议版本,下面就记...

  • http相关知识

    读书的时候学习的基础知识很多时候都记得不太清了,昨天刚好翻到相关的帖子,重新温故了一下http相关知识,大概的总结...

  • http相关知识

    1.get请求和post请求有什么区别? 表单通过一组可以填写内容,或者修改状态的控件使用户可以输入数据。也就是我...

  • HTTP相关知识

    Cookie 调用Cookie时,由于可校验Cookie的有效期,以及发送方的域,路径,协议等信息,所以正规发布的...

  • http相关知识

    http相关知识 1.1绝对路径-相对路径 相对地址的定义: 被链接文件相对于当前页面的地址。 只包含本地路径的网...

  • HTTP相关知识

    Hypertext transfer protocol(简称:HTTP)超文本传输协议。HTTP是WWW(worl...

  • HTTP相关知识

    导读 移动开发知识体系总章(Java基础、Android、Flutter) 什么是HTTP协议? HTTP请求所经...

网友评论

      本文标题:HTTP接口相关知识

      本文链接:https://www.haomeiwen.com/subject/cbzdjltx.html