http和https

  http是一种约束发布和接收html页面的协议。

  http端口号:80

  https端口号:443

  http协议属性:(1)应用层协议

           (2)无连接:http1.0以前每次发送http均是单独连接,http1.1以后发送http会设置一个请求头Connection保持与服务器的长连接

         (3)无状态:http发送不记录状态,每次请求与前面相关的内容需要单独发送,为解决此问题产生了cookie和session技术

  url:统一资源定位符,主要用来定义位置,也是域名

  url定位资源路径:

    (1)scheme:协议--http

    (2)netloc:通过id找到主机、通过端口号进入主机

    (3)path:资源在服务器的相对路径

    url可以通过netloc找到任何主机,通过路径找到所需的资源

  url中的特殊符号:

    ?:后面跟get的请求参数

    &:多个get请求参数中间隔开

    #:锚点,页面可以定位锚点位置

    python的urllib下的parse模块可以帮助我们解析一个url
            from urllib import parse

             url = 'https://localhost:9999/bin/index.html?usename=zhangsanY&password=123#bottom'
             parse_result = parse.urlparse(url)
             print(parse_result)
             print(parse_result.netloc)
             print(parse_result.path)

             运行结果:
             ParseResult(
             scheme='https',
             netloc='localhost:9999',
             path='/bin/index.html',
             params='',
             query='usename=zhangsanY&password=123',
             fragment='bottom')

             localhost:9999
             /bin/index.html

  http工作过程:

    url = 'https://localhost:9999/bin/index.html?usename=zhangsanY&password=123#bottom'---》

    (1):路径解析四部分 scheme netloc path param query(参数usename=zhangsanY&password=123) fragment(锚点)

    (2):封装http请求数据包

    (3):封装tcp数据包,通过三次握手建立与服务器的tcp连接

    (4):客户端发送请求,服务端接收请求

    (5):关闭tcp连接

  客户端发送请求获取页面流程:

    (1):客户端解析地址封装数据包,建立连接,发送请求

    (2):服务器从数据包中解析出客户端想要获取的页面,将页面打包发送给客户端,客户端解析获取页面

    (3):客户端获取页面后,发现页面中缺少的静态文件,继续向服务端发起请求获取

    (4):服务端将缺少的静态文件发送给客户端,客户端根据html的语法将网页加载出来

  客户端请求:

    (1):请求行

    (2):请求头     重要的请求头:uset-Agent,referer(上一个网址,作为防盗链),centent-typ(post数据的请求类型)e,centent-length(post数据的请求长度),Accept(可接受的数据类型),cookie,x-requested-with(获取ajax数据必备,表明是一个ajax请求)

    (3):空行

    (4):请求体

  服务端响应:

    (1):状态栏   

        以1开头:数据还在发送中    

        以2开头:数据已经发送处理完成   200 OK

        以3开头:本次数据发送已完成,请求资源已转移,正在进行下一步细化    302-重定向  304-使用缓存资源

        以4开头:客户端请求存在问题    404-服务器未找到请求内容  403-权限不够

        以5开头:服务器存在问题     502-服务器错误   504-请求未完成,服务器遇见未可知问题

    (2):响应头

    (3):空行  

    (4):响应内容

 

    

posted @ 2019-11-28 21:51  佑神  阅读(220)  评论(0)    收藏  举报