zoukankan      html  css  js  c++  java
  • 前端学习(2)

    一 HTTP

    HTTP(hypertext transport protocol), 超文本传输协议。这个协议规定了浏览器(客户端)和万维网服务器之间的通信规则。

    HTTP规定给了浏览器和万维网服务器互相传输内容的格式。即请求协议、响应协议。

    特点:

      1.HTTP是基于请求/响应模式的;

      2.HTTP是无状态协议;

    注意:

      1. HTTP是没有记忆能力的,如果需要记录信息需要适用Cookie或者Session;

      2. HTTP是应用层协议,是无状态面向连接的协议,但HTTP可以保持连接并且不是UDP协议;

      3. HTTP从1.1版本开启了Keep-Alive用来保持连接,但是有一定时间的;

    二 请求协议

    格式:

      请求首行;包括:方式、路径、协议和版本;

      请求头信息;包括:头名称、头内容;

      空行;就是用来将上面的信息与下面的请求体分隔开;

      请求体;GET方式没有请求体,POST有请求体;

      2.1 GET请求

      HTTP默认的请求方式就是GET方式

      特点:

        a. 没有请求体;

        b. 数据必须在1K之内;

        c.GET请求数据会暴露在浏览器的地址栏中,不安全;

      常用GET请求的操作:

        a. 在浏览器中的输入URL访问服务器,GET方式;

        b.点击页面上的超链接,GET方式;

        c.在适用form表单向服务器传输数据时,表单方法选用GET,则GET方式;

    Request URL: https://www.baidu.com/
    Request Method: GET
    Status Code: 200 OK
    Remote Address: 39.156.66.14:443
    Referrer Policy: no-referrer-when-downgrade

      

    GET / HTTP/1.1
    Host: www.baidu.com
    Connection: keep-alive
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
    Accept-Encoding: gzip, deflate, br
    Accept-Language: zh-CN,zh;q=0.9
    Cookie: BAIDUID=C677D5BFFEE347092A84FB4B9E7BFFB0:FG=1; BIDUPSID=C677D5BFFEE347092A84FB4B9E7BFFB0; PSTM=1544768079; BDUSS=3M2R3VvWkRpY0RVbTVMWVFqNWZBT3RYMktDdGk3YUFCV1laYzYzOWNFfmlYalJkRVFBQUFBJCQAAAAAAAAAAAEAAAAvfAkq0MK1xMbwteNiYWJ5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLRDF3i0Qxdb; BD_UPN=12314753; BD_HOME=1; BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; delPer=0; BD_CK_SAM=1; PSINO=1; COOKIE_SESSION=475505_0_9_9_84_79_0_5_9_5_0_10_475521_0_14_0_1585355162_0_1585355148%7C9%23955168_11_1568635343%7C5; BDRCVFR[LqJxTNeWn7_]=mk3SLVN4HKm; H_PS_PSSID=; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; H_PS_645EC=bec2cY%2F%2BQ2LfQ0z4yrHe0ae37sRaat5g3h6T%2FNMIkkqobTzIWo5mG%2BwBv3509KR6J%2BjF47qU

      2.2 POST请求

      特点:

        a.数据不会出现在地址栏中;

        b.数据大小没有上限;

        c.有请求体;

        d.请求体重如果存在中文, 会使用URL编码;例如:username=%E5%BBC%A0%E4%88%89&password=456

      请求体:

        1. Referer:http://www.badiu.com; 意思就是你从百度的网址跳转过来的;可以用来防盗,统计等;

        2. Content-type:application/x-www-form-urlencoded:表单的数据类型,使用url格式编码数据,是让服务器依照这个编码格式进行变吗的,数据以“%”为前缀,后面跟着两个十六进制数;

        3. Content-Length:13, 请求体的长度13个字节;

        4.keyword=damon: 请求体的内容, damon是表单中输入的数据,keyword是表单字段的名字;

    三 响应协议

      格式:

        1. 响应首行;

        2. 响应头信息;

        3. 空行; 

        4. 响应体;

      响应体内容是服务器发送给浏览器的内容,浏览器会根据内容进行渲染和显示。其中如果遇到<imp>标签,会再启动一个线程用来加载图片,所以经常会出现页面显示了但是图片还没有加载。

    HTTP/1.1 200 OK  版本号:HTTP/1.1, 状态码:200 请求成功
    Bdpagetype: 2  
    Bdqid: 0x96246a0f000f4322
    Cache-Control: private
    Connection: keep-alive
    Content-Encoding: gzip
    Content-Type: text/html;charset=utf-8 响应使用的编码UTF-8
    Date: Sat, 28 Mar 2020 03:21:11 GMT 响应的时间
    Expires: Sat, 28 Mar 2020 03:21:10 GMT
    Server: BWS/1.1 服务器的版本信息
    Set-Cookie: BDSVRTM=393; path=/ 响应客户端的Cookie
    Set-Cookie: BD_HOME=1; path=/ 响应客户端的Cookie
    Set-Cookie: H_PS_PSSID=1451_31120_21089_30825_30910_30824_31085; path=/; domain=.baidu.com 响应客户端的Cookie
    Strict-Transport-Security: max-age=172800
    Traceid: 1585365671275440513010818888817508827938
    X-Ua-Compatible: IE=Edge,chrome=1
    Transfer-Encoding: chunked

      以上内容通过网页,点击F12->Network->点击Name是百度网址->点击Headers,查看到的请求协议和响应协议内容。

      状态码:

        1. 200: 请求成功;

        2. 404: 请求的资源不存在;

        3. 500: 请求的资源存在,但服务器出现错误;

        4. 302: 服务器要求浏览器从新发个请求,服务器会发送一个location的响应头,用来指定新请求的URL地址;

        5. 304: 用来缓存的时候使用;

      HTML中指定响应头:

        <meta http:equiv="" content="">用来指定响应头。

    愿有志之人,成就非凡之事。
  • 相关阅读:
    Python函数式编程:内置函数map()使用说明
    Python 内置函数 range的使用
    Python的局部变量和全局变量
    Python 数据处理扩展包: pandas 模块的DataFrame介绍(读写数据库的操作)
    Python 数据处理扩展包: pandas 模块的DataFrame介绍(创建和基本操作)
    python模块 mysql-python安装(在ubuntu系统下)
    Python 数据处理扩展包: numpy 和 pandas 模块介绍
    HTML 5 Web Storage 使用
    CRM的组织架构
    WEB UI做TREE
  • 原文地址:https://www.cnblogs.com/damon-song/p/12637106.html
Copyright © 2011-2022 走看看