Http(一)

作者: StevenHD | 来源:发表于2020-12-23 20:03 被阅读0次

    一、http介绍

    • 无状态协议——不管请求多少次,都是一样的应答(不会记录上一次的行为or记录)
    • https——

    • URL: Uniform Resrouce Locator 统一资源定位器
    • URI: Uniform Resuorce Identfier 统一资源标识符
    • MIME: Multipurpose Internet Mail Extensions 多用途互联网邮件扩展类型

    二、http请求头

    • http1.1可以使得——【连接可以复用】

    减少了TCP3次握手的开销

    • 第一行是请求行
    • 请求行结束标志——\r\n
    • 头域是第2行,第3行,第4行,第5行,第6行,第7行(Connection部分也是头域)..
    • Cookie部分
    • 空行\r\n(表示请求头结束)
    • 一整个部分都是请求头

    先是三次握手,然后客户端发送GET报文,服务器发送应答报文

    2.1 请求方法

    • GET,HEAD

    HEAD类似于GET,只不过HEAD只是探测是否有资源,GET是获取资源

    • 请求行结束之后,是具体的头域信息

    域名

    • Accept指定了接收html, png, mp3这些
    • Cookie在头域中有
    • 长连接也不能改变HTTP这种无状态的性质

    让我们来看一个请求头——


    发送的时候就是整个请求头发出去(不要忘记最末尾有一个换行)

    三、服务器如何响应请求

    • 状态行
    • 消息报头
    • 空行
    • 响应报文

    空行的意思是响应头已经结束了,下面的是响应正文
    Content-Length包含122个字节,空行之前是响应头

    3.1 状态码

    • 1——继续
    • 2——成功
    • 3——重定向,304意味着Not Modified也就是未更改,服务器认为客户端请求的这个页面没有更改,服务器也不用更新这个页面了(请求的页面没有更新)
    • 4——客户端的请求出错
    • 5——服务器处理请求出错

    3.2 响应头域

    • Content-Length——表示内容长度
    • Content-Type——属于什么MIME格式(html, png, mp3)等等
    • Set-Cookie——设置和页面关联的【Cookie】

    保存客户端的信息,eg. 登录淘宝登录一次后,后面浏览,点击商品就不用再登录了,那么如何知道登录成功呢?
    响应报文中的头域会Set-Cookie,服务器将Cookie发给客户端,客户端就记录我已经登录了,Cookie中有记录的凭证(保存在浏览器的缓存中)
    浏览同一个网站的不同页面的时候,每次都要把cookie发给服务器,告诉服务器我已经登录了(通过【Cookie】告诉服务器)

    • E-Tag——标识每一个文件,校验一个文件
    • Cache-Control——缓存控制(服务器上的缓存控制

    响应报文的每一行后面都有一个/r/n

    • Keep-ALive中有个timeout

    空行表示响应头结束了,以下是文件内容部分

    相关文章

      网友评论

          本文标题:Http(一)

          本文链接:https://www.haomeiwen.com/subject/lkuunktx.html