WEB核心【http协议】第三章

简介: http协议(基础知识)还是挺重要的,基础牢固,才能盖高的楼,一些请求协议和响应协议内容都有详细介绍,拓展,和缓存机制,需要着重学习一下。

1,http协议

1.1,概述

用来进行超文本数据传输的一种规定,规定了数据以为何种方式传递

所有www开头的网站都遵守该协议

该协议是为了使得浏览器和服务器之间 请求-响应传递的 超文本信息更加快捷高效。

HTTP协议的特点

基于请求/响应模型。请求和响应必须成对,先有请求后有响应。

HTTP协议默认的端口:80

以下写法效果相同:

http://www.baidu.com/

http://www.baidu.com:80/

image.gif编辑

HTTPS协议:基于HTTP协议,通过SSL或TLS提供加密处理数据,验证对方身份以及数据完整性保护。可以大体认为HTTPS比HTTP安全性高。SSL证书需要付费。

1.2,请求协议

1.2.1,请求行

HTTP请求协议,是浏览器把信息发送给服务器的方式。

HTTP响应协议,是服务器把信息返回给浏览器的方式。

HTTP请求包括:请求行,请求头,请求体

HTTP响应包括:响应行,响应头,响应体

请求行,用于存放极为少量的信息

image.gif编辑请求行长度不要超过4KB

浏览器(习惯了谷歌浏览器)查看具体信息

image.gif编辑

image.gif编辑image.gif编辑

image.gif编辑

post方式传递表单数据是用请求体

get方法传递表单数据是用请求行

1.2.2,请求头

请求头,用于存放预定义好的key/value少量信息

image.gif编辑

image.gif编辑

image.gif编辑

image.gif编辑

image.gif编辑

image.gif编辑

image.gif编辑

image.gif编辑

服务器到底能发哪些类型:conf/web.xml

 image.gif编辑

image.gif编辑

只有post请求才有

image.gif编辑

请求体的相关属性只有在提交方式为post方式时,才有请求体,才有请求体的对应属性。

image.gif编辑

image.gif编辑

image.gif编辑

什么是浏览器缓存,作用:

浏览器缓存:为了加速浏览器和服务器的信息交互,增强用户的体验,将已访问的服务器资源临时保存在浏览器硬盘上。

image.gif编辑

