Http简介

目录

1. Http协议

    1. 什么是http协议

    2. 版本号

    3. http协议包括几部分

    4. 请求协议组成

    5. 响应协议组成

2. web应用中常见状态码(Http协议状态码)

3. get请求和post请求的区别

    1. 什么情况下为get请求, 什么时候为post

    2. get和post的区别

    3. get和post分别何时使用

4. 浏览器缓存


1. Http协议

    1. 什么是http协议

        超文本传输协议, 是浏览器和服务器之间的一种通信协议
        是由W3C制定, 本质上就是对数据传输协议提前制定, 浏览器和服务器必须按照这种格式进行接收和发送

    2. 版本号

    3. http协议包括几部分

        请求协议: 从B浏览器到S服务器的数据传输格式
        响应协议: 从S服务器到B浏览器的数据传输格式

    4. 请求协议组成

        请求行: 三部分, 请求方式 URI 协议版本号
        消息报头    
        空白行: 目的是为了分隔上下两个部分
        请求体

    5. 响应协议组成

        状态行: 三部分, 协议版本号, 状态码, 状态描述信息
        响应报头
        空白行: 目的是为了分隔上下两个部分
        响应体

2. web应用中常见状态码(Http协议状态码)

    404: Not Found[资源未找到]
    500: Servlet Inner Error[服务器内部错误, java程序出现异常]
    200: 正常响应的状态码
    302: 重定向

3. get请求和post请求的区别

    1. 什么情况下为get请求, 什么时候为post

        当使用form表单的时候, 表单的Method属性为"post"时为post请求, 提交文件资源(非文本)时
        其他情况都为get

    2. get和post的区别

        get请求的queryString是在请求行上提交数据 URI?name=value... 有长度限制(因为在请求行)
        post请求在请求体中提交, 没有长度限制
    
        get请求只能提交字符串数据
        post请求可以提交任何数据, 包括文件, 图片, 视频等, 所以文件上传必须使用post提交

        get请求最终的结果会被缓存收纳
        post请求不使用缓存机制
        缓存的目的是为了提高用户体验, 从缓存中提取数据, 减少服务器的压力
        post一般是为了修改服务器的资源, 修改的结果是多种多样的, 所以一般不需要缓存

    3. get和post分别何时使用

        有敏感数据时候, 必须使用post
        传送数据不是字符串的时候, 必须使用post
        传送数据非常多, 使用post
        如果请求是为了修改服务器资源, 使用post

        get请求多数情况下是从服务器中读取资源, 这个读取的资源在短时间之内是不会发生变化的, 所以get请求的结果最终被浏览器缓存起来了
        post请求是为了修改服务器资源, 而每一次修改结果都是不同的, 最终结果没必要缓存

        所以get和post请求需要区分开, 否则影响效率(缓存方面)

4. 浏览器缓存

    浏览器将资源缓存之后, 缓存的资源是和某个特定的路径绑定在一起的, 只要浏览器在发送这个相同的请求路径, 这个时候就会在缓存中获得资源
    不再访问浏览器, 以这种方式降低服务器压力, 提高用户体验, 但是有时候我们不需要缓存, 希望每一次都访问服务器, 可以在请求路径加上时间戳
    例如: http://ip:port/oa/system/logout?timestamp=1323
    JS怎么获取毫秒数?new Date().getTime();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值