zoukankan      html  css  js  c++  java
  • 爬虫基础(1)HTTP基本原理

    爬虫基础

    HTTP基本原理

    2.1.1URI和URL

    URI 统一的资源标志符
    URL 统一资源定位符
    每个URL都是URI,但是URI不一定都是URL
    URI还包含子类URN(统一资源命名,就像ISBN)

    2.1.2 超文本

    英文名:hypertext
        浏览器看到的网页就是超文本解析而成,我们可以把源代码HTML,
    称为超文本。
    每个网页都可以通过开发者工具,看到它的源代码。

    2.1.3 HTTP和HTTPS

    HTTP和HTTPS都是一种访问协议。有时还有ftp,sftp,smb的协议。
    
    HTTP:超文本传输协议。
    作用:网络传输超文本数据到本地浏览器的传送协议
    
    HTTPS:是在HTTP上加上了防护层SSL.也就是安全的协议。
    作用:文本传输的过程会通过SSL加密。

    2.1.4 HTTP请求过程

    进入开发者模式
    输入URL,然后观察network,就会出现对应的URL,信息。

    Name:是请求的名称,一般会将URL的最后一部分内容当作名称。
    Status:响应的状态码,这里显示位200,代表响应式正常的。
    Type:请求文档的类型。这里为document,代表我们这次请求的是一个HTML文档,内容就是一些HTML代码。
    Initiator:请求资源,标记请求是由哪个对象或进程发起的。
    Size:从服务器下载的文件和请求的资源的大小,如果是从缓存中取得的资源,则该列会显示from cache。 Time:发起请求到响应的总时间。 Waterfall:网络请求的可视化瀑布。 浏览器接到响应后,会解析响应的内容,进而呈现网页的内容。

    2.1.5 请求

    请求是指:由客户端向服务器发出的要求。
    分为四部分内容:
        1.请求方法
        2.请求的URL
        3.请求头(Request Header)
        4.请求体(Request Body) 一,请求方法 常见方法: GET 和 POST。 GET:在浏览器中输入一个URL并回车,就是一个GET请求,请求的参数会包含到URL中。 POST:要在表单中提交后发起,比如一个登入表单,输入用户名和密码后,点击登录,这通常就会发起一个POST请求,其数据会一表单的形式传输,不会体现在URL中。 GET 和 POST请求的区别: GET请求中的参数包含在URL里面,数据可以在URL中看见,而POST请求的URL不会包含这些数据,数据都是以表单的形式传输,会包含在请求体中。 GET请求提交的数据最多1024字节,而POST没有限制。 运用POST请求的常见: 密码登入,保证密码不显示在URL中,保证安全。 上传数据过大时,也会选用POST方式。 其他请求方式参考: http://www.runoob.com/http/http-methods.html

    二,请求的网址
        也就是统一的资源定位符URL,它可以确定我们想请求的唯一资源。
    三,请求头
        请求头,用来说明服务器要使用的附加信息,比较重要的信息有 Cookie、 Referer、 User-Agent等。 下面简要说明一些常用的头信息
            口 Accept:请求报头域,用于指定客户端可接受哪些类型的信息。
            Accept-Language:指定客户端可接受的语言类型。 
            Accept-Encoding :指定客户端可接受的内容编码。 
            Host:用于指定请求资源的主机 IP 和端口号,其内容为请求 URL 的原始服务器或网关的位 置。 从 HTTP 1. l 版本开始,请求必须包含此内容。 
            Cookie :也常用复数形式Cookies,这是网站为了辨别用户进行会话跟踪而存储在用户本地 的数据。 它的主要功能是维持当前访问会话。 例如,我们输入用户名和密码成功登录某个网 站后,服务器会用会话保存登录状态信息,后面我们每次刷新或请求该站点的其他页面时, 会发现都是登录状态,这就是 Cookies 的功劳。 Cookies 里有信息标识了我们所对应的服务器 的会话,每次浏览器在请求该站点的页面时,都会在请求头中加上 Cookies 并将其发送给服 务器,服务器通过 Cookies 识别出是我们自己,并且查出当前状态是登录状态,所以返回结 果就是登录之后才能看到的网页内容。 
            口 Referer:此内容用来标识这个请求是从哪个页面发过来的,服务器可以拿到这一信息并做相 应的处理,如做来源统计、防盗链处理等。 
            口 User-Agent:简称 UA,它是一个特殊的字符串头,可以使服务器识别客户使用的操作系统 及版本、 浏览器及版本等信息。 在做爬虫时加上此信息,可以伪装为浏览器;如果不加,很 可能会被识别为爬虫。 口 Content-Type:也叫互联网媒体类型( Internet Media Type )或者 MIME 类型,在 HTTP 协议 消息头中,它用来表示具体请求中的媒体类型信息。 例如, text/html 代表 HTML 格式, image/gif代表 GIF 图片, application/json 代表 JSON类型,更多对应关系可以查看此对照表: http://tool.oschina.neνcommons。

    2.1.6 响应

    响应,由服务端返回给客户端,可以分为三部分:响应状态码( Response Status Code )、响应头 ( Response Headers )和响应体( Response Body )。
    
    1.响应状态码
        200 代表响应正常。
        404 代表为找到网页。
        500 代表服务器内部发生错误。
        
        
    2.响应头
        响应头包含了服务器对请求的应答信息,如 Content-Type、 Server、 Set-Cookie 等。
        下面简要说明 一些常用的头信息。 
        Date:标识响应产生的时间。
        Last-Modified:指定资源最后的修改时间。
        Content-Encoding:指定响应内容的编码。 Serve:包含服务器信息,比如名称,版本号等。 Content-Type:文档的类型,指定返回的数据类型是什么,如text/html代表返回HTML文档,application/x-javascript则代表返回JavaScript文件,image/jpeg则代表返回得是图片。 Set-Cookie:设置Cookies.响应头中的Set-Cookie告诉浏览器需要将此内容放在Cookies中,下次请求携带Cookies请求。 Expires:指定响应的过期时间,可以使代理服务器将加载的内容更新到缓存中。如果再次访问就可以直接从缓存中加载,降低服务器的负载,缩短加载时间。 3.响应体(*) 。 响应的正文数据都在响应体中,比如请求网页时,它的响应体就 是网页的 HTML 代码; 请求一张图片时, 它的响应体就是图片的二进制数据。 我们做爬虫请求网页后, 要解析的内容就是响应体
    追求吾之所爱
  • 相关阅读:
    将html转换成image图片png格式
    maven 发布打包部署 命令
    javap 指令集
    国内maven仓库地址
    五行大义
    oracle
    【Centos linux系统】命令行(静默)安装oracle 11gR2
    windows安装mysql-5.7压缩版详细教程
    k8s入门系列之扩展组件(一)DNS安装篇
    k8s入门系列之集群安装篇
  • 原文地址:https://www.cnblogs.com/rstz/p/14391059.html
Copyright © 2011-2022 走看看