《HTTP权威指南》读书笔记(二)
2017-04-19 19:08
204 查看
HTTP的方法:
GET:向服务器请求资源POST:向服务器请求资源并提交数据
eg:登录时输入用户名、密码后,点击登录按钮就是一个POST动作
HEAD:请求服务器,但仅返回首部,不包含主体内容
可以通过首部来检测服务器资源是否存在,资源是否被修改了等
PUT:向服务器写入文档(向服务器的资源中存储数据)
OPTIONS:询问服务器支持的方法有哪些
TRACE:跟踪请求,“环回”诊断;最后一站的服务器会返回一条TRACE响应,包含服务器接收到的请求的精确副本;可用于客户端对比请求在传送过程中是否被修改及修改内容等
DELETE:请服务器删除指定资源(无法保证一定删除,因为服务器可以在不通知客户端的情况下撤销请求)
状态码:
信息性状态码(100-199):100 Continue:说明服务器收到了请求的初始部分,请客户端继续;服务器收到了这个状态码的请求后必须进行响应
101 Switching Protocols:说明服务器正在切换成首部指定的协议
成功状态码(200-299):
200 OK:请求成功
201 Created:用于创建服务器对象的请求(eg:PUT)
202 Accepted:请求已被服务器接受,但还没执行
重定向状态码(300-399):
300 Multiple Choices:请求指向多个资源的URL
301 Moved Permanately:请求的URL被移除
302 Found:面向HTTP/1.0,使用给定的URL临时定位资源
304 Not Modified:服务器上资源没被修改
307 Temporary Redirect:面向HTTP/1.1,使用给定的URL临时定位资源
客户端错误状态码(400-499):
403 Forbidden:服务器拒绝该请求(不说明原因)
404 Not Found:指定的URL没有找到
408 Request Timeout:请求超时
服务器错误状态吗(500-599):
500 Internal Server Error:执行请求服务失败
504 Gateway Timeout:请求超时
Cookie
客户端保存的是服务器返回的用来识别用户的id等小片段信息,当用户再次访问同一个服务器时,cookie会发送给合适的站点。会话cookie:临时cookie,用户退出浏览器时,会被删除。
持久cookie:有一个过期时间的cookie,存储在本地cookie文件。
HTTPS(默认端口:443,其实是SSL的端口号)
简单说,HTTPS = HTTP + SSL or TLS,HTTPS是HTTP的安全版本。HTTPS就是在安全的传输层上发送HTTP。
通俗说,就是先要进行SSL握手,验证SSL证书,生成秘钥等;之后再将原始HTTP报文发送到TCP传输层之前,会先发送到SSL层进行加密,再发送到TCP传输层。
TCP连接
IP分组=IP分组首部(20字节)+TCP段首部(20字节)+TCP数据块三次握手:
SYNSYN+ACK
ACK+传输数据主体
提高HTTP连接性能:
并行连接:多条TCP连接,并发请求HTTP,叠加时延持久连接:重用TCP连接,消除连接及关闭时延
在事务处理结束之后仍然保持TCP连接为打开状态
HTTP/1.0+keep alive:请求首部加上Connection:Keep-Alive激活keep-alive连接;当然服务器响应也需要带上Connection:Keep-Alive
哑代理:代理只是简单地将客户端和服务器的Connection:Keep-Alive进行传输,会造成服务器和客户端分别认为自己和代理发起了keep-alive连接,而导致代理挂起的困境
Proxy-Connection:Keep-Alive:哑代理直接原样传输,服务器没匹配到Connection首部,忽略Keep-alive请求;聪明的代理可以识别出Proxy-Connection首部,并自动转化成Connection:Keep-Alive首部,服务器匹配成功
单个盲代理+Proxy-Connection新首部可以解决上面哑代理的困境;但对于多层代理依然束手无策
HTTP/1.1持久连接:HTTP/1.1已经停止对keep-alive的支持,改用默认持久连接的设计;需要关闭时,首部显式加入Connection:close即可。
管道化连接:HTTP/1.1持久连接上可选地使用请求管道。可以消除传输时延。
关闭连接
TCP连接是双向的,两端都有输入、输出信道。close():完全关闭
shutdown():半关闭,即单独关闭输入或输出信道。
关闭连接的输入信道比较危险,毕竟你不能确信对面输出信道不再进行输出;如果对方向已经关闭的输入信道发送数据,会产生“连接被对端重置”错误。
关闭连接的顺序:先关闭一端的输出信道,再等待对方关闭输出信道,最后再关闭输入信道
相关文章推荐
- 《HTTP权威指南》读书笔记---缓存
- 《http权威指南》读书笔记 三
- 《HTTP权威指南》读书笔记——HTTP报文
- 《HTTP权威指南》读书笔记(一):初探缓存
- 《http权威指南》读书笔记 五
- 《HTTP权威指南》读书笔记---HTTP概述
- 《HTTP权威指南》读书笔记之前两章
- 《HTTP权威指南》读书笔记:缓存
- 《HTTP权威指南》读书笔记(一)
- 《HTTP权威指南》读书笔记之前两章
- 《HTTP权威指南》读书笔记
- 《HTTP权威指南》读书笔记(一)
- 《HTTP权威指南》读书笔记---说明
- 《HTTP权威指南》读书笔记---集成点
- 《http权威指南》读书笔记 四
- 《http权威指南》读书笔记 七
- 《HTTP权威指南》读书笔记-第1章