http协议

1、什么是http协议

客户端和服务端之间数据传输的格式规范,简称“超文本传输协议”

2、URI、URL和URN

URI包含URL和URN

  • URI:统一资源标识符
  • URL:统一资源定位符
  • URN:统一资源名称

3、http协议由什么组成

1)、请求报文包含三部分

  • 请求行:包含请求方法、URI、HTTP版本信息
  • 请求头
  • 请求体

2)、相应报文包含三部分

  • 状态行:包含HTTP版本、状态码、状态码的原因短语
  • 响应头
  • 响应体

4、http常用的请求方式

  • GET: 用于请求访问已经被URI(统一资源标识符)识别的资源(静态资源),可以通过URL传参给服务器。
  • POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。
  • PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。
  • HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。
  • DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。
  • OPTIONS:查询相应URI支持的HTTP方法。

5、http1.0与http1.1的区别

  • 在http1.0中,当建立连接后,客户端发送一个请求,服务器端返回一个信息后就关闭连接,当浏览器下次请求的时候又要建立连接,显然这种不断建立连接的方式,会造成很多问题。
  • 在http1.1中,引入了持续连接的概念,通过这种连接,浏览器可以建立一个连接之后,发送请求并得到返回信息,然后继续发送请求再次等到返回信息,也就是说客户端可以连续发送多个请求,而不用等待每一个响应的到来。可以通过设置connection:close来关闭长连接

6、get与post的区别

区别一

  • get重点在从服务器上获取资源。
  • post重点在向服务器发送数据。

区别二

  • get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的。
  • post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的。

区别三

  • Get传输的数据量小,因为受URL长度限制,但效率较高。
  • Post可以传输大量数据,所以上传文件时只能用Post方式。

区别四

  • get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等。
  • post较get安全性较高。

区别五

  • get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码。
  • post支持标准字符集,可以正确传递中文字符。

7、https

http的安全隐患

  • 使用明文通信,内容可能被窃听
  • 不验证通信方的身份,通信方身份可能遭到篡改
  • 无法证明报文的完整性,报文可能遭到篡改

HTTPS 并不是新协议,而是让 HTTP 先和 SSL(Secure Sockets Layer)通信,再由 SSL 和 TCP 通信,也就是说 HTTPS 使用了隧道进行通信。通过使用 SSL,HTTPS 具有了加密(防窃听)、认证(防伪装)和完整性保护(防篡改)。

8、常见协议状态

  • 200:请求被正常处理
  • 204:请求被受理但没有资源可以返回
  • 206:客户端只是请求资源的一部分,服务器只对请求的部分资源执行GET方法,相应报文中通过Content-Range指定范围的资源。
  • 301:永久重定向
  • 302:临时重定向
  • 303:和 302 有着相同的功能,但是 303 明确要求客户端应该采用 GET 方法获取资源。 
  • 304:如果请求报文首部包含一些条件,例如:If-Match,If-Modified-Since,If-None-Match,If-Range,If-Unmodified-Since,如果不满足条件,则服务器会返回 304 状态码,使用本地缓存。
  • 307:临时重定向,与 302 的含义类似,但是 307 要求浏览器不会把重定向请求的 POST 方法改成 GET 方法。
  • 400:请求报文中存在语法错误。
  • 401:该状态码表示发送的请求需要有认证信息(BASIC 认证、DIGEST 认证)。如果之前已进行过一次请求,则表示用户认证失败。
  • 403:请求被拒绝。
  • 404:请求资源不存在。
  • 500:服务器正在执行请求时发生错误。
  • 503:服务器暂时处于超负载或正在进行停机维护,现在无法处理请
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值