首页 > Web开发 > 详细

HTTP

时间:2021-08-30 11:35:30      阅读:8      评论:0      收藏:0      [点我收藏+]

HTTP

Hyper Text Transfer Protocol 超文本传输协议,定义了客户端和服务器通信时发送数据的格式
技术分享图片

特点

  1. 基于TCP/IP的高级协议
  2. 默认端口号:80
  3. 基于请求/响应模型的:一次请求对应一次响应
  4. 灵活:HTTP允许传输任意类型的数据,正在传输的数据类型由Content-Type加以标记。
  5. 无状态的:每次请求之间相互独立,如果后续处理需要前面的信息只能重传

历史版本:

  • 1.0:每一次请求响应都会建立新的连接
  • 1.1:复用连接

请求消息数据格式

GET /login.html HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://localhost:8080/demo1?username=zhangsan
Upgrade-Insecure-Requests: 1
If-Modified-Since: Sat, 24 Jul 2021 09:45:21 GMT
If-None-Match: W/"280-1627119921927"
  1. 请求行(第1行):请求方式 资源路径 http版本
    GET /login.html HTTP/1.1
    http协议有7中请求方式,常用的有2种

    1. GET:
      1. 请求参数在请求行中,在url后。http://www.itcast.cn/javaForum?name=lee&psd=hnxy
      2. 传送的数据量有限,最多2KB。
    2. POST:
      1. 请求参数在请求体中,传递数据的大小没有限制
      2. 更加安全
  2. 请求头:包含客户端的信息

    内容 说明
    Accept 告知服务器,客户浏览器所支持的MIME类型。
    Accept-Encoding 告知服务器,客户浏览器所支持的压缩编码格式。最常用的就是gzip压缩。
    Accept-Language 告知服务器,客户浏览器所支持的语言。一般都是zh_CN或en_US等。
    Referer 告知服务器,当前请求的来源。
    只有当前请求有来源的时候,才有这个消息头。从地址栏输入的没有来源。
    作用:1 统计广告点击次数 2 防盗链
    Content-Type 告知服务器,请求正文的MIME类型。
    Content-Length 告知服务器,请求正文的长度。
    User-Agent 浏览器相关信息
    Connection: Keep-Alive 连接的状态:保持连接
    If-Modified-Since 告知服务器,客户浏览器缓存文件的最后修改时间。
    Cookie(********) 会话管理相关,非常的重要。
  3. 空行:分割请求头和请求体

  4. 请求体(正文):封装POST请求参数的,GET方式没有。

响应消息数据格式

响应消息:服务器发送给客户端的消息

HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 101
Date: Wed, 06 Jun 2018 07:08:42 GMT

<html>
    <head>
        <title>$Title$</title>
    </head>
    <body>
        hello , response
    </body>
</html>
  1. 响应行

    1. 组成:协议/版本 状态码 状态码描述 HTTP/1.1 200 OK

    2. 状态码:

      状态码 说明
      200 一切都OK>
      302/307 请求重定向(客户端行为,两次请求,地址栏发生改变)
      304 请求资源未发生变化,使用缓存
      404 请求资源未找到
      500 服务器错误
  2. 响应头

    1. 格式:头名称: 值

    2. 常见的响应头:

      消息头 说明
      Location 请求重定向的地址,常与302,307配合使用。
      Server 服务器相关信息。
      Content-Type 告知客户浏览器,响应正文的MIME类型。
      Content-Length 告知客户浏览器,响应正文的长度。
      Content-Encoding 告知客户浏览器,响应正文使用的压缩编码格式。常用的gzip压缩。
      Content-Language 告知客户浏览器,响应正文的语言。zh_CN或en_US等等。
      Content-Disposition 告知客户浏览器,以下载的方式打开响应正文。
      Refresh 定时刷新 Refresh:3;url=http://www.itcast.cn
      Last-Modified 服务器资源的最后修改时间。
      Set-Cookie(*******) 会话管理相关,非常的重要
      Expires:-1 服务器资源到客户浏览器后的缓存时间
      Catch-Control: no-catch 不要缓存,//针对http协议1.1版本
      Pragma:no-catch 不要缓存,//针对http协议1.0版本
  3. 空行

  4. 响应体:传输的数据,可以是html文档。

HTTP

原文:https://www.cnblogs.com/yellowchives/p/15202786.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!