HTTP协议基本知识以及个人工作中的遇到的状态码

          大学时学过这些,但基本忘记了,最近面试有遇到这样的需求,所以有回头重新学习一下。

          HTTP协议是Hyper Text Transfer Protocol的缩写,又称为超文本传输协议。从名字中就可以看出,这是一种用于传输数据的协议。

          HTTP不是单独存在的,它基于TCP/IP通信协议来传递数据的,它工作于客户端-服务端架构之上。

           1.主要特点:

                    ~ 简单快速:客户发送请求是只需要传送请求方法和路径。(方法用来规定客户与服务器的联系类型

                        HTTP:1.0有三种方法:GET,POST,HEAD。

                        HTTP : 1.1 新增了五种请求方法:OPTIONS,PUT,DELETE,TRACE和COONNECT。

                    ~ 灵活:HTTP允许传输任意类型的数据对象(html文件,图片文件,查询结果等),传输类型由Content-Type标记。

                    ~ 无连接:含义:每次链接都有只处理一个请求的限制。服务器开始处理请求,收到客户应答后,立即断开连接。

                    ~ 无状态:含义:HTTP协议对事物处理没有记忆能力,这就意味这如果后序处理需要前面的信息,就需要重传,这就导致传输数据量增大。当然,也有好处,当服务器不需要先前信息是它的应答就比较快。

           2.工作原理:

                1-客户端链接服务器。

                2-发送HTTP请求。

                3-服务器接收请求并返回HTTP响应。 

                4-释放TCP链接。

                5-客户端浏览器解析HTML内容。

           3.GET与POST

                   1.提交: GET:请求的数据会放在URL后(以?分割,参数间用&链接

                                  POST:提交的数据会放在HTTP包的包体中。

                   2.传输数据大小: GET:理论上没有限制,取决去操作系统的支持以及浏览器是否会限制。

                                                POST:同上,但各个web服务器会对post提交数据的大小进行限制。

                   3. 安全性:由数据的提交方式就可以看出,GET的安全性要低于POST,用GET你的数据将会明文显示在URL中,如果你是登陆,那么用户名以及密码就很容易被他们获取(历史记录)。

                   4.获取变量的值:GET:用Request.QueryString来获取。

                                                POST:用Request.Form来获取。

               4.遇见状态码

                     ---遇见过:

                     ~ 200 (OK)表示客户端发来的请求被正常处理了。

                     ~ 304 (Not Modifled)资源已找到,但未符合条件要求。

                     ~ 400 (Bad Request )表示客户端请求有语法错误,不能被服务器理解。

                     ~ 404 (Not Found)服务器没有请求的资源。

                     ~ 500 (Intermal Server Error) 表示服务器发生不可预期的错误,无法完成客户端请求。

                       304-一般是你按条件查找,虽然查找了资源,但是不符合条件,可能条件写错,可以回头再检查一下。

                       400-之前遇到一次是因为请求还有空格会形成20%,导致此错误。

                       404-一般情况都是Url写错了。

                       500-就代表着爆炸了,当然也可能是服务器的问题。

                      ---还未遇见:

                       ~ 204(No Content)表示请求处理成功,但没有资源可以返回。

                       ~ 206 (Partial Content)对资源某一部分请求成功。

                       ~ 301 (Moved Permanently)表示请求的资源已被分配了新的URL。

                       ~ 302 (Fonud) 希望用户可以使用新的URL访问。

                       ~ 303 (See Other)表示客户端应用GET获取资源。

                       ~ 401 (UNauthorized)表示请求未经授权。

                       ~ 403   (Forbidden)服务器收到请求,但是拒绝服务,通常会说明原因。

                       ~ 503 (Service Unavailable)表示服务器当前不能处理客户端的请求,在一段时候后可能会恢复正常。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值