文章为原创,转载请注明出处,欢迎评论。

来源:互联网 发布:兄弟连it教育论坛 编辑:程序博客网 时间:2024/05/19 06:36

http状态码


http状态码

1XX:表示可续发请求

100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息


2XX:表示成功

200 OK 正常返回信息

201 Created 请求成功并且服务器创建了新的资源

202 Accepted 服务器已接受请求,但尚未处理

206成功 执行了一个范围请求

 

3XX:表示重定向


301永久重定向,增加SEO排名,请求的网页已永久移动到新位置。

302临时重定向 禁止POST变为GET临时性重定向。

303临时性重定向,且总是使用 GET 请求新的 URI。

304判断是否要更新缓存 请求头部携带if-modified-since自从上次更新距这次多久(自从上次请求后,请求的网页未修改过。)

307临时重定向

4XX:表示客户端错误

* 400客户端语法错误(服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。)

* 401请求未经授权(请求未授权。)

* 403服务器拒绝服务(禁止访问。)

* 404请求资源不存在(找不到如何与 URI 相匹配的资源。)

5XX:服务端错误

* 500不可预期的错误(最常见的服务器端错误。)

* 503此时不能提供服务 稍后恢复正常(服务器端暂时无法处理请求(可能是过载或维护)。)

 

 

基于HTTP协议的客户端/服务器请求响应机制的信息交换过程包含下面几个步骤:

1)建立连接:客户端与服务器建立TCP连接 

2)发送请求:打开一个连接后,客户端把请求信息发送到服务器的相应端口上,完成请求动作提交。 

3)发送响应:服务器在处理完客户端请求之后,要向客户端发送响应消息。 

4) 关闭连接:客户端和服务器端都可以关闭套接字来结束TCP/IP对话。

请求过程:

输入域名(url)-->DNS映射为IP-->TCP三次握手-->HTTP请求-->HTTP响应-->(浏览器跟踪重定向地址)-->服务器处理请求-->服务器返回一个html响应-->(视情况决定释放TCP连接)-->客户端解析HTML-->获取嵌入在HTML中的对象重新发起http请求

URL组成详解:

URL样例http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name

1.协议部分:该URL的协议部分为“http:”,这代表网页使用的是HTTP协议。在Internet中可以使用多种协议,如HTTP,FTP等等本例中使用的是HTTP协议。在"HTTP"后面的“//”为分隔符

2.域名部分:该URL的域名部分为“www.aspxfans.com”。一个URL中,也可以使用IP地址作为域名使用

3.端口部分:跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符。端口不是一个URL必须的部分,如果省略端口部分,将采用默认端口(80)

4.虚拟目录部分:从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。虚拟目录也不是一个URL必须的部分。本例中的虚拟目录是“/news/”

5.文件名部分:从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。本例中的文件名是“index.asp”。文件名部分也不是一个URL必须的部分,如果省略该部分,则使用默认的文件名。

6.锚部分:从“#”开始到最后,都是锚部分。本例中的锚部分是“name”。#代表网页中的一个位置。其右面的字符,就是该位置的标识符。#是用来指导浏览器动作的,对服务器端完全无用。所以,HTTP请求中不包括#。锚部分也不是一个URL必须的部分

7.参数部分:从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。本例中的参数部分为“boardID=5&ID=24618&page=1”。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。

阅读全文
0 0
原创粉丝点击