HTTP 协议

      最后更新:2022-07-21 16:35:09 手机定位技术交流文章

      HTTP是一个通过网络传输HTML的协议,用于浏览器和服务器之间的通信。

      HTTP 请求包含 request 和 response 两个部分,分别为浏览器请求服务器的请求报文与服务器响应请求的响应报文。

      请求报文例如:

      第一行表示使用GET请求方式获取路径为/的资源,并使用HTTP/1.1协议,从第二行,每行是Header: Value以形式表示的HTTP头部,

      常见的HTTP头条包括:

      • Host: 表示请求的主机名,因为一个服务器上可能运行着多个网站,因此,Host 表示浏览器正在请求的域名;
      • 用户代理:识别客户端本身,例如Chrome浏览器的标识符相似Mozilla/5.0 ... Chrome/79IE浏览器的识别类似Mozilla/5.0 (Windows NT ...) like Gecko
      • 接受:指示浏览器可以接受的资源类型,例如text/*image/*或者*/*表示所有;
      • 接受语言:表示浏览器的优先语言,根据此,服务器可以返回不同语言的页面;
      • Accept-Encoding:指示浏览器可以支持的压缩类型,例如。gzip, deflate, br

      每个行 HTTP 标题rn如果有两个连续的rn,那么后面就是 HTTP Body。HTTP Body 通常出现在 POST 请求。

      POST请求例如:

      响应报文如下:

      服务器响应的第一个行为是版本号+空间+数字+空间+文本,其中2xx表示成功,3xx表示重定向,4xx显示由客户端引起的错误,5xx显示由服务器端触发的错误。

      常见的响应代码有:

      • 好的:表示成功;
      • 301 Moved Permanently:表示该 URL 已经永久重定向;
      • 302 找到:表示 URL 需要 临时 转址;
      • 304 Not Modified:表示该资源没有修改,客户端可以使用本地缓存的版本;
      • 400 Bad Request:表示客户端发送了一个错误的请求,例如参数无效;
      • 401 未经 授权 : 表示 客户 不能 访问 URL, 因为 其 身份 没有 被 核查 ;
      • 403禁止:表示服务器因权限问题拒绝了客户端的请求;
      • 404 Not Found:表示客户要求不存在的资源;
      • 500 Internal Server Error:表示服务器处理时内部出错,例如因为无法连接数据库;
      • 503 Service Unavailable:表示服务器此刻暂时无法处理请求。

      从第二行开始,服务器的每一行都返回一个HTTP头条。 服务器经常返回的HTTP头条包括:

      • Content-Type:表示该响应内容的类型,例如text/htmlimage/jpeg
      • Content-Length:表示该响应内容的长度(字节数);
      • Content-Encoding:表示该响应压缩算法,例如gzip
      • 缓存控制: 指示客户端如何缓存, 例如.max-age=300最多可缓存300秒。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/30255.html

          热门文章

          文章分类