HTTP协议(Hyper Text Transfer Protocol,HTTP,全称为“超文本传输协议”)是客户端浏览器或者是其他的程序和Web服务器之间的应用层通信协议。它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。

  • HTTP 协议用于客户端和服务器端之间的通信

  • http协议是一种用来从WWW服务器传输超文本到本地浏览器的传送协议。

  • http协议能够使得浏览器更加的高效,使得网络传输减少。

  • http协议可以保证计算机正确快速的传输超文本文档,除此之外,还能够确定传输文档当中的哪一部分,以及哪部分内容首先显示等等。

Web 页面当然不能凭空显示出来。根据 Web 浏览器地址栏中指定的URL,Web 浏览器从 Web服务器端获取文件资源(resource)等信息,从而显示出 Web 页面。

像这种通过发送请求获取服务器资源的 Web 浏览器等,都可称为客户端(client)。

当我们访问一个网站的时候,可能涉及不止一次HTTP请求/响应的交互过程。

Q:http在osi七层模型中的哪一层? http在osi七层模型中的那一层除了http协议还有哪些协议?

A:http协议是属于osi七层模型中的应用层通信协议;应用层除了有http协议还有DNS协议(域名系统)、FTP协议(文件传输)、SMTP协议(电子邮件)Telnet协议(远程登录系统)、POP3协议(邮件读取协议)等

https和http的区别

  1. HTTP的连接很简单,明文传输,通过80端口连接

  1. HTTPS是由SSL+HTTP构建的可进行身份认证、加密传输的协议,相对更安全,通过443端口连接。

  1. HTTPS需要到证书颁发机构申请证书(SSL的专业证书需要购买,功能越是强大的证书费用越高。)

http报文分类

HTTP报文格式有两种类型,分别为请求报文和响应报文。请求报文是客户端发送给服务器端的,而响应报文是服务器端发送给客户端的。

请求报文

user-agent:该代理类型的对象版本

connection:Close 不使用持久连接

Accept-language:zh-cn 中文版本

请求报文的几种类型:

  1. GET:客户端向服务器端请求资源,(获得指定URL的数据)

  1. POST:把客户端的信息传送给服务器端(请求服务器接收URI指定文档作为可执行的信息)

  1. HEAD:服务器收到请求时,用HTTP报文进行响应,但不返回请求对象,主要用在通信的控制操作领域(仅获取文档首部)

  1. PUT:文件在实体主体中被上载到URL字段指定的路径(请求服务器保存客户端传送的数据到URI指定文档)

  1. DELETE:请求服务器删除URI指定页面

  1. TRACE:请求消息返回客户端

Get和Post的请求方法的区别

  1. get请求一般常见是获取数据(也可以提交);post一般则是提交数据

  1. get请求可以被缓存,但post请求则不会被缓存

  1. get请求在浏览器刷新或者回退的时候是无害的;post的话数据会被重新提交

  1. get请求只能进行URL编码(appliacation-x-www-form-urlencoded),post请求支持多种(multipart/form-data等)

  1. get请求会被保存在浏览器历史记录中也可以被收藏为标签,因为参数就在URL中;但post都不行

  1. get因为放在URL参数中,所有隐私性,安全性较差,请求的数据长度也是有限制的,不同浏览器和服务器不同,一般长度是在2-8k之间,也常见的是1k以内;但post请求没有数据长度限制,因为post通过request body传递参数,请求数据则是放在body中。

  1. get和post都是http请求方式, 底层都是 tcp/IP协议;通常get 产生一个 tcp 数据包;post产生两个 tcp 数据包(但firefox是发送一个数据包);也就是说对于get方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于post,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 OK(返回数据)。

响应报文

响应报文的结构:

  1. 状态行:版本、状态编码、短语

  1. 响应头主体:

  • 服务器类型或者是Web服务器版本

  • data就是时间

  • 类型

  • 不使用持久连接

  • 长度

  1. 回车换行

  1. 响应体(真正的数据)

响应报文的状态码

状态码是非常有用的一种参数,它向客户端传递了响应刚才HTTP请求报文的一些控制信息。

常见的状态码:
200-OK-服务器成功返回网页
404-Not Found-请求的网页不存在
503-Service Unavailable-服务器出错的返回状态
100-继续-请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分
101-切换协议-请求者已要求服务器切换协议,服务器已确认并准备切换
2xx 肯定应答
3xx 重定向请求
301-永久移动-针对请求,服务器可执行多种操作。服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择
302- 重定向-例如访问百度 结果跳转去京东
4xx 客户端请求内容出现错误
400-错误请求-服务器不理解请求的语法
403-禁止-服务器拒绝请求

什么是URL,URL由什么组成?

URL定义

在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络地址。URL正是使用 Web 浏览器等

访问 Web 页面时需要输入的网页地址

简单来说就是打开浏览器,地址栏上显示的网址,例如:

URL组成

一个完整的URL的组成由于:通信协议(scheme)、主机(host)、端口号(port)、路径(path)、查询(query)、信息片段(fragment)组成。

  1. scheme:通讯协议常用的通信协议http、ftp等

  1. host:主机、服务器(计算机)域名系统(DNS),主机名或IP地址

  1. port:端口号,整数,可选,省略时是默认端口,如http的默认端口是80

  1. path:路径,由零或多个‘/’隔开的字符串,一般用来表示主机上的一个目录或者文件地址

  1. query:查询,可选,用于给动态网页传递参数,可有多个参数,用‘&’号隔开,每个参数的名和值用‘=’号隔开。如:name=xzc