缓存工作机制:

    1. 看缓存:服务器发现浏览器的资源是最新的,通知浏览器用缓存即可。服务器没有传递资源二进制数据
    2. 用新品:服务器发现浏览器的资源是陈旧的。会将最新资源发给浏览器进行缓存。

    如何发现资源的新旧:看if-modified-since,该请求头会把缓存的年月日、时分秒发给服务器,方便服务器进行对比

    image.gif编辑

    1.2.3,请求体

    image.gif编辑

    image.gif编辑

    get请求没有请求体的。

    扩展:我这边拓展一点,表单上的知识

    表单提交的mime类型:enctype

    <h1>post-URL编码-正规表单数据提交方式</h1>
    <!--    application/x-www-form-urlencoded   表单url编码数据
            特点:1、提交的数据都是   k=v&k2=v2
                  2、中文及特殊符号会进行URL编码,保证数据传递中不会因为乱码而丢失。
                        %16进制位
    -->
    <form method="post" enctype="application/x-www-form-urlencoded">
        用户名:<input type="text" name="uname" value="张三"/>
        密码:<input type="password" name="pwd" value="123456"/>
        附件框:<input type="file" name="fj"/>
        <input type="submit"/>
    </form>
    <h1>post-多部件-用于文件上传</h1>
    <!--适用于文件上传,唯一一种可以将文件二进制数据传递给服务器的表单提交方式    -->
    <form method="post" enctype="multipart/form-data">
        用户名:<input type="text" name="uname" value="张三"/>
        密码:<input type="password" name="pwd" value="123456"/>
        附件框:<input type="file" name="fj"/>
        <input type="submit"/>
    </form>
    <h1>post-纯文本-一般用于不用URL编码,不进行文件上传</h1>
    <!--提交的是原本的数据,可能存在中文乱码丢失问题。传递的数据字节长度是最短的    -->
    <form method="post" enctype="text/plain">
        用户名:<input type="text" name="uname" value="张三"/>
        密码:<input type="password" name="pwd" value="123456"/>
        附件框:<input type="file" name="fj"/>
        <input type="submit"/>
    </form>

    image.gif

    1.3,响应协议

    1.3.1,响应行

    状态码:重要

    1XX:请求已经传递,但响应未完成。

    2XX:请求成功。

    200

    3XX:请求响应完成,但请求并未完全完成。

    302:请求重定向(请求重新定一个其他路径,重新发起一次请求)

    例如:登录成功,跳转到首页

    304:请求资源没改变,查看缓存(看缓存)

    4XX:客户端问题。

    400:客户端请求方式不对

    404:请求路径不对(请求的资源不存在)

    405:请求参数格式不对

    5XX:服务器端问题

    500:服务器内部错误/异常。

    image.gif编辑

    1.3.2,响应头

    image.gif编辑

    缓存方面:(重要)

    image.gif编辑

    缓存机制:为了提升用户体验,加强浏览器和服务器之间的交互效率。

    1.3.3,响应体

    image.gif编辑

    文件下载:响应体

    补充:各位在网站上所看到的所有资源,都是通过响应体下载到浏览器本地,在浏览器本地进行的展示。

           如果文章对您有帮助,就拿起小手赶紧给博主点赞💚评论❤️收藏💙 一下吧!

    相关文章
    |
    2月前
    |
    缓存 负载均衡 网络协议
    HTTP 与 SOCKS5 代理协议:企业级选型指南与工程化实践
    面向企业网络与数据团队的代理协议选型与治理指南,基于流量特征选择HTTP或SOCKS5协议,通过多协议网关统一出站,结合托管网络降低复杂度,实现稳定吞吐、可预测时延与合规落地。
    |
    5月前
    |
    缓存 监控 搜索推荐
    301重定向实现原理全面解析:从HTTP协议到SEO最佳实践
    301重定向是HTTP协议中的永久重定向状态码,用于告知客户端请求的资源已永久移至新URL。它在SEO中具有重要作用,能传递页面权重、更新索引并提升用户体验。本文详解其工作原理、服务器配置方法(如Apache、Nginx)、对搜索引擎的影响及最佳实践,帮助实现网站平稳迁移与优化。
    621 68
    |
    4月前
    HTTP协议中请求方式GET 与 POST 什么区别 ?
    GET和POST的主要区别在于参数传递方式、安全性和应用场景。GET通过URL传递参数,长度受限且安全性较低,适合获取数据;而POST通过请求体传递参数,安全性更高,适合提交数据。
    522 2
    |
    4月前
    |
    应用服务中间件
    HTTP协议中常见的状态码
    HTTP协议状态码分为1xx、2xx、3xx、4xx、5xx五类,常见状态码包括:101(请求已接受)、200(请求成功)、302(重定向)、400(请求错误)、401(未认证)、403(无权限)、404(资源不存在),以及500(服务器错误)、502(网关错误)、503(服务不可用)、504(网关超时)等。
    151 0
    |
    4月前
    |
    网络协议 安全 网络安全
    什么是HTTP协议
    HTTP协议是超文本传输协议,基于TCP,规定了客户端与服务器端通信规则,但数据以明文传输,安全性低。HTTPS则通过SSL加密保障数据安全。两者默认端口不同,HTTP为80,HTTPS为443。HTTPS安全性更高,但消耗更多服务器资源。
    182 0
    |
    4月前
    |
    数据采集 Web App开发 JSON
    Python爬虫基本原理与HTTP协议详解:从入门到实践
    本文介绍了Python爬虫的核心知识,涵盖HTTP协议基础、请求与响应流程、常用库(如requests、BeautifulSoup)、反爬应对策略及实战案例(如爬取豆瓣电影Top250),帮助读者系统掌握数据采集技能。
    292 0
    |
    5月前
    |
    存储 网络协议 安全
    HTTP 协议及会话跟踪机制详解
    本文详解了 HTTP 协议的核心知识,包括其定义(超文本传输协议,基于 TCP,规定客户端与服务器通信规则)及与 HTTPS 的区别(安全性、端口、资源消耗)。 介绍了 GET 与 POST 请求的差异(参数限制、安全性、应用场景),以及 Restful 风格(通过 URL 定位资源,请求方式决定操作)。列举了常见 HTTP 状态码(如 200 成功、404 资源未找到),对比了转发与重定向的区别(服务器端一次请求 vs 客户端两次请求)。 还阐述了会话跟踪机制:Cookie 基于客户端存储,通过Set-Cookie和Cookie头实现,安全性较低;Session 基于服务端存储,依赖 C
    542 1
    |
    4月前
    |
    缓存 网络协议 UED
    深度解析HTTP协议从版本0.9至3.0的演进和特性。
    总的来说,HTTP的演进是互联网技术不断发展和需求日益增长的结果。每一次重要更新都旨在优化性能,增进用户体验,适应新的应用场景,而且保证了向后兼容,让互联网的基础架构得以稳定发展。随着网络技术继续进步,我们可以预期HTTP协议在未来还会继续演化。
    446 0
    |
    6月前
    |
    缓存
    HTTP协议深度剖析:常见请求头信息讲解
    这就是HTTP请求头背后的工作原理,希望通过比作“邮差”和“标签”,可以让你对这个繁琐技术更有感触,更得心应手。尽管这些信息可能很琐碎,但了解了它们的含义和工作方式,就等于揭开了HTTP协议神秘的面纱,掌控了网络交流的核心。你还等什么,赶快动手尝试一下吧!
    205 17

    热门文章

    最新文章