• 浅谈网络请求基础(理论篇)


    网络请求基础

    1.网络请求过程

    URL介绍
    - URL请求的网址,即统一资源定位符,他可以唯一确定我们想请求的资源,其结构如下:  
    https://www.baidu.com/
    
    1.1网络请求过程
    #请求过程
    	客户端,通常指web浏览器或APP向服务器发起请求,并向客户端发起请求
    # 用dango做对比:
            用户访问url ---> uwsgi ---> 框架:urls.py ---> 视图 --> 响应 ---> uwsgi ---> 浏览器 ---> 渲染
    

    图例:

    2.请求涉及的基础

    2.1请求
    # 请求:由客户端向服务器发起的,可以分为四部分内容:
          请求方法(Request Methods),
          请求网址(Requets URL),
          请求头(Requets Header),
          请求体(Requets Body)
    
    2.2 请求方法
    # 请求方法: 常见有8种
    - GET:请求页面,并返回页面内容 # 重点
    
    - POST:用于提交表单数据或上传文件,数据包含在请求体中 # 重点
    
    - PUT: 从客户端向服务端传送的数据取代指定文档中的内容
    
    - DELETE:请求服务器删除指定的页面
    
    - HEAD:类似GET请求,只不过返回的响应中没有具体的内容,用于获取数据报头
    
    - CONNECT:把服务器当做跳板,让服务器代替客户端访问其他网页
    
    - OPTIONS:允许客户端查看服务器的性能
    
    - TRACE:回显服务器收到的请求,主动用于测试或诊断
    
    # 重点掌握GET & POST: GET与POST的区别(重点) -->(面试出镜率高)
    	1.GET请求中的参数包含在URL里面,数据可以在URL 中看到,
            而POST请求的URL不会包含这些数据,POST的数据都是通过表单形式传输的,会包含在请求体中
    	2.GET 请求提交的数据最多只有1024字节,而POST方式没有限制
     	3.POST请求比GET请求相对安全
    

    2.3 请求头

    请求头,用来说明服务器要是用的附加信息。重点掌握:Accept,Cookie,Referer,User-Agent,Host
    1.Accpect: 请求包头域,用于指定客户端可接受哪些类型的信息 # 重点(*/*)
    
    2.Cookie: 也常用复数形式,Cookies,这是网站为了辨别用户进行会话跟踪而储存在用户本地的数据。
    他的主要功能是维持当前访问会话。例如,我们输入用户名和密码成功登陆某个网站后,服务器会用会话保存登录状态信息,
    后面我们每次刷新或请求该站点的其他页面时,会发现都是登录状态,这就是Cookies的功劳。Cookies并将其发送给服务器,
    服务器通过Cookies识别出是我们自己,并且查处当前状态是登录状态,所以返回结果就是登录之后才能看到的网页内容 # 重点
    
    3.Referer:此内容用来表示这个请求时从哪个页面发送过来的,服务器可以拿到这一信息并做相应的处理,如做统计、防盗链处理等 # 重点
    
    4.User-Agent:简称UA,他是一个特殊的字符串头,可以是服务器识别用户的操作系统及版本、浏览器及版本等信息。在做爬虫时,加上此信息。可以伪装为浏览器。如果不加,很可能会被识别出来为爬虫 # 重点
    
    5. x-requested-with:XMLHTTPRequest # 代表ajax请求
    
    6. Accept-Language:指定客户端可接受的语言类型
    
    7. Accept-Encoding: 指定客户端可接受的内容编码
    
    8. Content-Type: 也叫互联网媒体类型(Internet Meida Type)或者MIME类型,在HTTP协议消息头中,他用来标识具体请求的媒体类型信息。例如: tetx/html代表HTML格式等
    
    2.4请求体
    # 请求体:
    	请求体一般承载的内容是POST请求中的表单数据,而对于GET请求,,请求体则为空。
    # get获取页面资源
    # get和post是否都能向服务器传递数据
    

    3.响应涉及的基础

    3.1 响应介绍:
    # 响应,是由服务器返回给客户端的,
      可以分为三部分:响应状态码(requets status code),
      响应头(requets header),响应体(requets body)
    
    3.2 响应状态码
    # 响应状态码:用于判断请求后的响应状态,例如200代表成功,404代表页面找不到,500代表服务器错误
    # 常见状态码:
    200系列:
    	200 成功  服务器已经处理了请求 # 重点
        
    300系列:
    	301 永久移动 请求的网页已经永久移动到新位置,即永久重定向 # 重点
        302 临时移动 请求的网页暂时跳转到其他页面, 即暂时重定向 # 重点
    
    400系列:
    	400 错误请求 服务器无法解析该请求 # 重点
    	401 未授权   请求没有进行身份验证或验证未通过
    	403 禁止访问  服务器拒绝此请求 # 重点
     	404 未找到    服务器找不到请求的网页
    
    500系列:
    	500	  服务器内部错误	服务器遇到错误,,无法完成请求 # 重点
     	501	  未实现		   服务器不具备完成请求的功能
        502   错误网关		   服务器作为网关或代理,从上游服务器收到无效响应
        504	  网关超时         服务器作为网关或代理,但是没有及时从上游服务器收到请求
        505   HTTP版本不支持	   服务器不支持请求中所用的HTTP协议版本
    
    注意:状态码不能完全代表响应状态,部分网站的状态码是自定义的,一切以响应的数据为准)
    
    
    3.3 响应头介绍:
    # 响应头:
          响应头包含了服务器队请求的应答信息
          - Date:标识响应产生的时间
    
          - Content-Encoding:指定响应内容的编码。
    
          - Server:包含服务器的信息,比如名称、版本号等。
    
          - Content-Type:文档类型。指定返回的数据类型是什么,比如text/html代表返回HTML文档。
    
          - application/x-javascript 则代表返回JavaScript文件,image/jpeg则代表返回图片。
    
          - Set-Cookie:设置Cookies。响应头中的Set-Cooksie告诉浏览器需要将此内容放在Cokies中,
            下次请求携带Cookies请求。
    
          - Expires:指定响应的过期时间,可以使用代理服务器或浏览器将加载内容更新到缓存中。
            如果再次访问时,就可以直接从缓存中加载,降低服务器负载,缩短缓存加载时间。
    
    3.4 响应体介绍
    # 响应体:重要
          最重要的当属响应体的内容了。
          响应的正文数据都在响应体中,比如请求网页时,
          他的响应体就是网页的HTML代码,请求一张图片时,
          他的响应体就是图片的二进制数据。我们做爬虫请求网页后,
          要解析的内容就是响应体。
    

    4.网页基础

    4.1网页组成
    网页可以分为三部分,HTML,CSS,JacaScript
          1.HTML:其全称叫做Hyper Text Markup Language。即超文本标记语言。定义了网页的样式
          2.CSS:全程叫做Cascading Style Sheets。即层叠样式表。
          3.JavaScript:简称JS,是一种脚本语言,
    	定义了网页与用户的交互行为,如下载进度条,提示框,轮播图.
  • 相关阅读:
    centos下升级python
    微信公众号(二)
    微信公众号的开发(一)
    nginx 新手入门
    Mysql is not allowed to connect mysql server
    docker 新手入门 (阿里镜像仓库的使用)
    docker 新手入门 (web项目的部署)
    jquery easyui combox不能编辑只能选择
    $.messager.confirm 用法
    html下载excel模板
  • 原文地址:https://www.cnblogs.com/xiangnuan/p/13213513.html
Copyright © 2020-2023  润新知