浅谈HTTP协议

 一、概述
1.HTTP HyperText Transfor protocol(超文本传输协议)。
2.HTTP协议规定了浏览器和服务器之间交互数据的格式。在浏览器和服务器建立链接之后,可以依照协议进行数据交互。
3.~OSI网络七层模型:
应用层(HTTP、FTP、SMTP、POP3、TELNET)->表示层->会话层->传输层(TCP、UDP)->网络层(IP)->数据链路层->物理层

 二、HTTP协议概念
基于请求响应模型。
一次请求对应一次响应。
请求只能由浏览器发出,服务器根据请求作出响应。

 三、HTTP协议版本
1.HTTP/1.0
在浏览器和服务器建立链接之后,浏览器发送一次请求, 服务器作出一次响应,链接立刻断开。
2.HTTP/1.1
在浏览器和服务器建立链接之后,浏览器可以连续发送多次请求,服务器会依次作出响应。在等待一段时间时候,如果没有更多的请求发出,则链接断开。

 四、HTTP请求
请求的组成的四部分:
1.请求行
2.多个请求头
3.一个空行
4.请求实体内容:请求参数

1.请求行
请求方式:7种 POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT
常用的有两种:get post
get :参数拼接在地址栏 不安全 请求地址长度不能超过1kb
post:参数在底层以流的形式传输 安全 在理论上传输的参数长度不受限
2.请求资源:
/login/1.html 由web应用的虚拟路径和web资源名组成
3.请求实体内容:
请求参数如果以post请求发送参数,则参数会进入请求实体内容中,以键值对的形式
存在。
1)只有一种形式为post请求:在使用form表单时,将提交方式method改为post。
2)其他情况都是get请求。

 五、HTTP请求的细节——消息头
1.用于HTTP请求中的常用头
2.Accept: text/html,image/* 通知浏览器可以接受什么数据 现在表示接收文本数据,任意格式的图片数据
3.Accept-Charset: ISO-8859-1
4.Accept-Encoding: gzip,compress 发送数据的压缩格式
5. Accept-Language: en-us,zh-cn 语言
6. Host: www.it315.org 请求的地址,可以通过观察Host头来确定访问对应地址服务器上的哪个虚拟主机。
7.If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT 与响应头last modified呼应
8.Referer: http://www.it315.org/index.jsp 防盗链
9.User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
10.Cookie:SS=Q0=5Lb_nQ; path=/search
7. Connection: close/Keep-Alive
12.Date: Tue, 11 Jul 2000 18:23:51 GMT

 六、HTTP响应
响应组成的四部分:
1.状态行
2. 多个响应头
3.一个空行
4.响应实体内容

1.状态行
![在这里插入图片描述](https://img-blog.csdnimg.cn/94041880c4ea46e0ab0ecd932f167513.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FqYXh0eGR5,size_16,color_FFFFFF,t_70)
2.状态码:
302 + location 请求重定向
304 307 缓存
404 访问资源路径不存在
500 502 503 505 服务器报错
3.响应实体内容:
用于存储响应结束数据的一个缓冲区。
常用于存储响应的HTML页面组成,也会存储一些响应结果数据

 七、HTTP响应细节——常用响应头
HTTP响应中的常用响应头
Location: http://www.it315.org/index.jsp 配合302实现请求重定向 
Server:apache tomcat 服务器类型 
Content-Encoding: gzip 服务器发送数据的压缩格式 
Content-Length: 80 发送数据的长度 
Content-Language: zh-cn 发送数据的语言环境 
Content-Type: text/html; charset=GB2312 可接受数据格式和语言 
Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT 与请求头的if modified since头呼应 
Refresh: 1;url=http://www.it315.org 定时跳转 经过1秒后跳转到url地址。 
Content-Disposition: attachment;filename=aaa.zip 
Transfer-Encoding: chunked 
Set-Cookie:SS=Q0=5Lb_nQ; path=/search 
ETag: W/"83794-1208174400000" 
Expires: -1 通知浏览器是否缓存当前资源,如果这个头的值是一个以毫秒为单位的值就是通知浏览器缓存资源到指定的时间点,如果值是0或-1则是通知浏览器禁止缓存。HTTP/1.0
Cache-Control: no-cache 通知浏览器是否缓存的头 HTTP/1.1 max-Age=5 (秒) 
Pragma: no-cache 通知浏览器是否缓存的头 HTTP/1.0 
Connection: close/Keep-Alive 
Date: Tue, 11 Jul 2000 18:23:51 GMT

 

posted @ 2021-08-05 10:14  顺时针KEY  阅读(56)  评论(0编辑  收藏  举报