热门课程

免费试听

上课方式

开班时间

当前位置: 首页 -   文章 -   新闻动态 -   正文

知了堂_HTTP传输协议详细课程(二)

知了堂姐
2024-07-09 11:12:24
0

HTTP的请求方法

 

1.    GET

向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据,而不应当被用于产生“副作用”的操作中。

 

2.    HEAD

DEAD方法与GET方法一样,都是向服务器发出指定资源的请求。但是HEAD方法请求时:服务器将不传回资源的本文部分。这样的优点是:可以在不必传输全部内容的情况下,就可以获取其中“关于该资源的信息”(元信息或称元数据)。

 

3.    POST

向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。这个请求可能会创建新的资源或修改现有资源,或二者皆有。

 

4.    PUT

向指定资源位置上传其最新内容。

 

5.    DELETE

请求服务器删除Request-URI所标识的资源。

 

6.    TRACE

回显服务器收到的请求,主要用于测试或诊断。

 

7.    OPTIONS

Options方法可使服务器传回该资源所支持的所有HTTP请求方法。用'*'来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作。

 

8.    CONNECT

Connect方法是HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。通常用于SSL加密服务器的链接(经由非加密的HTTP代理服务器)。

扩展:GET和POST请求的区别

1.    请求提交

l GET提交,请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,多个参数用&连接;

l POST提交:把提交的数据放置在是HTTP包的包体中。上文示例中红色字体标明的就是实际的传输数据。

 

2.    传输数据大小

l 首先声明:HTTP协议没有对传输的数据大小进行限制,HTTP协议规范也没有对URL长度进行限制。

l GET:传输数据就会受到URL长度的限制,特定浏览器和服务器对URL长度有限制。

l POST:由于不是通过URL传值,理论上数据不受 限。但实际各个WEB服务器会规定对post提交数据大小进行限制,Apache、IIS6都有各自的配置。

 

3.    安全性

