http - 超文本传输协议(主要概念介绍)

http - 超文本传输协议

概念:

​ 是一个协议,类似于合同 - 规定双方进行交互的一些规则、要求

请求报文

**请求行:**GET /day22-http/demo.php HTTP/1.1

请求行中包含请求方式,url,协议的版本

请求头 - 键值对

Host: localhost ---- 主机名

Connection: keep-alive

Upgrade-Insecure-Requests: 1

User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36 ---- 浏览器信息

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8 ---- 希望接收到的数据类型

Referer: http://localhost/day22-http/3-%e8%af%b7%e6%b1%82%e6%8a%a5%e6%96%87.html — 从哪里请求的

Accept-Encoding: gzip, deflate, br

Accept-Language: zh-CN,zh;q=0.9

请求空行 — 换行

请求主体 — 请求带过来的数据

完整的请求报文,http协议规定:请求必须有请求报文,必须包含,请求方式,请求url,请求的协议的版本,请求的主机名,希望接收的数据类型。。。。

规定了怎么请求,请求报文,请求行,请求头,请求空行,请求主体

响应报文

响应报文:服务器对客户端做响应的说明文档

包含:响应行、响应头、响应主体

响应 - response

响应行:HTTP/1.1 200 OK

协议版本、响应状态码、响应状态

http协议中,有一些数字代表请求响应的状态,

/*

101~199 代表正在请求 - 请求没有完成

200~299 代表请求成功

300~399 代表重定向

400~499 代表客户端错误 – 404 403

500~599 代表服务器错误

*/

键值对:响应头

Date: Tue, 17 Mar 2020 02:51:48 GMT 服务器的时间

Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45

X-Powered-By: PHP/5.4.45

Content-Length: 3

Keep-Alive: timeout=5, max=100

Connection: Keep-Alive

Content-Type: text/html

response代表响应主体:给客户端响应的信息

http规定服务器对客户端怎么做响应,响应什么信息

常见的请求方式

get请求一般用于查询

post请求方式一般用于新增

put 和post差不多也是携带数据 - 更新、修改

delete 请求一般用于删除

GET与POST的区别 (常见的面试题)

**首先:**GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同,当然GET与POST都有自己的语义,不能随便混用

  1. 对参数的数据类型,GET只接受ASCII字符,而POST没有限制,允许二进制。

  2. GET在浏览器回退/刷新时是无害的,而POST会再次提交请求。

  3. GET以url编码,而POST支持多种编码方式。(所以GET在传输的大小上会有限制,而POST理论上不会有限制)#HTTP并没规定大小,只是因为服务器与浏览器的原因做了限制,所以POST也有设置,只不过非常大。

  4. POST比 GET 更安全,因为GET参数直接暴露在URL上,POST参数在HTTP消息主体中,而且不会被保存在浏览器历史或 web 服务器日志中。 (相对而言,反正我感觉前端啥都不安全)

  5. GET产生一个TCP数据包;POST产生两个TCP数据包。

    #这个之间的传输时间差别基本可以忽略,但两次传输在网络环境差的情况下,验证数据包的完整性却更好,并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次

https://mp.weixin.qq.com/s?src=11&timestamp=1584858683&ver=2231&signature=SWFAblIvkODZGnRNYW-Bya0V23zd0Mt5CLafky91eWgPVEH2-dl62AN4N0kOc2OYwunDFbE7BD6Z*JKFHnGFdrUWedtkJKwetbGqN7c1Jxix36fNovers-7LeHlX4HBv&new=1

(这里面有详细的讲解)


小故事,emmm,先欠着。来一句暖男语录吧:

​ 越长大,越知道,做事不容易,越知道,每个人都有难处,也就越不再随随便便发表评论,或者瞧不起谁。这不是虚伪,而是懂得体谅,温柔地和这个世界相处。(我想做渣男,可惜我没有女朋友,虽然我有很多对象new)。


玩飞轮海去了,无情

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是一种用于传输超文本和其他资源的协议,通常用于在客户端和服务器之间进行通信。它是Web应用程序中最常用的协议之一。HTTP通过URL(统一资源定位符)来定位资源,并使用请求-响应模型来与服务器交互。客户端发送HTTP请求,服务器接收请求并返回相应的HTTP响应。 SQL语句是结构化查询语言(Structured Query Language)的缩写,是一种用于在关系数据库管理系统中操作数据的标准语言。它用于创建、修改和查询数据库中的表、记录和关系。SQL语句可以执行各种操作,例如插入新的数据记录、更新已有的数据记录、删除数据记录以及查询数据记录。 超文本协议和SQL语句在Web开发中起着重要作用。超文本协议是Web应用程序中通信的基础,通过HTTP协议,浏览器可以请求并获取服务器上的网页、图像、视频或其他资源。SQL语句则用于操作和管理数据库,通过执行SQL语句,我们可以创建新的数据库表,插入和修改数据,以及从已有的数据中查询所需的信息。 在实际应用中,我们可以通过HTTP协议向服务器发送包含SQL语句的请求,以操作和查询数据库中的数据。例如,我们可以使用HTTP的POST请求向服务器发送包含INSERT语句的数据,将新的记录插入到数据库中。类似地,我们可以使用GET请求发送包含SELECT语句的请求,从数据库中获取所需的数据。 总而言之,超文本协议和SQL语句是在Web开发中经常使用的两个重要概念。超文本协议使得浏览器能够与服务器进行通信,并获取所需的资源,而SQL语句则使得我们能够通过操作和查询数据库来管理和获取数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值