提示:阅读本文需要3分钟左右,喜欢的码友,记得点赞,收藏!
1.Http
协议
-
概念:
`http协议`(超文本传输协议)通俗地讲是一种网络数据传输格式,他规定了在一次交互中请求和响应的数据格式, 最终体现为网络传输的数据包格式,一次请求,一次响应。
-
特点
1. 基于TCP/IP的高级协议 2. 默认端口号:80 3. 基于请求/响应模型的:一次请求对应一次响应 4. 无状态的:每次请求之间相互独立,不能交互数据
-
组成
HTTP 请求协议包括:请求行、请求头、(请求空行)、请求体 HTTP 响应协议包括:响应行、响应头、(响应空行)、响应体
-
版本
1.0:每一次请求响应都会建立新的连接 1.1:复用连接
-
request 对象和 response对象
request和response对象是由服务器创建的。我们来使用它们 `request`对象是来获取请求消息 `response`对象是来设置响应消息
2.Http请求消息
and Request
-
http请求:请求行 、请求头、请求空行、请求数据
-
get
请求//请求行 GET /books/java.html(可在url后携带请求数据) HTTP/1.1 //请求头 Accept: */* Accept-Language: en-us Connection: Keep-Alive Host: localhost Referer: http://localhost/links.asp User-Agent: Mozilla/4.0 Accept-Encoding: gzip, deflate //请求数据位于请求行中
-
post
请求:行:POST / HTTP1.1 头:Host:www.wrox.com User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; 3.5.21022)... Content-Type:application/x-www-form-urlencoded Content-Length:40 Connection: Keep-Alive 体:name=xiaomign%20Ajax&publisher=haha
-
get
和post
请求的区别:HTTP协议有7中请求方式,常用的有这2种
* GET: 1. 请求参数在请求行中,在url后。 2. 请求的url长度有限制的 3. 不太安全 * POST: 1. 请求参数在请求体中 2. 请求的url长度没有限制的 3. 相对安全
-
请求头:
在请求行结束之后key/value
键值对Accept: text/html,image/* --支持数据类型 Accept-Charset: ISO-8859-1 --字符集 Accept-Encoding: gzip --支持压缩 Accept-Language:zh-cn --语言环境 Content-Type: 提交的数据类型。经过urlencoding编码的form表单的数据 Content-Length: 数据长度 Cache-Control : 对缓存的操作 Host: www.baidu.com:80 --访问主机 If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT --缓存文件的最后修改时间 Referer: http://www.itcast.com/index.jsp --来自哪个页面、防盗链 User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) 浏览器信息 Connection: close/Keep-Alive --链接状态
3.Http响应消息
and Response
- http响应也由四个部分组成:状态行、消息头、空行和 响应正文
HTTP/1.1 200 OK 状态行:版本 状态码 状态描述 Server: Apache-Coyote/1.1 Content-Type: text/html;charset=ISO-8859-1 // 务器告诉客户端本次响应体数据格式以及编码格式 Content-Length: 673 //返回的数据长度 Content-disposition: //服务器告诉客户端以什么格式打开响应体数据 **值: * in-line:默认值,在当前页面内打开 * attachment;filename=xxx:以附件形式打开响应体。文件下载 响应正文...
-
状态码
1. 1xx:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送1xx多状态码 2. 2xx:成功。代表:200 3. 3xx:重定向。代表:302(重定向),304(访问缓存) 4. 4xx:客户端错误。 * 代表: * 404(请求路径没有对应的资源) * 405:请求方式没有对应的doXxx方法 5. 5xx:服务器端错误。代表:500(服务器内部出现异常)
> 注:文章部分图示来源网络,如有侵权,请联系博主删除。
参考文献: