1.HTTP:超文本通信协议。
2. 无状态,短连接。
基于TCP建立与服务器的连接通道,每次请求都新建一个新连接,结束后关闭,不保留任何状态。但从HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性
(TCP协议-传输层,HTTP协议-应用层)(TCP协议-道路,通信,HTTP协议-轿车,封装数据)
3. HTTP request格式: Line--Header--Body (header各个属性含义见以上链接)
"GET" 方法的时候, body是为空的
4. HTTP response格式: Line--Header--Body (header各个属性含义见以上链接)
5. http 定义与服务器交互的方法:
GET, POST, PUT, DELETE就对应着 查,改,增,删4个操作。
7. HTTP response状态码:
1XX 提示信息 - 表示请求已被成功接收,继续处理
2XX 成功 - 表示请求已被成功接收,理解,接受------200成功
3XX 重定向 - 要完成请求必须进行更进一步的处理
------302 Found重定向,提示浏览器使用Response中Location的URL重新发起请求。
------304 Not Modified 使用上次被缓存的文档。如果不想使用本地缓存可以用Ctrl+F5 强制刷新页面。
4XX 客户端错误 - 请求有语法错误或请求无法实现
------400 Bad Request 客户端请求与语法错误,不能被服务器所理解
------403 Forbidden 服务器收到请求,但是拒绝提供服务
------404 Not Found
5XX 服务器端错误 - 服务器未能实现合法的请求
------500 Internal Server Error 服务器发生了不可预期的错误
------503 Server Unavailable 服务器当前不能处理客户端的请求,一段时间后可能恢复正常
6. Content-Type:
text/html; charset=utf-8:html文档
text/plain:纯文本
application/json:JSON对象(后台@RequestBody)
application/x-www-form-urlencoded:键值对模式 ,表单提交格式(后台@RequestParam)
application/octet-stream, multipart/form-data :文件,图片(下载),流模式(后台@RequestParam)
image/jpeg, image/png: 图片(显示)
8. 本地Cookie与服务器的交互:
Request : HTTP Request Header 中将Cookie传给服务器,服务器可以取值request.getCookies();
Response: 服务器Response.addcookie(xxx), HTTP Response Header会生成Set-Cookie, 用于把cookie 发送到客户端浏览器,
每一个写入cookie都会生成一个Set-Cookie
例如: Set-Cookie: sc=4c31523a; path=/; domain=.acookie.taobao.com
JS也可以操作Cookie.
9. HTTP协议是无状态的和Connection: keep-alive的区别
无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。从另一方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系
HTTP是一个无状态的面向连接的协议,无状态不代表HTTP不能保持TCP连接,更不能代表HTTP使用的是UDP协议(无连接)
Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间
http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html#httpmeessagestructe