美文网首页
HTTP 、 HTTPS协议

HTTP 、 HTTPS协议

作者: zy小太阳 | 来源:发表于2018-12-18 19:05 被阅读0次

OSI七层协议:

(应用相关)

  • 应用层:为用户的应用提供网络服务的(http,HTTPS,ftp...)

  • 表示层:负责端到端的数据信息可以被另一个主机所理解和识别,并按照一定的格式将信息传递到会话层

  • 会话层:管理主机之间的会话进程,负责建立、管理和终止会话进程

  • 传输层:进行数据传输(TCP UDP)

                      UDP          和         TCP对比:
    传输方式:        面向链接                  非面向链接
    传输的数据:      传输的是数据流             传输的是数据包(可能会丢包)
    传输的效率:        慢                         快
    传输的稳定性:       高                         低
    

(硬件)

  • 网络层:路由器...
  • 数据链路层:网桥 交换机
  • 物理层:网线 网卡 集线器 中继器

应用层协议

  • HTTP协议(HyperText Transfer Protocol)超文本传输协议,端口号80

  • HTTPS协议(Hypertext Transfer Protocol over Secure Socket Layer)HTTP的安全版,端口号443,

  • 在HTTP协议的基础上加入SSL层(HTTP+SSL) 。 SSL(Secure Sockets Layer 安全套接层)主要用于
    Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全。

  • HTTPS的安全基础是SSL,因此通过它可以传输的内容都是经过SSL加密的,主要作用是:
    建立一个安全有效的信息传送通道,保证数据传送的安全性
    确定网站的真实性和有效性

注意:HTTPS比HTTP更安全,但是性能更低

  • HTTP工作原理

    网络爬虫抓取过程可以理解为模拟浏览器操作的过程。
    浏览器的主要功能是向服务器发出请求,在浏览器窗口中展示您选择的网络资源,HTTP是一套计算
    机通过网络进行通信的规则。 HTTP的请求与响应
    

HTTP通信由两部分组成: 客户端请求消息 与 服务器响应消息

浏览器发送HTTP请求的过程:

当用户 在浏览器的地址栏中输入一个URL并按回车键之后(会先经过DNS服务将域名解析为ip),浏览器会向HTTP服务器发送HTTP请求。HTTP请求主要分为“Get”和“Post”两种方法。
当我们在浏览器输入URL http://www.baidu.com 的时候,浏览器发送一个Request请求去获取 http://www.baidu.com 的html文件,服务器把Response文件对象发送回给浏览器。
浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。
当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来了。

url的组成

URI(Uniform Resource Identifier):统一资源标识符
URL(Uniform / Universal Resource Locator的缩写):统一资源定位符,是用于完整地描述Internet上网页和其他资源的地址的一种标识方法。
URN(Universal Resource Name):统一资源名称,只命名资源而不指定如何定位资源

基本格式:
scheme://host[:port#]/path/…/[?query-string][#anchor]
scheme:协议(例如:http, https, ftp)
host:服务器的IP地址或者域名
port#:服务器的端口(如果是走协议默认端口,缺省端口80)
path:访问资源的路径
query-string:参数,发送给http服务器的数据
anchor:锚(跳转到网页的指定锚点位置)
eg:
https://www.baidu.com/s?wd=崔永元真面饭馆
https://book.qidian.com/info/1004608738#Catalog

请求方法

根据HTTP标准,HTTP请求可以使用多种请求方法。

HTTP 0.9:只有基本的文本 GET 功能。
HTTP 1.0:完善的请求/响应模型,并将协议补充完整,定义了三种请求方法:
GET, POST 和 HEAD方法。
HTTP 1.1:在 1.0 基础上进行更新,新增了五种请求方法:OPTIONS, PUT, DELETE,
TRACE 和 CONNECT 方法。
HTTP 2.0(未普及):请求/响应首部的定义基本没有改变,只是所有首部键必须
全部小写,而且请求行要独立为 :method、:scheme、:host、:path这些键值对。

