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. 「IOI2017」接线 的另类做法

    看到这题,我的第一反应是:这就是一个费用流模型?用模拟费用流的方法? 这应该是可以的,但是我忘记了怎么模拟费用流了IOI不可能考模拟费用流.于是我就想了另外一个方法. 首先我们考虑模拟费用流的模型如下 ...

  2. js上 十八、字符串

    十八.字符串 #18.1.认识字符串 #什么是字符串 字符串可以是引号中的任意文本.字符串可以由双引号(")或单引号(')表示 ,如 'hello' , "中国" #为什 ...

  3. js下 Day19、综合案例

    一.吸顶楼层 效果图: 功能思路分析: 1. 面向对象框架 2. 渲染导航 \1. 数据 \2. 对象结构的数据用for in遍历 \3. 渲染时将属性名设为锚点(a标签的href) 3. 渲染车系 ...

  4. PHP 直接使用html输出excel

    1 <?php 2 header("Cache-Control:public"); 3 header("Pragma:public"); 4 5 head ...

  5. hugging face-基于pytorch-bert的中文文本分类

    1.安装hugging face的transformers pip install transformers 2.下载相关文件 字表: wget http://52.216.242.246/model ...

  6. Java并发包之 CopyOnWriteArrayList

    大家在学习Java的过程中,或者工作中,始终都绕不开集合.在单线程环境下,ArrayList就可以满足要求.多线程时,我们可以使用CopyOnWriteArrayList来保证数据安全.下面我们一起来 ...

  7. 图解JanusGraph系列 - 关于JanusGraph图数据批量快速导入的方案和想法(bulk load data)

    大家好,我是洋仔,JanusGraph图解系列文章,实时更新~ 图数据库文章总目录: 整理所有图相关文章,请移步(超链):图数据库系列-文章总目录 源码分析相关可查看github(码文不易,求个sta ...

  8. (第一篇)记一次python分布式web开发(利用docker)

    作者:落阳 日期:2020-12-23 在一次项目开发中,决定使用docker+nginx+flask+mysql的技术栈来开发,用此系列文章记录开发的过程. 系列文章,当前为第一篇,记录一次pyth ...

  9. MySQL 触发器、存储过程 练习

    创建表并插入数据: ```        字段名 数据类型 主键 外键 非空 唯一 自增        id INT    是 否 是  是 否        name VARCHAR(50) 否 否 ...

  10. 3.自定义view-TextView变色

    1.效果 2.实现原理 自定义Textview,重写onDraw方法,将画布分成两部分,用不同颜色的画笔画 核心代码: @Override protected void onDraw(Canvas c ...