【HTTP协议基础部分】request/response对象

在学网络程序设计时候,无论到哪都会给你将HTTP协议,request,response,page,application,session会话,cookie这几个对象,其中http协议可谓是最基础的。关于这一点,上java课时候,老师照本宣科给说一篇。在讲android程序设计时,老师又重复搞一篇(Android中http GET,http Post)。
所以想整理一下关于http协议的一些基础知识点以供自己日后致以。


FIRST
http协议是中应用层协议,它允许将 HTML (超文本标记语言)从Web 服务器传送到 Web 客户端浏览器。因此需要 Web 服务器和 Web 客户端浏览器都支持该协议。当浏览器向 Web 服务器发送一个请求, Web 服务器在接受到这个请求后,会返回一个响应给浏览器。这个请求包含一个请求页面的名字和请求页面的信息等。返回的响应包含被请求页面的信息以及服务器的一些信息等
这里写图片描述
当用户在浏览器地址栏中输入某个 URL 地址,或单击网页上一个超链接,或提交网页上的 Form 表单后,浏览器将生成请求消息发送给服务器。服务器收到请求后,将生成响应消息回送给浏览器。

HTTP请求request格式

1)request line : 请求method,所请求资源的名字以及所使用的协议
2) request headers : 它包含浏览器的一些信息。
3)body : 其中 request headers 与 body 之间有个空行。
这里写图片描述

HTTP响应response格式

第一部分是 response line。包括请求的方法、所请求资源的名字以及所使用的协议
第二部分是 response headers。它包含浏览器的一些信息。
第三部分是 body。其中 response headers 与 body 之间也有个空行。
HTTP响应格式
这里写图片描述
【注】其中,HTTP/version-number 表示HTTP协议的版本号。Statuscode 表示服务器返回的状态码。Message 表示服务器返回的状态消息。
这里写图片描述

响应状态码用于表示服务器对请求的各种不同处理结果和状态,它是一个三位的十进制数。响应状态码可归为5种类别,使用最高位为1到5来进行分类,如下所示:
1xx:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程
2xx:表示成功接收请求并已完成整个处理过程
3xx:重定向–要完成请求必须进行更进一步的操作
4xx:客户端错误–请求有语法错误或请求无法实现
5xx:服务器端错误–服务器未能实现合法的请求

常见状态代码、状态描述、说明:
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error /服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常


second

Content Type、MIME 类型和字符编码(现在都普遍用的是UTF-8解析字符)
1. 服务器在接受到请求后,必须能识别要发送的信息类型,比如图片、txt 文本、excel 表格还是其他的形式。要需要知道网页的编码方式是什么。因此,在 response headers 中定义的 Content-Type 就是用于定义网络文件的类型以及网页字符的编码。用于决定浏览器以什么形式、什么编码读取这个文件。

2.MIME(Multipurpose Internet Mail Extensions),即多功能 Internet 邮件扩充服务。它是一种多用途网际邮件扩充协议, 是描述消息内容类型的因特网标准,服务器会通过这种手段来告诉浏览器它所发送的这些多媒体数据是什么类型的,需要用何种程序来打开这种文件。在HTTP中,MIME类型被定义在Content-Type header中。最常用的 MIME 类型如下表所示:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/alearn_/article/details/80105236
今日推荐