HTTP协议是什么?有什么作用?相关推荐

  1. Cisco二层交换机协议配置详细步骤和作用

    Cisco二层交换机协议配置详细步骤和作用 以下是常见的Cisco二层交换机协议配置详细步骤和作用: 配置VLAN • 进入全局配置模式:config terminal • 创建VLAN:vlan & ...

  2. BGP协议原理(一)BGP协议基本概念:BGP作用与特点、BGP邻居关系建立与配置

    文章目录 前提概念 AS ASN IGP与EGP BGP的基本概述 基本作用 BGP协议特点 BGP邻居关系和配置 建立TCP连接 BGP邻居类型 BGP简单邻居关系配置 报文类型 邻居关系的建立 前 ...

  3. TCP 协议标志位PSH的作用

    1. PSH 标志位 PSH 标志位TCP6个标志位中重要的一个标志.它的英文单词是 PUSH,表示"推"的意思. 了解它的作用需要首先了解缓冲区. 1.1 接收缓冲区和发送缓冲区 ...

  4. TCP/IP四层模型(协议簇)各层作用

    OSI七层模型是国际标准,分为七层,概念清晰,但却过于复杂,由此演变出了一个事实标准即TCP/IP四层模型,这个模型将应用层.表示层.会话层合并为一层应用层,将数据链路层.物理层合并为链路层. OSI ...

  5. SMTP简单邮件协议邮件的组成、作用及过程

    1.    电子邮件系统由哪几部分组成?各部分的主要作用是什么? 假设Bob(bob@ucla.edu)给Alice( alice@stanford.edu)写一封电子邮件,请描述从Bob写电子邮件到 ...

  6. HTTP 协议 Host 请求头的作用

    Host 是 HTTP 1.1 协议中新增的一个请求头,主要用来实现虚拟主机技术. 虚拟主机(virtual hosting)即共享主机(shared web hosting),可以利用虚拟技术把一台 ...

  7. 4-1:TCP协议之传输层的作用及传输层协议TCP和UDP

    文章目录 一:传输层的定义 二:通信处理 三:传输层协议 四:TCP协议的可靠和性能 一:传输层的定义 前面说过,IP首部有一个协议字段用于标识网络层(IP)的上一层采用哪一种传输层协议.根据这个字段 ...

  8. 协议在计算机网络有什么作用是什么意思,网络协议作用是什么

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 网络协议是网络上所有设备(网络服务器.计算机及交换机.路由器.防火墙等)之间通信规则的集合,它定义了通信时信息必须采用的格式和这些 ...

  9. tcp ip协议在计算机网络中有什么作用,我想问一下tcpip协议在internet中的作用是是什么?...

    尖山豪哥 回答数:105  |  被采纳数:0 2017-07-08 11:47:10 TCP/IP(TransmissionControlProtocol/InternetProtocol)的简写, ...

  10. PCIe协议在SoC中的作用

    下面介绍PCIe在SoC中是如何提高性能的,主要分为以下几个部分: PCIe协议的特点: PCIe设备的认识 PCIe的互联系统 PCIe高带宽低延迟的实现 PCIe对SoC系统性能的提升 一. PC ...

最新文章

  1. 看完这13张图,不得不佩服还是外国人会玩人工智能
  2. 看了就彻底明白人生!!!
  3. php ci_controller,php – CodeIgniter 2:如何多次扩展CI_Controller?
  4. Java 线程池的复用原理
  5. Linux安装PHP环境LNMP
  6. PCB设计常见的有那些问题
  7. NumPy库---二元函数
  8. 读书印记 - 《我们人类的基因:全人类的历史和未来》
  9. uva 12307 - Smallest Enclosing Rectangle(旋转卡壳)
  10. 统一网络存储NAS+SAN=FAS
  11. CSS3的癫疯展示——3D立方体动画(你要的全景视图来了)
  12. 初中作文计算机想象作文,初中想象作文600
  13. 听说,在巴别鸟评审文件特别快?
  14. Breeze's MapHack 1.0 正式版发布【修正版发布】
  15. 前端开发工程师必读书籍有哪些值得推荐?
  16. Manifest merger failed with multiple errors问题解决
  17. vs试用期延长期到期_VS2017试用期到期后登录微软账户出现错误解决方法
  18. 推荐一个好用的阅读插件
  19. DDR 器件高温环境失效分析
  20. 揭开木马的神秘面纱 1

热门文章

  1. 史上最快Android模拟器:Genymotion使用介绍
  2. 天猫店铺的种类,不同的天猫店铺有什么区别
  3. 滤镜CIFilter简单处理(模糊效果,旧色调处理)
  4. 如何适配刘海屏和水滴屏手机?
  5. python *args和**kwargs详解
  6. 空气净化器这根鸡肋还要啃多久?
  7. 403 Forbidden错误的原因和解决方法
  8. 关于nginx报403错误的常见几种情况的解决
  9. MarkDown学习笔记、语法 表格序号:41
  10. java基础题:使用if嵌套编写简易体脂计算器