HTTP

HTTP是客户端和服务器端之间数据传输的格式规范,表示“超文本传输协议”。

HTTP中有哪些请求方式

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

HTTP的请求报文和响应报文

请求报文包含3部分。
(1)请求行,包含请求方法、URI. HTTP版本信息,
(2)请求首部字段。
(3)请求内容实体。
响应报文包含3部分。
(1)状态行,包含HTTP版本、状态码、状态码的原因短语。
(2)响应首部字段。
(3)响应内容实体。

HTTP的首部字段包括哪些类型?
(1)通用首部字段(请求报文与响应报文都会使用的首部字段)。它包括以下几部分。

  • Date:创建报文的时间。
  • Connection:连接的管理。
  • Cache-Control: 缓存的控制。
  • Transfer-Encoding:报文主体的传输编码方式。

(2)请求首部字段(请求报文会使用的首部字段)。它包括以下几部分。

  • Host:请求资源所在服务器。
  • Accept:可处理的媒体类型。
  • Accept-Charset: 可接受的字符集。
  • Acept-Encoding 可接受的内容编码。
  • Accepl-Language:可接受的自然语言。

(3)响应首部字段(响应报文会使用的首部字段)。它包括以下几部分。

  • Accept-Ranges:可接受的字节范围。
  • Location:令客户端重新定向到的URI。
  • Server:HTTP服务器的安装信息。

(4)实体首部字段(请求报文与响应报文的实体部分使用的首部字段)。它包括以下几部分。

  • Allow:资源可支持的HTTP方法。
  • Content-Type:实体主体的类型。
  • Content-Encoding:实体主体使用的编码方式。
  • Content-Language:实体主体的自然语言。
  • Content-Length:实体主体的字节数。
  • Content-Range:实体主体的位置范围,一般用于发出部分请求时使用。

关于HTTP/2你知道多少?

HTTP/2引入了“服务器端推送”(serverpush) 的概念,它允许服务器端在客户端需要数据之前主动将数据发送到客户端缓存中,从而提高性能。

HTTP/2提供更多的加密支持。

HTTP/2使用多路技术,允许多个消息在一个连接上同时交差。

它增加了头压缩(header compression), 因此请求非常小,请求和响应的header 都只会占用很小的带宽比例。

HTTP常见状态码
(1) 100 Continue 表示继续,一般在发送post请求时,已发送了HTTP header之后,服务器端将返回此信息,表示确认,之后发送具体参数信息。
(2) 200OK表示正常返回信息。
(3) 201 Created表示请求成功并且服务器创建了新的资源。
(4) 202 Accepted表示服务器已接受请求,但尚未处理。
(5) 301 Moved Permanently表示请求的网页已永久移动到新位置。
(6) 302 Found表示临时性重定向。
(7) 303 See Other表示临时性重定向,且总是使用GET请求新的URI。
(8) 304 Not Modified表示自从上次请求后,请求的网页未修改过。
(9) 400 Bad Request表示服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。
(10) 401 Unauthorized表示请求未授权。
(11) 403 Forbidden表示禁止访问。
(12) 404 Not Found表示找不到如何与URI相匹配的资源。
(13) 500 Internal Server Error表示最常见的服务器端错误。
(14) 503 Service Unavailable表示服务器端暂时无法处理请求(可能是过载或维护)。

完整的HTTP事物流程

基本流程如下。

(1)城名解析。

(2)发起TCP的3次握手。

(3)建立TCP连接后发起HTTP请求。

(4)服务器端响应HTTP请求,浏览器得到HTML代码。

(5)浏览器解析HTML代码,并请求HTML代码中的资源。

(6)浏览器对页面进行渲染并呈现给用户。

HTTP与HTTPS的联系

HTTP通常承载于TCP之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS。HTTP默认的端口号为80,HTTPS默认的端口号为443

为什么HTTPS更安全?

在网络请求中,需要有很多服务器、路由器的转发。其中的节点都可能篡改信息,而如果使HTTPS,密钥在终点站才有,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值