1. 什么是http协议?

http,超文本传输协议是现在互联网应用最为广泛的协议,所有的www文件都必须遵循这个标准设计这个最初的目的是为了发布和接收HTML文件。http就是web通信的基础,就是为了能够让文档之间互相关联可以进行互相传阅。http协议在应用层。

  1. http协议的组成

HTTP协议由HTTP请求和相应组成,当在浏览器输入网址进行访问的时候,你的浏览器将你的请求封装成一个HTTP请求发送到服务器,站点服务器接收到请求后会组织相应数据封装成一个HTTP响应返回给浏览器,当然,没有请求的时候也不会有响应。

  1. http请求

http请求是给服务器看的,,分为请求头和请求行,请求体。请求头包含:请求方式(post/get),请求的资源路径,和当前http版本;请求行中又有许多信息,内容以键值对的格式显示(key : value ),请求体中含有静态资源及网页所提交的参数,提交到服务器端。

http 1.0:发送请求,创建一次连接,获得一个web资源,连接断开。

http 1.1:发送请求,创建一次连接,获得多个web资源,保持连接。(持久连接,一次连接可以处理多个请求)“管线化”发送请求:在一次连接中,不需要等待服务器响应请求,就可以连续发送第二次请求。

请求头的几个要点:

Referer: 浏览器告知服务器当前请求来自何处,如果直接访问则不会有这个头,常用于防盗链。

Cookie: 与会话有关的技术用来存储浏览器缓存的cookie信息。http是无状态的,他可是不对通信状态进行保存的,他并不知道之前通信的对方是谁,这样的设计是为了让http简单化,能够快速地处理大量的事物。但是我们经常需要知道访问的是谁,所以cookie就有了,要是服务器想要记住客户端的名字就颁发一个cookie给他,客户端把cookie保存到硬盘上,当下次访问,浏览器会把客户端和所带的cookie信息一起递给服务器,这时,服务器就知道这个家伙是谁了。

Host:服务器主机名,User-Agent:浏览器通知服务器客户端浏览器与操作系统相关信息。

  1. http响应

响应行:协议版本 状态码 状态描述信息 ;例如:HTTP /1.1 200 OK

响应头:也是键值对(key:value)其中有文本类型,最后一次修改时间,日期,server(服务器);

*常见的状态码:200 正常处理 ;204 成功处理但显示页面不更新;206 对服务器进行范围请求,只返回一部分数据 302 :重定向 ;304:拿本地缓存;400:语法错误 401:需要身份认证403:没有权限访问 404:没有找到该资源;500:服务器内部资源错误。503:服务器正忙。

响应体:这个就是我们常见的HTML代码当我们在客户发送请求时会得到服务器的一个响应,相应的内容就有可能是一个页面或servlet数据(页面要显示的正文)。

  1. http和HTTPS的区别?
  1. HTTP的URL以 http:// 开头,而HTTPS的URL以https:// 开头
  2. Http是不安全的,HTTPS是安全的
  3. http标准端口是80,而https的标准端口是443
  4. 在osi网络模式中,http工作与应用层,https的安全传输机制工作与传输层
  5. http无法加密,而https对数据的传输可以加密
  6. http无需证书,但https需要ca机构颁发的SSL证书
  1. URI和URL的区别:

URI统一资源标识符,用来唯一标识一个资源。

URI有三部分组成:1,访问资源的命名机制2,存放资源的主机名,3,资源本身的名称,有路径表示,着重强调资源。

URL统一资源定位符,是一种具体的URI,他不仅可以表示这个资源还可以找到他所在的具体位置。URL是互联网上用来详细描述信息资源的字符串,主要作用于各种www客户端,服务器

URL也由三部分组成。

1.协议(服务方式)

2. 存有资源的主机地址有时还有端口号

3. 主机资源的具体地址,例如在哪个目录下或文件等

