谈谈你对http的理解

一、先看一张图:

二、要client与sever能沟通

1.需要一样的规则,遵循一定的规范-----------协议

好比:不同国家的人,需要一门通用的语言。

2.谈到协议------http-------为什么要学的是http协议,而不是其他的:因为BS架构中,它是一个标准协议。

3.http是如何通信的:(4个步骤)

(1).浏览器,根据IP地址和端口号(主机域名)与服务器,建立连接。

【好比:A要给B发邮件,A需要知道了B的邮箱地址啊】

(2)向web服务器发送请求数据包

【好比:A给B发的邮件的内容】

(3).web接受请求,并发送相应的响应数据包

【好比:B收到A的邮件,B做出回应,比如给A回复邮件】

(4)浏览器收到响应以后,服务器关闭连接

(注意:每一次访问都是独立的,而且服务器不会记忆上一次是那个客户端请求的。)

【好比:B回复以后就删除了A发来的邮件,并关闭邮箱】

4.谈到通信的步骤àURL------发请求------响应请求

(一)

(1)URL: UniformResourceLocator(统一资源定位符),网页地址。

URL的格式:http://host[“:”port][abs_path]   https://host[“:”port][abs_path]

(2) URI:Uniform Resource Identifier(标识、定位任何资源的字符串)

(二) 发请求

请求数据包包括(4部分):请请求行,消息报头,空行,请求内容。

请求行:

格式: Method Request-URI HTTP-Version (空格分开)

Method表示请求方法

Request-URI是一个统一资源标识符

HTTP-Version表示请求的HTTP协议版本

(1)   Method请求方法有多种:

GET:  常用。

在浏览器的地址栏中输入网址的方式访问网页。

安全系数低。

POST:常用于表单的提交,用于登陆注册界面。

该方法要求被请求服务器接受附在请求后面的数据。

比如:www.baidu.com/?name=ouyang&age=18[o1]

相对安全。

HEAD: 与GET方法几乎是一样的

(HEAD请求的回应部分的HTTP头部中包含的信息与通过GET请求所得到的信息是相同的。利用这个方法,不必传输整个资源内容,就可以得到Request-URI所标识的资源的信息。)

常用于测试超链接的有效性,是否可以访问,以及最近是否更新。

(三) 响应请求

1.在接收和解释请求消息后,服务器返回一个HTTP响应消息

2.HTTP响应也是由四个部分组成,分别是:状态行、消息报头、空行、响应内容

状态行格式如下:

HTTP-Version Status-Code Reason-Phrase CRLF

例子:HTTP/1.1  200  OK (CRLF)

**:

1xx:指示信息--表示请求已接收,继续处理

2xx:成功--表示请求已被成功接收、理解、接受

200代表 客户端请求成功

3xx:重定向--要完成请求必须进行更进一步的操作

4xx:客户端错误--请求有语法错误或请求无法实现

400 Bad Request  客户端请求有语法错误,不能被服务器所理解

401 Unauthorized 请求未经授权

403 Forbidden  服务器收到请求,但是拒绝提供服务

404 Not Found  请求资源不存在

5xx:服务器端错误--服务器未能实现合法的请求

503 Server Unavailable  //服务器当前不能处理客户端的请求,一段时间后可能恢复正常


[o1]

第一个参数用“?”

第一个参数用“&”

时间: 2024-08-09 00:10:03

谈谈你对http的理解的相关文章

谈谈对CAP定理的理解

谈谈对CAP定理的理解 CAP定理的常规解释是任何分布式系统只能在一致性(Consitency),可用性(Availability)和分区容忍性(Partition Tolerance)中三选二.这个解释很让人费解,笔者在看了一些文章后谈谈我对它的理解,还请斧正. 从问题出发 假设我们用一台服务器A对外提供存储服务,为了避免这台服务器宕机导致服务不可用,我们又在另外一台服务器B上运行了同样的存储服务.每次用户在往服务器A写入数据的时候,A都往服务器B上写一份,然后再返回客户端.一切都运行得很好,

1.3 谈谈你对MVC的理解