POST的安全性要比GET的安全性高。比如:通过GET提交数据,用户名和密码将明文出现在URL上,因为(1)登录页面有可能被浏览器缓存;(2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-site request forgery攻击。

 

4.    变量取值

l GET方式需要使用Request.QueryString来取得变量的值;

l POST方式通过Request.Form来获取变量的值。

 

HTTP状态码

 

1.    简介

 

状态码是用以表示网页服务器超文本传输协议响应状态的3位数字代码。

 

2.    状态码含义

 

状态代码的第一个数字代表当前响应的类型:

l 1xx消息——请求已被服务器接收,继续处理

l 2xx成功——请求已成功被服务器接收、理解、并接受

l 3xx重定向——需要后续操作才能完成这一请求

l 4xx请求错误——请求含有词法错误或者无法被执行

l 5xx服务器错误——服务器在处理某个正确请求时发生错误

 

3.    常见状态码

 

(1)2xx--成功--(3种)

 

l 200 OK:表示从客户端发送给服务器的请求被正常处理并返回;

l 204 No Content:表示客户端发送给客户端的请求得到了成功处理,但在返回的响应报文中不含实体的主体部分(没有资源可以返回);

l 206 Patial Content:表示客户端进行了范围请求,并且服务器成功执行了这部分的GET请求,响应报文中包含由Content-Range指定范围的实体内容。

 

(2)3xx--重定向--(5种)

 

l 301 Moved Permanently:永久性重定向,表示请求的资源被分配了新的URL,之后应使用更改的URL;

l 302 Found:临时性重定向,表示请求的资源被分配了新的URL,希望本次访问使用新的URL;

² 301与302的区别:前者是永久移动,后者是临时移动(之后可能还会更改URL)

l 303 See Other:表示请求的资源被分配了新的URL,应使用GET方法定向获取请求的资源;

² 302与303的区别:后者明确表示客户端应当采用GET方式获取资源

l 304 Not Modified:表示客户端发送附带条件(是指采用GET方法的请求报文中包含if-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since中任一首部)的请求时,服务器端允许访问资源,但是请求为满足条件的情况下返回改状态码;

l 305 Use Proxy:使用代理。所请求的资源必须通过代理访问

l 306 Unused:已经被废弃的HTTP状态码

l 307 Temporary Redirect:临时重定向,与303有着相同的含义,307会遵照浏览器标准不会从POST变成GET;(不同浏览器可能会出现不同的情况);

 

(3)4xx--客户端错误--(4种)

 

l 400 Bad Request:表示请求报文中存在语法错误;

l 401 Unauthorized:未经许可,需要通过HTTP认证;

l 403 Forbidden:服务器拒绝该次访问(访问权限出现问题)

l 404 Not Found:表示服务器上无法找到请求的资源,除此之外,也可以在服务器拒绝请求但不想给拒绝原因时使用;

l 405 Method Not Allowed 客户端请求中的方法被禁止

l 406 Not Acceptable  服务器无法根据客户端请求的内容特性完成请求

l 407 Proxy Authentication Required      请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权

l 408 Request Time-out     服务器等待客户端发送的请求时间过长,超时

l 409 Conflict 服务器完成客户端的 PUT 请求时可能返回此代码,服务器处理请求时发生了冲突

l 410 Gone     客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置

l 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息

l 412 Precondition Failed   客户端请求信息的先决条件错误

l 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息

l 414 Request-URI Too Large     请求的URI过长(URI通常为网址),服务器无法处理

l 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式

l 416 Requested range not satisfiable    客户端请求的范围无效

l 417 Expectation Failed    服务器无法满足Expect的请求头信息

 

(4)5xx--服务器错误--(5种)

 

l 500 Inter Server Error:表示服务器在执行请求时发生了错误,也有可能是web应用存在的bug或某些临时的错误时;

l 503 Server Unavailable:表示服务器暂时处于超负载或正在进行停机维护,无法处理请求;

504

Gateway Time-out

充当网关或代理的服务器,未及时从远端服务器获取请求

505

HTTP Version not supported

服务器不支持请求的HTTP协议的版本,无法完成处理

 
大家都在看

官宣!知了堂VIP/SVIP课程全面升级

2024-07-09 浏览次数:0

网络运维工程师面试常问的问题有哪些?常见面试问题...

2024-07-09 浏览次数:0

2021UI设计前景如何?现在转行UI设计来得及...

2024-07-09 浏览次数:0

干货|都2019年了,你还不会用Git?

2024-07-09 浏览次数:0

培训java出来后能进头部互联网公司吗?

2024-07-09 浏览次数:0

成都知了堂Java培训怎么样?

2024-07-09 浏览次数:0
最新资讯
提灯引梦,汇智知了堂班主任的一...   大家好,我是知了姐。  之前推文中为大家介绍过知了堂“督导老师”这一角色,随着教师节临近,这期我...
知了堂CISP-PTE班学员顺...   网络安全领域中有两个常见的术语,红队与蓝队,它们既代表安全行业里的专业岗位,同时也用来描述攻击者...
跨站脚本攻击的方法和手段:探索...   随着网络的普及和深入到我们生活的各个方面,网络安全问题变得越来越重要。其中,跨站脚本攻击(Cro...
成都IT培训学校哪一个好点?成...   成都,这座科技日新月异、发展迅速的城市,吸引了大批有志于投身IT行业的青年才俊。他们渴望学习最前...
成都Java开发前景怎么样?成...   随着科技的不断发展,Java作为一种流行的编程语言,被广泛应用于软件开发和数据分析等领域,成为了...
如何寻找合适的IT培训班?报名...   随着科技的迅速发展,越来越多的人选择通过参加IT培训班来提升自己的技能和竞争力。然而,面对众多的...
没有基础可以学JAVA吗?成都...   随着数字化时代的快速发展,Java作为一种流行的编程语言,已经成为了IT行业的必备技能。许多初学...
Java速成班上课有用吗?成都...   随着信息技术的迅速发展,Java作为一种流行的编程语言,被广泛应用于各种软件开发项目中。许多人都...