什么是http?

HTTP 全称是 HyperText Transfer Protocol,即:超文本传输协议,从 1990 年开始就在 WWW 上广泛应用,是现今在 WWW 上应用最多的协议,HTTP 是应用层协议,当你上网浏览网页的时候,浏览器和 web 服务器之间就会通过 HTTP 在 Internet 上进行数据的发送和接收。HTTP 是一个基于请求/响应模式的、无状态的协议。

http请求方法:

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

HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。

HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

  • GET:向指定的资源发出“显示”请求,使用 GET 方法应该只用在读取数据上,而不应该用于产生“副作用”的操作中。
  • HEAD:类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头。
  • POST:指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求文本中。这个请求可能会创建新的资源或者修改现有资源,或两者皆有。
  • PUT:从客户端向服务器传送的数据取代指定的文档的内容。
  • DELETE:请求服务器删除 Request-URI 所标识的资源。
  • OPTIONS:使服务器传回该资源所支持的所有HTTP请求方法。用*来代替资源名称,向 Web 服务器发送 OPTIONS 请求,可以测试服务器功能是否正常运作。
  • TRACE:回显服务器收到的请求,主要用于测试或诊断。
  • PTATCH:是对 PUT 方法的补充,用来对已知资源进行局部更新 。
  • CONNECT:HTTP/1.1 中预留给能够将连接改为通道方式的代理服务器。通常用于 SSL 加密服务器的链接(经由非加密的 HTTP 代理服务器)。

GET和POST请求的区别:

  • GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连。 POST方法是把提交的数据放在HTTP包的Body中。
  • GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制。
  • GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
  • GET请求会被浏览器主动cach,而POST不会,除非手动设置。
  • 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
  • GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
  • GET产生一个TCP数据包;POST产生两个TCP数据包。(但有些浏览器下post产生一个数据包)
  • GET请求时幂等的,POST请求是不幂等的。(HTTP方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用)。
  • 但GET和POST本质上并没有差别。具体可见:

https://mp.weixin.qq.com/s?__biz=MzI3NzIzMzg3Mw==&mid=100000054&idx=1&sn=71f6c214f3833d9ca20b9f7dcd9d33e4#rd​mp.weixin.qq.com

http状态码

1XX:提示信息—表示请求已接收,继续处理。

2XX:成功,操作被成功接收并处理。

3XX:重定向,需要进一步的操作以完成请求。

4XX:客户端错误,请求包含语法错误或无法完成请求。

5XX:服务器错误,服务器在处理请求的过程中发生了错误。

常用状态码:

  • 100:继续。客户端应继续其请求。
  • 101:切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议。
  • 200:请求成功。一般用于GET与POST请求。
  • 204:表示请求成功,但响应报文不含实体的主体部分。
  • 301:永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替。
  • 302:临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI。
  • 303:查看其它地址。与301类似。使用GET和POST请求查看。
  • 304:未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源。
  • 400:客户端请求的语法错误,服务器无法理解。
  • 403:服务器理解请求客户端的请求,但是拒绝执行此请求。
  • 404:服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面。
  • 405:客户端请求中的方法被禁止。
  • 500:服务器内部错误,无法完成请求。
  • 502:作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应。
  • 503:由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中。
  • 504:充当网关或代理的服务器,未及时从远端服务器获取请求。

HTTP 消息结构

客户端请求消息:

客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。

实例:

GET /hello.txt HTTP/1.1
User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.com
Accept-Language: en, mi

服务器响应消息:

HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

实例:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain

HTTP首部

《图解HTTP》——HTTP首部。

什么是HTTPS

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

HTTP和HTTPS的区别

  • HTTPS更加安全,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比HTTP协议的信息明文传输安全。
  • HTTPS 需要到 CA 申请证书,一般免费证书很少,需要交费。
  • 端口号不同:HTTP默认端口号80,HTTPS默认端口号443。
  • 状态不同:HTTP的连接很简单,是无状态的。而HTTPS协议是SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比HTTP协议安全;

