HTTP协议

HTTP协议

    Hyper Text transfer Protocol(超文本传输协议),用于万维网服务器传输超文本到本地浏览器的传送协议。HTTP协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80。HTTP是基于请求与响应模式的、无状态的、应用层的协议 

完整的HTTP协议包含请求和响应俩块内容


完整的HTTP协议

1、HTTP请求报文

    http请求报文主要由请求行、请求头、空一行、请求正文4部分组成


请求报文格式


请求详情

(1)请求方法(Request Method)——使用什么方式来处理这次请求。

常用的四种请求方式
1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。

2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。

3、POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。

4、DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作。

    就像前面所讲的一样,既然PUT和POST操作都是向服务器端发送数据的,那么两者有什么区别呢。。。POST主要作用在一个集合资源之上的(url),而PUT主要作用在一个具体资源之上的(url/xxx),通俗一下讲就是,如URL可以在客户端确定,那么可使用PUT,否则用POST。

综上所述,我们可理解为以下:

1、POST /url 创建

 2、DELETE /url/xxx 删除 

3、PUT /url/xxx 更新

4、GET /url/xxx 

查看 Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是统一资源定位符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。

不常用的请求方式:

Head:获取响应头

OPTIONS:允许客户端查看服务器的性能

TRACE:回显服务器收到的请求,用于测试或诊断

connect:connect的作用就是将服务器作为代理,让服务器代替用户去访问其他网页(说白了,就是翻墙),之后将数据返回给用户。

(2)URL(Uniform Resource Locator):统一资源定位符——用于表述网上的资源

    格式:schema://host[:port#]/path/.../[?query-string]

        ·scheme:协议,如http、https、ftp等

        ·host:域名或者IP地址

        ·port:端口

        ·path:资源路径

        ·query-string:发送的参数

例:https://www.baidu.com/s?wd=西安欧亚学院

(3)请求头(Request Header)


请求头

                    其中    Accept、Authorization、Cookie、Content-Tpye比较重要

2、HTTP响应报文

    HTTP响应报文主要由状态行、信息报头、空一行、响应正文4部分组成

响应报文


响应报文详情

(1)状态码(Status Code)——用以表示网页服务器HTTP响应状态的3位数字代码


常见状态码

(2)响应头(Response Header)


响应头
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。