WEB核心【http协议】第三章

举报
爱吃豆的土豆 发表于 2022/09/25 05:11:29 2022/09/25
【摘要】 目录   1,http协议 1.1,概述 1.2,请求协议 1.2.1,请求行 1.2.2,请求头 1.2.3,请求体 1.3,响应协议 1.3.1,响应行 1.3.2,响应头 1.3.3,响应体 1,http协议 1.1,概述 用来进行超文本数据传输的一种规定,规定了数据以为何种方式传递...

目录

 

1,http协议

1.1,概述

1.2,请求协议

1.2.1,请求行

1.2.2,请求头

1.2.3,请求体

1.3,响应协议

1.3.1,响应行

1.3.2,响应头

1.3.3,响应体


1,http协议

1.1,概述

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

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

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

HTTP协议的特点

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

HTTP协议默认的端口:80

以下写法效果相同:

http://www.baidu.com/

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

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

1.2,请求协议

1.2.1,请求行

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

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

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

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

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

请求行长度不要超过4KB

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

 

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

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

1.2.2,请求头

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

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

 

只有post请求才有

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

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

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

缓存工作机制:

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

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

1.2.3,请求体

get请求没有请求体的。 

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

表单提交的mime类型:enctype


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

1.3,响应协议

1.3.1,响应行

状态码:重要

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

2XX:请求成功。

200

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

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

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

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

4XX:客户端问题。

400:客户端请求方式不对

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

405:请求参数格式不对

5XX:服务器端问题

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

1.3.2,响应头

缓存方面:(重要) 

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

1.3.3,响应体

文件下载:响应体

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

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

https://blog.csdn.net/m0_64550837/category_11819925.html?spm=1001.2014.3001.5482https://blog.csdn.net/m0_64550837/category_11819925.html?spm=1001.2014.3001.5482

文章来源: qianxu.blog.csdn.net,作者:爱吃豆的土豆,版权归原作者所有,如需转载,请联系作者。

原文链接:qianxu.blog.csdn.net/article/details/124851206

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。