HTTP HTTPS 及网络请求与响应

HTTP

URI的全称为 Uniform Resource Identifier,即统一资源标志符
URL的全称为 Universal Resource Locator,即统一资源定位符

URL是URI的子集,也就是说每个URL都是URI,但不是每个URI都是URL。那么,怎样的URI不是URL呢?URI还包括一个子类叫作URN,它的全称为 Universal Resource Name,即统一资源名称。URN只命名资源而不指定如何定位资源,比如um:isbn:0451450523指定了一本书的ISBN可以唯一标识这本书,但是没有指定到哪里定位这本书,这就是URN.URL、URN和URI的关系可

协议类型http与https

HTTP的全称是 Hyper Text Transfer Protocol,中文名叫作超文本传输协议
HTTPS的全称是Hyper Text Transfer Protocol over Secure Socket Layer,是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,简称为HTTPS,安全基础是SSL

SSL主要作用分两种:

  • 建立一个信息安全通道来保证数据传输的安全
  • 确认网站的真实性,凡是使用了HTTPS的网站,都可以通过点击浏览器地址栏的锁头标志来查看网站认证之后的真实信息,也可以通过CA机构(证书颁发机构(CA, Certificate Authority))颁发的安全签章来查询。
  • http请求

    image-20210308162830557

    • 第一列Name:请求的名称,一般会将URL的最后一部分内容当作名称
    • 第二列 Status:响应的状态码,这里显示为200,代表响应是正常的。通过状态码,我们可以判断发送了请求之后是否得到了正常的响应。
    • 第三列Type:请求的文档类型。 document,代表我们这次请求的是一个HTML文档,内容就是一些HTML代码
    • 第四列 Initiator:请求源。用来标记请求是由哪个对象或进程发起的。
    • 第五列Size:从服务器下载的文件和请求的资源大小。如果是从缓存中取得的资源,则该列会显示 from cache
    • 第六列Time:发起请求到获取响应所用的总时间。
    • 第七列 Waterfal:网络请求的可视化瀑布流

点击这个条目,会出现
image-20210308163155910

  • 首先是 General部分

    • Request URL为请求的URL,
    • Request Method为请求的方法,
    • Status Code为响应状态码,
    • Remote Address为远程服务器的地址和端口,
    • Referrer Policy为 Referrer判别策略。
  • 可以看到,有 Response Headers和 Request Headers,这分别代表响应头和请求头。

    image-20210308163427080请求头里带有许多请求信息,例如浏览器标识、 Cookies、Host等信息,这是请求的一部分,服务器会根据请求头内的信息判断请求是否合法,进而作出对应的响应。
    image-20210308163606342

    图中看到的 Response Headers就是响应的一部分,例如其中包含了服务器的类型、文档类型、日期等信息,浏览器接受到响应后,会解析响应内容,进而呈现网页内容。

请求

请求,由客户端向服务端发出,可以分为4部分内容:

  • 请求方法( Request Method)、
  • 请求的网址Request URL)、
  • 请求头( Request Headers)、
  • 请求体( Request Body)
请求方法

GET和POST

  • GET请求中的参数包含在URL里面,数据可以在URL中看到,而POST请求的URL不会包含这些数据,数据都是通过表单形式传输的,会包含在请求体中
  • GET请求提交的数据最多只有1024字节,而POST方式没有限制。

image-20210308164001764

请求网址

即URL

请求头

请求头,用来说明服务器要使用的附加信息,比较重要的信息有 Cookie、 Referer、User- Agent等下面简要说明一些常用的头信息。

  • Accept:请求报头域,用于指定客户端可接受哪些类型的信息。

  • Accept-Language:指定客户端可接受的语言类型。

  • Accept-Encoding:指定客户端可接受的内容编码。

  • Host:用于指定请求资源的主机IP和端口号,其内容为请求URL的原始服务器或网关的位置。从HTTP1.1版本开始,请求必须包含此内容。

  • Cookie:也常用复数形式 Cookies,这是网站为了辨别用户进行会话跟踪而存储在用户本地的数据。它的主要功能是维持当前访问会话

    例如,我们输入用户名和密码成功登录某个网站后,服务器会用会话保存登录状态信息,后面我们每次刷新或请求该站点的其他页面时,会发现都是登录状态,这就是 Cookies的功劳。 Cookies里有信息标识了我们所对应的服务器的会话,每次浏览器在请求该站点的页面时,都会在请求头中加上 Cookies并将其发送给服务器,服务器通过 Cookies识别出是我们自己,并且查出当前状态是登录状态,所以返回结果就是登录之后才能看到的网页内容。

  • Referer:此内容用来标识这个请求是从哪个页面发过来的,服务器可以拿到这一信息并做相应的处理,如做来源统计、防盜链处理等。

  • User- Agent:简称UA,它是一个特殊的字符串头,可以使服务器识别客户使用的操作系统及版本、浏览器及版本等信息。在做爬虫时加上此信息,可以伪装为浏览器;如果不加,很可能会被识别出为爬虫。

  • Content-Type:也叫互联网媒体类型(InternetMediaType)或者MIME类型,在HTTP协议消息头中,它用来表示具体请求中的媒体类型信息。例如, text/html代表HTML格式, image/gif代表GF图片, application/json代表JSON类型,更多对应关系可以查看此对照表:
    http://tool.oschina.net/commons

请求体

请求体一般承载的内容是POST请求中的表单数据,而对于GET请求,请求体则为空。
此时需要注意 Request Headers中指定 Content-Type为 application/x-ww-form- urlencode。只有设置Content-Type为 application/x-www-form- - urlencode,才会以表单数据的形式提交。另外,我们也可以将 Content-Type设置为 application/json来提交JSON数据,或者设置为 multipart/form-data来上传文件。

image-20210308164938117

响应

响应,由服务端返回给客户端,可以分为三部分:响应状态码(Response Status Code)、响应头(Response Headers)和响应体( Response Body)。

状态码

image-20210308165213173

image-20210308165251626

响应头

响应头包含了服务器对请求的应答信息,如 Content-Type、 Server、 Set-Cookie等。下面简要说明些常用的头信息。

  • Date:标识响应产生的时间。
  • Last-Modified:指定资源的最后修改时间。
  • Content-Encoding:指定响应内容的编码。
    Server:包含服务器的信息,比如名称、版本号等
  • Content-Type:文档类型,指定返回的数据类型是什么,如 text/html代表返回HTML文档, application/x-javascript则代表返回 JavaScript文件, image/jpeg则代表返回图片。
  • Set-Cookie:设置 Cookies。响应头中的 Set-Cookie告诉浏览器需要将此内容放在 Cookies中,下次请求携带 Cookies请求
  • Expires:指定响应的过期时间,可以使代理服务器或浏览器将加载的内容更新到缓存中。如果再次访问时,就可以直接从缓存中加载,降低服务器负载,缩短加载时间。

HTTPS

image-20220607232909390

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值