HTTP基础知识点小结的更多相关文章

  1. Java 基础知识点小结

    小知识点 所有的程序,都要定义在类里面: 异常 定义方法时,使用 throws 可以用来捕获方法体内没有捕获的异常,然后以 SomeException 抛出异常 java是解释型语言.java虚拟机能 ...

  2. Python基础知识点小结

    1.Python基础知识 在Python中的两种注释方法,分别是#注释和引号('''   ''')注释,#注释类似于C语言中的//注释,引号注释类似于C语言中的/*   */注释.接着在Python中 ...

  3. Javascript基础篇小结

    转载请声明出处 博客原文 随手翻阅以前的学习笔记,顺便整理一下放在这里,方便自己复习,也希望你有也有帮助吧 第一课时 入门基础 知识点: 操作系统就是个应用程序 只要是应用程序都要占用物理内存 浏览器 ...

  4. 【SpringBoot MQ 系列】RabbitMq 核心知识点小结

    [MQ 系列]RabbitMq 核心知识点小结 以下内容,部分取材于官方教程,部分来源网络博主的分享,如有兴趣了解更多详细的知识点,可以在本文最后的文章列表中获取原地址 RabbitMQ 是一个基于 ...

  5. SpringBoot 系列教程之事务隔离级别知识点小结

    SpringBoot 系列教程之事务隔离级别知识点小结 上一篇博文介绍了声明式事务@Transactional的简单使用姿势,最文章的最后给出了这个注解的多个属性,本文将着重放在事务隔离级别的知识点上 ...

  6. disruptor笔记之四:事件消费知识点小结

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  7. fastclick 源码注解及一些基础知识点

    在移动端,网页上的点击穿透问题导致了非常糟糕的用户体验.那么该如何解决这个问题呢? 问题产生的原因 移动端浏览器的点击事件存在300ms的延迟执行,这个延迟是由于移动端需要通过在这个时间段用户是否两次 ...

  8. .NET基础知识点

    .NET基础知识点   l  .Net平台  .Net FrameWork框架   l  .Net FrameWork框架提供了一个稳定的运行环境,:来保障我们.Net平台正常的运转   l  两种交 ...

  9. JavaScript 开发者经常忽略或误用的七个基础知识点(转)

    JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...

随机推荐

  1. 总括订单Blanket order

    总括订单Blanket order是客户向其供应方发出的采购订单,但其中包含一段时间内的多个交货日期,通常使用谈判时的预定价格.大多数情况下,它用于对消耗性商品有经常性需求的情况.总括订单通常用于客户 ...

  2. CF1327F AND Segments

    链接 Description 要求构造满足下列条件的长度为 \(n\) 的序列 \(a\) 的个数: 每个数值域在 \([0, 2 ^ k)\) \(m\) 个限制条件 \(l, r, x\),需要满 ...

  3. python叠加矩形框图层

    两种方式以及效果: 方式一,使用PIL.Image.blend方式: from PIL import Image, ImageDraw im = Image.open('d:/tmp/58.249.0 ...

  4. sqli-labs lexx25-28a(各种过滤)

    less-25AND OR 过滤 less-25a基于Bool_GET_过滤AND/OR_数字型_盲注 less-26过滤了注释和空格的注入 less-26a过滤了空格和注释的盲注 less-27过滤 ...

  5. PB级大规模Elasticsearch集群运维与调优实践【>>戳文章免费体验Elasticsearch服务30天】

    [活动]Elasticsearch Service免费体验馆>> Elasticsearch Service自建迁移特惠政策>>Elasticsearch Service新用户 ...

  6. [日常摸鱼]bzoj1083[SCOI2005]繁忙的都市-最小生成树

    我也不知道为什么我要来写这个-怕是写水题写上瘾了(bu #include<cstdio> #include<algorithm> #define rep(i,n) for(re ...

  7. MySQL误删除用户怎么解决

    前言:在不考虑到原来用户对关联数据库的授权问题的情况下,有以下两种思路解决 #1.安全模式修改 第一步:关闭数据库服务: [root@db01 ~]#/etc/init.d/mysqld stop 第 ...

  8. [Python] iupdatable包:Status 模块使用介绍

    常用状态做的一个集合,方便用在函数返回值中区分不同状态结果. 简单举例: from iupdatable import Status def fun(): print("do somethi ...

  9. CVE-2017-10271漏洞复现

    漏洞描述 Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令. ...

  10. 拖拽一个元素如此简单,mouse、drag、touch三兄弟的用处

    最近需要做一个投票活动,上传图片时需要拖拽.缩放来裁剪图片,vue的组件不少,不过自己动手才能丰衣足食,一味使用别人的组件实在难以进步,所以自己研究一番. 一.mouse.drag.touch傻傻分不 ...