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="">用来指定响应头。

    愿有志之人,成就非凡之事。
  • 相关阅读:
    正经学C#_循环[do while,while,for]:[c#入门经典]
    Vs 控件错位 右侧资源管理器文件夹点击也不管用,显示异常
    asp.net core 获取当前请求的url
    在实体对象中访问导航属性里的属性值出现异常“There is already an open DataReader associated with this Command which must be
    用orchard core和asp.net core 3.0 快速搭建博客,解决iis 部署https无法登录后台问题
    System.Data.Entity.Core.EntityCommandExecution The data reader is incompatible with the specified
    初探Java设计模式3:行为型模式(策略,观察者等)
    MySQL教程77-CROSS JOIN 交叉连接
    MySQL教程76-HAVING 过滤分组
    MySQL教程75-使用GROUP BY分组查询
  • 原文地址:https://www.cnblogs.com/damon-song/p/12637106.html
Copyright © 2011-2022 走看看