谈谈你对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 //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
谈谈你对http的理解的更多相关文章
- 谈谈嵌套for循环的理解
谈谈嵌套for循环的理解 说for的嵌套,先说一下一个for循环的是怎么用的. 这次的目的是为了用for循环输出一个乘法口诀表,一下就是我的一步步理解. 一. 语法: ...
- JVM(一),谈谈你对java的理解
一.谈谈你对java的理解 1.Java特性 (1)平台无关性 一次编译到处运行 (2)GC 垃圾回收机制 (3)语言特性 泛型-反射机制-lambda表达式 (4)面向对象 面向对象语言-三大特性( ...
- 【面试普通人VS高手系列】谈谈你对AQS的理解
AQS是AbstractQueuedSynchronizer的简称,是并发编程中比较核心的组件. 在很多大厂的面试中,面试官对于并发编程的考核要求相对较高,简单来说,如果你不懂并发编程,那么你很难通过 ...
- 【Java面试】面试遇到宽泛的问题,这么回答就稳了,谈谈你对Redis的理解
"谈谈你对Redis的理解"! 面试的时候遇到这类比较宽泛的问题,是不是很抓狂? 是不是不知道从何开始说起? 没关系,今天我用3分钟教你怎么回答. 大家好,我是Mic,一个工作了1 ...
- 谈谈对Spring IOC的理解(转)
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
- 谈谈对Spring IOC的理解
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
- Spring系列之谈谈对Spring IOC的理解
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IOC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
- 谈谈对Spring IOC的理解【转】
学习过Spring框架的人 一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大 ...
- 谈谈对Spring IOC的理解(转载)
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
- 《Java核心技术36讲》阅读笔记:谈谈对Java平台的理解笔记
1. 谈谈你对Java平台的理解. Java是一种面向对象的语言,最显著的特性有两个方面: 一个就是一次编译,到处运行(Write once, run anywhere),能够非常容易的获得跨平台能力 ...
随机推荐
- h5新增标签兼容性
<address> 标签定义文档或文章的作者/拥有者的联系信息. 兼容所有浏览器 <area> 标签定义图像映射中的区域(注:图像映射指得是带有可点击区域的图像).兼容所有浏 ...
- 34-Ajax辅助方法
Ajax是Asynchronous JavaScript and XML的缩写,是目前非常热门的网页开发技术之一,利用Ajax开发技术可以帮助网站减少切换页面的机会.加快网页响应速度.降低网络下载流量 ...
- selenium+python笔记1
#!/usr/bin/env python # -*- coding: utf-8 -*- """@desc: 讲讲web项目中常用的方法属性 webdriver 提供了 ...
- robotframework笔记21
创建输出 当执行测试,创建多个输出文件和所有的 都以某种方式相关测试结果. 本节讨论什么 输出创建.如何配置创建,以及如何 调整他们的内容. 不同的输出文件 本节解释了不同可以创建和输出文件 如何配置 ...
- arcgis API for javascript 学习笔记
ArcGis Server地图是缓存的,意味着它有服务器管理员简历提示性能的一组预先渲染的切片.由于这个原因地图通过ArcGISTiledMapServiceLayer表示 如果地图服务没有一个可用的 ...
- CSS水平居中和垂直居中解决方案
一.CSS 居中 — 水平居中 DIV等标签本身没有定义自己居中的属性,网上很多的方法都是介绍用上级的text-align: center,然后嵌套一层DIV来解决问题. 可是这个方法有时候完全不起作 ...
- [译]Quartz 框架 教程(中文版)2.2.x 之第一课 开始使用Quartz框架
第一课:开始使用Quartz框架 在你使用调度器之前,需要借助一些具体的例子去理解(谁愿意只是猜啊?).你可以使用SchedulerFactory类来达到程序调度的目的.有一些Quartz框架的用户可 ...
- 转载 jQuery validation
之前做客户端验证感觉自己javascript 不行,虽然能写出来一完整的验证,但从不自信,一直觉得客户端验证是比较繁琐的事情,但是又不能不做,只到最开始接触ajax ,遇到了一个jQuery vali ...
- PHP换行符详解 PHP_EOL,<br />
1.PHP_EOL:用于文本的换行符,经常用于日志文件记录.可以解决: 在windows中\r\n是换行在Mac中\r是换行在Liunx中\n是换行 不统一的问题. 2. <br /> : ...
- Log4J实用配置指南
转自:http://www.cnblogs.com/licheng/archive/2008/08/23/1274566.html 1 概述 本文档是针对Log4j日志工具的使用指南. ...