一、先看一张图:

二、要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]

第一个参数用“?”

第一个参数用“&”

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

  1. 谈谈嵌套for循环的理解

    谈谈嵌套for循环的理解     说for的嵌套,先说一下一个for循环的是怎么用的.      这次的目的是为了用for循环输出一个乘法口诀表,一下就是我的一步步理解.    一.   语法:   ...

  2. JVM(一),谈谈你对java的理解

    一.谈谈你对java的理解 1.Java特性 (1)平台无关性 一次编译到处运行 (2)GC 垃圾回收机制 (3)语言特性 泛型-反射机制-lambda表达式 (4)面向对象 面向对象语言-三大特性( ...

  3. 【面试普通人VS高手系列】谈谈你对AQS的理解

    AQS是AbstractQueuedSynchronizer的简称,是并发编程中比较核心的组件. 在很多大厂的面试中,面试官对于并发编程的考核要求相对较高,简单来说,如果你不懂并发编程,那么你很难通过 ...

  4. 【Java面试】面试遇到宽泛的问题,这么回答就稳了,谈谈你对Redis的理解

    "谈谈你对Redis的理解"! 面试的时候遇到这类比较宽泛的问题,是不是很抓狂? 是不是不知道从何开始说起? 没关系,今天我用3分钟教你怎么回答. 大家好,我是Mic,一个工作了1 ...

  5. 谈谈对Spring IOC的理解(转)

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...

  6. 谈谈对Spring IOC的理解

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...

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

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IOC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...

  8. 谈谈对Spring IOC的理解【转】

    学习过Spring框架的人 一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大 ...

  9. 谈谈对Spring IOC的理解(转载)

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...

  10. 《Java核心技术36讲》阅读笔记:谈谈对Java平台的理解笔记

    1. 谈谈你对Java平台的理解. Java是一种面向对象的语言,最显著的特性有两个方面: 一个就是一次编译,到处运行(Write once, run anywhere),能够非常容易的获得跨平台能力 ...

随机推荐

  1. CFX客户端调用报错

    Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Unmarshalling Error: unex ...

  2. WinForm应用程序之注册模块的设计与实现

    Posted on 2012-11-13 10:21 星星之火116 阅读(3260) 评论(4) 编辑 收藏 我们在安装一些桌面应用程序的时候,往往在会有提示当前用户使用的是试用版,要进行注册.刚好 ...

  3. python3.x随手笔记2

    对象,价值观和类型 对象 Python的抽象的数据. 所有的数据在一个Python程序 表示对象或对象之间的关系. (在某种意义上,在 符合冯诺依曼模型的代码也“存储程序计算机” 由对象.) 每一个对 ...

  4. robotframework笔记4

    机器人框架概述   机器人框架是一个通用的开源的自动化测试框架 验收测试和验收测试驱动开发(ATDD).它具有易于使用的表格的测试数据 语法采用关键字驱动 测试方法.其检测能力可以通过测试库 用Pyt ...

  5. Access中多表内联的SQL写法

    在Access中多表内联,可以使用传统的where条件逐行筛选,如: SELECT SNAME,CNAME,DEGREE FROM STUDENT,COURSE,SCORE where student ...

  6. 南阳OJ----Binary String Matching

    Binary String Matching 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 Given two strings A and B, whose alp ...

  7. 5. Longest Palindromic Substring -- 最长回文字串

    Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...

  8. jquery改变元素的值的函数text(),html(),val()

    text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标记) val() - 设置或返回表单字段的值,适合于标签中有value属性的标签. 代码: ...

  9. Mahout推荐算法基础

    转载自(http://www.geek521.com/?p=1423) Mahout推荐算法分为以下几大类 GenericUserBasedRecommender 算法: 1.基于用户的相似度 2.相 ...

  10. Caffe 深度学习框架介绍

    转自:http://suanfazu.com/t/caffe/281 Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清,目前在Google工作. Caffe是 ...