1.谈谈你对MVC的理解 MVC是Model—View—Controler的简称.即模型—视图—控制器.MVC是一种设计模式,它强制性的把应用程序的输入.处理和输出分开. MVC中的模型.视图.控制器它们分别担负着不同的任务. 视图: 视图是用户看到并与之交互的界面.视图向用户显示相关的数据,并接受用户的输入.视图不进行任何业务逻辑处理. 模型: 模型表示业务数据和业务处理.相当于JavaBean.一个模型能为多个视图提供数据.这提高了应用程序的重用性 控制器: 当用户单击Web页面中的提交按钮

上网搜关于缓存的内容,谈谈你对缓存的理解看法。并回答在网站开发中使用缓存有哪些好处?

缓存的英文是cache,一般是用于RAM存储器,用于存储临时数据,断电后存储的内容会消失.缓存是临时文件交换区,电脑把最常用的文件从存储器里提出来临时放在缓存里,就像把工具和材料搬上工作台一样,这样会比用时现去仓库取更方便.因为缓存往往使用的是RAM(断电即掉的非永久储存),所以在忙完后还是会把文件送到硬盘等存储器里永久存储.电脑里最大的缓存就是内存条了,最快的是CPU上镶的L1和L2缓存,显卡的显存是给GPU用的缓存,硬盘上也有16M或者32M的缓存.千万不能把缓存理解成一个东西,它是一种处理

谈谈嵌套for循环的理解

谈谈嵌套for循环的理解     说for的嵌套,先说一下一个for循环的是怎么用的.      这次的目的是为了用for循环输出一个乘法口诀表,一下就是我的一步步理解.    一.   语法:            for(表达式1;表达式2;表达式3){                java语句;            }                表达式1是初始化表达式,最先执行,只执行一次.        表达式2必须是boolean类型的表达式.        for循环开始执行

谈谈对zynq的浅显理解

zynq并不能说是一个嵌入arm核的FPGA.从它的启动过程就可以发现,绝对是arm主导的,所以称它为以高性能FPGA为外设的双核arm或许更为合适.以下是优势: 第一个:开发环境的大集成.从hls到vivado到sdk,对于一个不熟悉FPGA的嵌入式软件工程师来说,完全可以把它当做简单的双核ARM,使用例程中搭建好的硬件环境,在sdk中开发.软件调试后发现某些算法太慢,速度上不去,可以用hls把这部分进行优化,由工具直接生成电路,甩到vivado中.一般情况下快个一二十倍是没问题的.所以,整个

谈谈我对dubbo的理解(每个阶段理解不同,会持续跟新)

2019-07-26 初学阶段 对dubbo有一个基础的认识,是一个提供了远程调用的框架. 远程调用是以接口作为契约的,接口规定了方法签名,(尽量按值传递,不要传行为作为参数). 利用了zookeeper作为服务注册发现中心,这里不谈zookeeper的优缺点,假设是完美的.(enreka) 消费端根据接口名从zookeeper那获取到所有提供该服务的地址列表,根据设定的LB策略请求,(ribbon) 请求还会设置并行数和超时时间以达到服务降级,防止服务雪崩的目的,(最好还是能做到方法级别的隔离

谈谈对Spring IOC的理解(转)

学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解. 一.分享Iteye的开涛对Ioc的精彩讲解 首先要分享的是Iteye的开涛这位技术牛人对Spring框架的IOC的理解,写得非常通俗易懂,以下内容全部来自原文,原文地址:http://jinniansh

Spring系列之谈谈对Spring IOC的理解

学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IOC .DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解. 一.分享Iteye的开涛对Ioc的精彩讲解首先要分享的是Iteye的开涛这位技术牛人对Spring框架的IOC的理解,写得非常通俗易懂,以下内容全部来自原文 1.1.IoC是什么 Ioc—Inversi

谈谈对Spring IOC的理解

学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解. 一.分享Iteye的开涛对Ioc的精彩讲解 首先要分享的是Iteye的开涛这位技术牛人对Spring框架的IOC的理解,写得非常通俗易懂,以下内容全部来自原文,原文地址:http://jinniansh

谈谈对Spring IOC的理解【转】

学习过Spring框架的人 一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解. 一.分享Iteye的开涛对Ioc的精彩讲解 首先要分享的是Iteye的开涛这位技术牛人对Spring框架的IOC的理解,写得非常通俗易懂,以下内容全部来自原文,原文地址:http://jinnians