HTTP请求主要分为Get和Post两种方法

GET是从服务器上获取数据,POST是向服务器传送数据
GET请求参数显示,都显示在浏览器网址上,HTTP服务器根据该请求所包含URL中的参数来产生响应内容,即“Get”请求的参数是URL的一部分。 例如: http://www.baidu.com/s?wd=Chinese
POST请求参数在请求体当中,消息长度没有限制而且以隐式的方式进行发送,通常用来向HTTP服务器提交量比较大的数据(比如请求中包含许多参数或者文件上传操作等),请求的参数包含在“Content-Type”消息头里,指明该消息体的媒体类型和编码.
注意:避免使用Get方式提交表单,因为有可能会导致安全问题。 比如说在登陆表单中用Get方式,用户输入的用户名和密码将在地址栏中暴露无遗。

常用的请求报头(Request Headers)

  1. User-Agent (浏览器名称)
    User-Agent:是客户浏览器的名称,以后会详细讲。
  2. Cookie (Cookie)
    Cookie:浏览器用这个属性向服务器发送Cookie。
    Cookie是在浏览器中寄存的小型数据体,它可以记载和服务器相关的用户信息,也以用来实现会话功能。
  3. Referer (页面跳转处)
    Referer:表明产生请求的网页来自于哪个URL,用户是从该 Referer页面访问到当前请求的页面。
    这个属性可以用来跟踪Web请求来自哪个页面, 是从什么网站来的等。
发起请求:
会携带请求头:
‘User-Agent’:模拟浏览器进行请求
‘Cookie’:存储在浏览器里面的,使用cookie表明用户的身份
‘Refere’:说明当前的请求是从哪个页面发起的

常见状态码:

100~199:表示服务器成功接收部分请求,要求客户端继续提交其余请求才能完成整个处理过程。
2xx:表示服务器成功接收请求并已完成整个处理过程。
200(OK 请求成功)。
3xx:为完成请求,客户需进一步细化请求。例如:请求的资源已经移动一个新地址、 常用
301: 永久重定向
302: 临时重定向(所请求的页面已经临时转移至新的url)
4xx:客户端的请求有错误.
400:错误请求,服务器无法解析请求
401:未授权,没有进行身份验证
403:服务器拒绝访问
404:服务器无法找到被请求的网页
405:请求方式不被允许
408:请求超时
5xx:服务器端出现错误
500:服务器内部错误
501:服务器不具备完成请求的功能
503:服务器不可用

相关文章

  • Http, Https协议

    # Http, Https协议 * 参考资料 * [HTTP](https://github.com/CyC20...

  • 协议(HTTP HTTPS)

    目的: OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮...

  • HTTP/HTTPs协议

    一、HTTP(Hyper Text Transfer Protocol超文本传输协议)HTTP协议是用于从万维网(...

  • HTTP/HTTPS 协议

    1. URL 1.1 基本概念 (Uniform Resource Locator,统一资源定位符) protoc...

  • HTTP协议-HTTPs

    序言 https是http协议之后的一个演化。https就是为了解决安全而出现的,安全是软件的一个重要考量因素,和...

  • http,https协议

  • HTTP、HTTPS协议

    OSI七层协议(从上向下): 一、应用层: 为用户的应用程序提供网络服务的(HTTP、HTTPS、FTP……) 二...

  • HTTP 、 HTTPS协议

    OSI七层协议: (应用相关) 应用层:为用户的应用提供网络服务的(http,HTTPS,ftp...) 表示层:...

  • http、https协议

    网络协议 由于现在软件行业中,大部分系统都是前后段分离的c/s架构或者b/s架构模式,如果前后端想进行数据交互需要...

  • HTTP协议与HTTPS协议

    协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则。 1、HTTP 协议 1.1、 什么是 ...

网友评论

      本文标题:HTTP 、 HTTPS协议

      本文链接:https://www.haomeiwen.com/subject/kkflkqtx.html