http get 消息的作用是什么?_http基础知识相关推荐

  1. 问号在c语言里面的作用,问号的作用是什么-写作基础知识

    问号的作用是什么-写作基础知识 导语:问号,作为一个常见的标点符号,适用于中文和英文,应用于表示疑问,反问或者设问的句子.下面是小编为您收集整理的资料,希望对您有所帮助. 问号的基本用法 1.疑问句末 ...

  2. pdcp层的作用_【LTE基础知识】PDCP子层协议概述

    PDCP层功能 LTE系统PDCP协议层的主要目的是发送或接收对等PDCP实体的分组数据.该子层主要完成以下几方面的功能:IP包头压缩与解压缩.数据与信令的加密,以及信令的完整性保护.下图给出了PDC ...

  3. python classmethod知识_python基础知识讲解——@classmethod和@staticmethod的作用

    python基础知识讲解--@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...

  4. 计算机网络相关知识 参考博客 子网掩码怎么理解 网关及网关的作用 路由器基础知识详解

    子网掩码怎么理解 https://blog.csdn.net/farmwang/article/details/64132723 网关及网关的作用 https://blog.csdn.net/zhao ...

  5. IM开发基础知识补课(五):通俗易懂,正确理解并用好MQ消息队列

    1.引言 消息是互联网信息的一种表现形式,是人利用计算机进行信息传递的有效载体,比如即时通讯网坛友最熟悉的即时通讯消息就是其具体的表现形式之一. 消息从发送者到接收者的典型传递方式有两种: 1)一种我 ...

  6. c语言中return的作用_C语言入门基础整理

    学习计算机技术,C语言可以说是必备的,他已经成为现在计算机行业人学习必备的,而且应用也是十分的广泛,今天就来看看拥有几年c语言工作经验的大神整理的C语言入门基础知识,没有学不会,只有不肯学. 结构化程 ...

  7. 51单片机中断的调用寄存器组(PSW)的作用,以及汇编堆栈的作用,堆栈指针的SP的使用方法,RAM的运行和ROM在单片机具体运行和C语言的优势和中断,定时器基础知识(上)

    一,堆栈在汇编的作用,以及PUSH ACC 和 PUSH PSW 通过最简单的8051单片机RAM的分配可知,单片机从烧程序到达到一定的工作过程.首先明白为什么要引如"烧"写的过程 ...

  8. wcf 基础知识 之 消息交换模式 response/reply oneway deplex

    wcf支持请求-回复(response-reply).单工(oneway)以及双工(duplex)三种消息交换模式.今天我们来说一下第一种消息交换模式--请求--回复,请注意这里是消息交换模式. 请求 ...

  9. Vue学习之--------消息订阅和发布、基础知识和实战应用(2022/8/24)

    文章目录 1.基础知识 2.代码实例 2.1 main.js 2.2 School.vue 2.3 Student.vue 2.4 App.vue 3.全局事件总线通信改为消息的订阅和发布 3.1 核 ...

最新文章

  1. Windows自带Android模拟器启动失败
  2. Dubbo注册中心宕机
  3. oracle 日志写满,Oracle归档日志写满错误解决方法
  4. Go websocket
  5. mfc编程 孙鑫_孙鑫VC++视频教程笔记-(3)MFC程序框架的剖析 附1-SDI程序流程图
  6. 云服务已一步一步“入侵”我们生活
  7. 商务部回应中兴被罚:坚决反对美国用国内法制裁中企
  8. linux uwsgi 非root,ubuntu-除非root用户,否则uWSGI Emperor权限被拒...
  9. Nginx 禁止国外 IP 访问网站
  10. FineReport学习(一)——常用操作介绍
  11. selenium无头浏览器
  12. YOLO算法发展史 v1 v2 v3
  13. MATLAB实现三边定位
  14. Win10访问Linux分区
  15. 论文参考文献格式与设置
  16. Java抓取网页图片
  17. c# iot .net6 树莓派+RS485串口工业级光照度传感器 代码实例
  18. NGUI-动画Tween
  19. python3 已知两点坐标算角度
  20. Tungsten Fabric知识库丨vRouter内部运行探秘

热门文章

  1. mysql数据库维护_维护MySQL数据库表
  2. PHP远程连接MYSQL数据库非常慢的解决方法
  3. 【RK3399Pro学习笔记】九、ROS客户端Client的编程实现
  4. Java 高级类(下) —— 内部类和匿名类
  5. Windows SDK笔记(三):定制控件消息处理函数
  6. element 增加自由验证
  7. React开发(203):react代码分割之React.lazy
  8. 前端学习(3315):UI提取
  9. 前端学习(2915):数据绑定
  10. [html] HTML全局属性(global attribute)有哪些(包含H5)?