• HTTP协议理解


    超文本传输协议HTTP规定了浏览器与服务器之间的请求和响应的格式与规则,它是万维网上能够可靠地交换文件的重要基础。

    HTTP的操作过程
    浏览器分析指向页面的URL
    浏览器向DNS系统请求解析域名所对应的服务器IP地址
    DNS系统解析出服务器的IP,并返回给主机
    浏览器与该服务器的进程建立TCP链接(三次握手,端口默认为80)
    浏览器发出HTTP请求:如GET /article/index.html
    服务器收到请求并作出相应处理,把文件index.html发送给浏览器
    释放TCP链接(四次握手)
    浏览器解析index.html文件,将web页显示出来。
    HTTP协议的特点
    HTTP协议是无状态的,即多次访问一个服务器上的页面,服务器并不知道你曾经访问过,每次访问的响应都当做第一次访问一样。所以,在实际应用中,通常使用CooKie加数据库的方式记录和跟踪用户的活动。
    HTTP有非持久连接和持久连接:

    采用非持久连接时,网页的每个元素对象(如.png,jpeg图等)的传输都需单独建立一个TCP连接(第三次握手可携带请求信息)
    采用持久连接时,仅需建立一次TCP连接,服务器发送响应后仍保持连接,客户和服务器可以继续在这条连接上发送请求和响应报文。
    Cookie以及其作用
    CooKie是由服务器生成,但存储在用户主机上的文本文件,它保存了服务器和客户之间传递的状态信息,作为识别用户的手段。通过Cookie服务器就能从数据库中查询该用户的活动记录,进而可以执行一些个性化操作

    HTTP请求报文中常见的几个方法
    方法 意义
    GET 请求读取由URL所标志的信息
    HEAD 请求读取由URL所标志的信息的首部
    POST 给服务器添加信息
    CONNECT 用于代理服务器
    get和post方法的区别:
    一般我们在浏览器输入一个网址访问网站都是GET请求;在FORM表单中,可以通过设置Method指定提交方式为GET或POST,默认时为GET提交方式。

    get请求一般不会修改服务器的信息,仅用于请求页面;post请求可能会修改服务器中的资源信息,如提交评论、博客等都是通过post请求实现。
    get请求的信息附加在URL后面,这些被显示的暴露在外面。post请求的数据放在包体中,不容易暴露,因此一般用户登录等保密性高的不宜采用get请求,而用post请求。
    如这个test.html文件做请求时

    <!DOCTYPE html>
    <html>
    <head>
    <title>test</title>
    <meta charset="utf-8">
    </head>

    <body>
    <form method = 'get' target="_self">
    <input type="text" name="keyword1" >
    <input type="text" name="keyword2" >
    <input type="hidden" name="hid" value="2">
    <input type="submit" name="search" value="搜 索">
    </form>
    </body>

    </html>
    当点击确定时,请求的URL是这样的:
    file:///E:/test.html?keyword1=111&keyword2=222&hid=2&search=%E6%90%9C+%E7%B4%A2
    其中参数search后面是”搜 索”的转码,因为URL的编码格式采用的是ASCII编码。

    当form的method值改为post时,提交表单时,表单所要传递的值不会显示在URL上。

  • 相关阅读:
    RabbitMQ 消息可靠性
    SpringBoot2.X+SpringAMQP 整合 RabbitMQ
    《红宝书》 |Array数组介绍及用法
    《红宝书》 |单例内置对象 |Global和Math
    js封装 |随机获取指定范围内的整数
    《红宝书》 |原始包装类型
    《红宝书》 |什么是对象
    js封装 |时间对象相关方法
    兼容 |ios移动端的时间对象
    《红宝书》 |基本引用类型-正则表达式RegExp
  • 原文地址:https://www.cnblogs.com/duanlinxiao/p/10443166.html
Copyright © 2020-2023  润新知