一、特性
HTTP协议是构建于TCP/IP协议之上,是一个应用层协议,默认端口号80
HTTP是无链接无状态的
二、提交报文
请求部分三种组成:状态行,请求头,消息主体。
GET POST PUT DELETE等查,增,改,删四种方式,
GET 用于信息获取,是安全的 幂等的,安全就是说只是查询不改变服务器内容,幂等就是说 同一URL的多个请求应该返回同样的结果。
GET的URL长度会受到浏览器和服务器对它的限制
客户端之前已经访问过某网站,并打算再次访问该网站。
HTTP采用“请求-应答”模式,关键字Keep-Alive,这样使客户端到服务器端的链接持续有效,当出现对服务器的后续请求时,Keep-Alive功能避免了建立或者重新建立连接。
HTTP长链接不可能一直保持,Keep-Alive: timeout=30, max=1000,表示TCP通道可以保持30秒,这个长链接最多接收1000次请求就断开;
客户端、服务端知道本地传输结束的条件
1、判断传输数据是否达到content-length指的大小,
2、动态生成的文件没有content-length,它是分块传输chunked,如果chunked编码的最后一个空chunked块表明本次传输结束。
使用chunked的优势在于服务端可以变生成内容边发送,无需事先生成全部内容
POST表示可能修改服务器上资源的请求,报文存在body中。
服务端通常会根据请求头的content-type的字段来获取消息主体中是用何种方式编码,再对主体进行解析。
application/x-www-form-urlencodedmultipart/form-dataimage/png
三、响应报文
三个部分组成:状态行,响应头,响应正文
状态码:
200 OK客户端请求成功301 Moved Permanently请求永久重定向302 Moved Temporarily请求临时重定向304 Not Modified文件未修改,可以直接使用缓存的文件。400 Bad Request由于客户端请求有语法错误,不能被服务器所理解。401 Unauthorized请求未经授权。这个状态代码必须和WWW-Authenticate报头域一起使用403 Forbidden服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因404 Not Found请求的资源不存在,例如,输入了错误的URL500 Internal Server Error服务器发生不可预期的错误,导致无法完成客户端的请求。503 Service Unavailable服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常。
四、会话跟踪
会话:客户端打开与服务器的链接发出请求到服务器响应客户端请求的全过程,我的理解是客户端和服务器端一来一回的过程
会话跟踪:对同一个用户对服务器的联系请求和接受响应的监视。
会话跟踪原因:浏览器和服务器之间通信是通过HTTP进行通信,而HTTP协议是无状态的协议,它不能保存客户的信息,即一次响应完成之后就断开链接,下一次的请求需要重新链接,这样需要判断是否是同一个用户,所以才会会有会话跟踪技术要求。
会话跟踪的方法
001 URL重写:URL结尾添加一个附加数据以标识该绘画,把会话的ID通过URL的信息传递过去,以便在服务器端进行识别不同的用户
002 隐藏表单域:将会话ID添加到HTML表单元素总提交到服务器,此表单并不在客户端
003 cookie web服务发送给客户端的一小段信息,客户端请求时可以读取该信息发送到服务器端,进而进行用户的识别。服务器都会将cookie发送到客户端,在客户端进行保存,以便下次使用。客户端有两种方式保存:存在客户端内存中和保存在客户机的磁盘上。cookie是可以被客户端禁用的。
004 session 是每个用户独享的,服务器端会创建一个session对象,产生一个seasonID来标识这个session对象,然后将这个sessionID放入cookie中发送给客户端,下一次访问时,色素送ID会发送到服务器,在服务器端进行识别不同用户
5、三次握手 四次挥手
2820

被折叠的 条评论
为什么被折叠?



