美文网首页
HTTP 协议总结

HTTP 协议总结

作者: 晨曦入诗 | 来源:发表于2018-09-26 21:38 被阅读11次

一、HTTP 协议概念简述

  1. HTTP 协议请求的是 Resource 资源;
  2. 资源由 URL (统一资源定位符:Universal Resource Locator )决定的;
  3. 静态资源:具体放在服务器上某个文件夹下面,称之为静态资源;
  4. 动态资源:具体交给后端的代码运算之后返回对应的资源给客户端,可以是图片、html等;

二、 用 curl 讲解 GET 请求部分

(1) resquest line 请求行;


image.png

(2) 请求头部( request headers ):由 key:value 的形式组成;如下:


image.png

(3) 响应头部( response headers ):由 key:value 的形式组成,如下:


image.png

(4) 响应的主体内容 body,如下:


image.png

(5) 引发的问题:浏览器执行不同的请求,怎么知道渲染 html 的 ?

是由 Content-Type:text/html 所决定的;

(6) 负载数据 payload,一般情况下:

  1. GET 不携带负载数据;
  2. POST 通常会下带负载数据;

三、HTTP 响应的格式

(1) 状态行 status line
  1. 基本格式: HTTP[版本号] [状态码] [状态信息];
    比如说:HTTP/1.1 [200] [OK]
(2) 状态码
  1. 2xx :一般来说是成功的状态;
  2. 3xx :重定向或资源未被修改;301:永久重定向;302:临时重定向;
  3. 4xx :客户端请求错误 401(未认证)、403(限制访问次数、频率)、404(没有找到对应的字) 等;
  4. 5xx :服务端错误 502(损坏的网关通道)、503、504(请求超时) 等;
(3) HTTP 是无状态的协议:
  1. 对于之前的交互没有记录;
  2. 每次交互能用的信息只有这次交互携带的信息;
    (问:cookie 和 session ?)
(4) HTTP 查询字符串传递参数

查询字符串 query string 方法: request()->query();

(5) POST 请求发送数据
  1. form 表单提交,Content-type : application/x-www-form-urlencoded;
  2. file upload 文件上传,Content-type : multipart/form-data;
  3. fetch/axios 上传, Content-type : application/json:
    前端代码:view.php


    image.png
    image.png

    后端代码:web.php


    image.png

四、使用 Cookie 保持状态

原因:HTTP 协议是无状态(Stateless)的。
场景:服务器在某些场景下需要认证客户端(浏览器)。

laravel 已经封装了 Cookie ,自定义Cookie,可直接使用Cookie:


image.png

五、HTTP 方法( HTTP Method/Verb )

image.png image.png

六、Session 会话

What is session ?

Session是服务器和客户端互相认识,保有秘密的一段时间。

  1. Session 过期:长时间未登录某网站,自动度过了session可以生成的最长时间;退出销毁 Session;在浏览器Cookie中清除Session;
  2. Session 劫持:黑客/攻击者拿到用户浏览器 Cookie ,通过编程方式把 Cookie 携带上访问站点,服务器会把 ‘黑客/攻击者’ 当作用户。

七、浏览器的同源策略

同源策略限制了从同一个源加载文档或脚本如何与另一个源的资源进行交互,这是一个用于隔离潜在恶意文件的安全机制。

一个源的定义:如果两个页面的协议,端口(如有指定)和域名都相同,则两个页面有相同的源。

HTTP 访问控制(CORS:跨域资源共享),不受同源策略的影响;

当一个资源从该资源本身所在的服务器不同的域或端口请求一个资源时,资源会发起一个跨域 HTTP 请求。
违反同源策略报错如下:"Access-Control-Allow-Orign"


image.png

解决方法:在middleware中创建一个中间件 Cors.php


image.png

八、 HTTPS(S = Secure 即安全协议)

HTTPS 如何进行加密 ?

主流的两种加密协议:

  1. TLS;
  2. SSL;
    加密流程: 服务端将 HTTPS 证书颁发给客户端

九、XSS跨站脚本攻击(XSS : Cross-Site Scripting)

防护 XSS 防护有两种方式:


相关文章

  • Http协议总结

    Http协议 默认端口:80 Http协议的主要特点 支持客户/服务器模式 简单快速:客户向服务端请求服务时,只需...

  • HTTP协议总结

    HTTP协议又叫超文本传输协议,协议是指两台计算机之间在网络中进行通信所必须遵守的规则或约定。目前我们使用的HTT...

  • HTTP 协议总结

    一、HTTP 协议概念简述 HTTP 协议请求的是 Resource 资源;资源由 URL (统一资源定位符:Un...

  • Http协议总结

    http请求报文如图: 如下请求示例报文:POST请求: POST / HTTP1.1Host:www.wrox....

  • HTTP协议总结

    Web开发,网络爬虫,接口自动化测试、分析网络抓包数据等,它们无一例外,都会用到HTTP协议的各方面的知识,并且某...

  • Http协议总结

    http协议的总结 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统,...

  • HTTP协议总结

    HTTP的主要特点: 1、简单快速2、灵活 http有一个数据协议,可以使用多种数据3、无连接 连接一次就会断掉4...

  • http协议总结

    1.HTTP1.0九十年代就发布了,当时面向的环境是主要是一些请求简单html静态文件,内容是一些简单的文字、图片...

  • Http协议总结

    HTTP 协议总结 Http 协议基础 经典五层模型 应用层——传输层——网络层——数据链路层——物理层 物理层主...

  • HTTP协议总结

    1.在TCP/IP协议簇中的位置 位于四层协议的应用层。基于运输层的TCP协议实现。 2.请求报文结构 包括报文首...

网友评论

      本文标题:HTTP 协议总结

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