1495 孤岛营救问题

力扣算法篇:压缩字符串

  返回  

彻底搞懂HTTP

2021/8/21 11:41:30 浏览:

什么是协议?

协议是一种语言,也是一种约定好的规则。 那么使用HTTP协议,机器就能像人一样,使用双方都理解的语言(协议)进行交流(通信)。

HTTP协议是专门用于客户端(浏览器)和服务端进行通信而设计。

请求报文 和 响应报文

当我们输入网站路径在打开一个页面时,浏览器在内部就会将 网站路径 按照 HTTP协议 转化为 请求报文 发送给服务器;当服务器处理之后发送内容给客户端时,要把内容 按照 HTTP协议 转化为 相应报文,浏览器解析响应报文 呈现页面内容。

因此 问题的关键就在于理解 HTTP协议是如何 转化为 请求报文 和 响应报文的。

下面在浏览器输入URL:https://news.baidu.com/guonei?name=11,打开调试工具,分别查看:Request HeadersResponse Headers,分别点击View Source 查看原始报文。

Request Headers(请求报文)

GET /guonei?name=11 HTTP/1.1
Host: news.baidu.com
Connection: keep-alive
......

GET /guonei?name=11 HTTP/1.1:请求首行

  • GET:请求方法,常见的有 GET POST PUT DELETE
  • /guonei?name=11:请求路径和参数,在域名后边,所有的请求路径以/开头;所有的参数以?开头
  • HTTP/1.1:使用的语言 和 版本号

在请求首行下面的都是请求首部字段,下面的字段根据HTTP协议的定义代表固定的含义:
比如,Host:表示访问的域名;Connection:表示进行长连接…

当有请求体时,请求体数据会和上边的请求首部字段 隔行放置。请求体的的格式也有好几种常用的有:JSON格式、form-urlencoded格式、formData。

GET /guonei?name=11 HTTP/1.1
Host: news.baidu.com
Connection: keep-alive

{"username": "	胡三疯", "gender": "男"}  // SON格式
username=胡三疯&gender=男    // orm-urlencoded格式

Request Headers(相应报文)

响应报文其实格式上和请求报文是一致的,无非就是 报文字段可能不同而已

HTTP/1.1 200 OK          // 使用的语言 和 版本号  响应码 相应描述
Connection: keep-alive
Content-Encoding: gzip

参考资料

  • 搞定http协议
  • HTTP教程
  • 代码

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号