HTTP协议相关知识

1 HTTP协议的解读

1.1 HTTP和HTTPS区别

HTTP协议:超文本传输协议是互联网上应用最为广泛的一种网络协议。所有的HTML文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法

HTTPS协议:HTTP协议的安全版,在HTTP下加入SSL层

        ssl(Secure Sockets Layer 安全套接层)主要用于web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全

1.2 HTTP请求过程

client:更为具体代表浏览器、程序等,通过某个程序发送请求就是客户端 

url:统一资源定位符,是用于完整地描述Internet上网页和其他资源地址的一种标识方法

  1. 当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求。HTTP请求主要分为”Get“和”Post“两种方法
  2. 当在浏览器输入URL http://www.baidu.com时,浏览器发送一个Request请求去获取http://www.baidu.com的html文件,服务器把Response文件对象发送回给浏览器
  3. 浏览器分析Response中的HTML,发送其中引用了很多其他文件,比如Images文件,CSS文件、Js文件,浏览器会自动再次发生Request去获取图片,CSS文件或JS文件
  4. 当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来

 

 1.3 HTTP请求信息

    在浏览器中输入URL地址,访问某个网站,发送一个HTTP请求到服务器的请求消息,包括以下格式:

请求行  请求头部  空行  请求数据

访问网址不是只有一次请求 ,如下图:不单单只请求了www.baidu.com

ip地址存在端口,https默认端口443

1.4 HTTP响应信息

服务器接收到请求后,返回的HTTP响应由四个部分组成,分别:

状态行 消息报头 空行 响应正文

状态行:表示返回数据状态是什么情况

HTTP/1.1 200 OK
Connection: keep-alive
Content-Encoding:gzip
Content-Type: text/html; charset=utf-8  (返回类型格式如果返回是json格式,则为:application/json)
Date: Thu, 25 Jul 2024 09:00:44 GMT
Isprivate:1
Server:BWS/1.1
Traceid:1721898044288966759412702887217014994671
Transfer-Encoding:chunked
X-Ua-Compatible:IE=Edge,chrome=1
X-Xss-Protection:1;mode=block

1.4 HTTP响应状态码

常见响应状态码

 #1xx:信息

100 continue
服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求

#2xx:成功

200 0K
请求成功(其后是对GET和POST请求的应答文档)
201 Created
请求被创建完成,同时新的资源被创建。

# 3xx:重定向

300 Multiple choices

多重选择。链接列表。用户可以选择某链接到达目的地。最多允许五个地址。

#4xx:客户端错误

404:页面找不到

#5xx:服务器错误

500 Internal Server Error
请求未完成。服务器遇到不可预知的情况。
502 Bad Gateway
请求未完成。服务器从上游服务器收到一个无效的响应。
503 Service unavailable
请求未完成。服务器临时过载或当机。
504 Gateway Timeout
网关超时。
505 HTTP Version Not supported
服务器不支持请求中指明的HTTP协议版本

 

1.5 HTTP请求方法

根据HTTP标准,HTTP请求可以使用多种请求方法。

序号方法描述
1GET用于获取资源(没有请求体),,如浏览器查询
2POST向指定资源提交数据进行处理请求-更新资源(如提交表单或上传文件)数据被包含在请求体中,POST请求可能会导致新的资源的建立或者已有资源的修改,如登录注册
3PATCH用于更新服务器的数据(局部更新)
4DELETE用于服务器删除指定的数据
5PUT用于更新服务器的数据(数据整体更新)

HTTP请求常用的 Get和 Post 两种方法
GET是从服务器上获取数据,POST是向服务器传送数据

GET和POST区别:

        GET请求参数显示,都显示在浏览器网址URL上,HTTP服务器根据该请求所包含URL中的响应内容,即“Get"请求的参数是URL的一部分。例如: http://www.baidu.com/s?wd=Chinese&tt=9999(带问号:query string查询字符串)

        POST请求参数在请求体当中,息长度没有限制而且以隐式的方式进行发送,通常用来向HTTP服务器提交量比较大的数据(比如请求中包含许多参数或者文件上传操作等),请求的参数类型包含在“Content-Type”消息头里,指明该消息体的媒体类型和编码(放到body请求体中,也可以放到query string)

        Get请求不安全,POST请求也是不安全post相对安全,因为其放到body当中肉眼看不到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值