Http了解
来源:互联网 发布:万网域名注册查询网 编辑:程序博客网 时间:2024/06/03 16:03
Http协议初步了解
做了2年android相关工作,实力、能力依然没有任何突破,是时候再重新开始,此时2015.10.14,离下班还有40分钟,记录Http学习内容。
1.Http协议是什么:是c/s模式下,通信的规则,比较复杂,定义了客户端和服务端的通信格式内容以及规则(例如文本显示优先于图片显示速度)等。属于应用层协议,中文翻译为超文本传输协议。
2.特点:无状态,基于Tcp(Https基于ssl安全层)连接,简单快速灵活,无连接。包括get,post,delete等请求方法,通常使用get,post。
3.版本为1.0,1.1版本,当前脑子中有印象的区别有:设置主机地址(setHost),,keep-alive选择。
4.过程:在连接之前先进行tcp/ip层连接,即三次握手过程,
1139 55.533990000192.168.50.149220.181.112.244TCP66 21087→80 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=4 SACK_PERM=1
1140 55.541251000220.181.112.244192.168.50.149TCP66 80→21087 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1440 WS=128 SACK_PERM=1
1141 55.541316000192.168.50.149220.181.112.244TCP54 21087→80 [ACK] Seq=1 Ack=1 Win=66240 Len=0
而后建立连接。
5.服务端或者客户端任一方中断传输都可能出现EOFExeception(未实际验证,只是之前有遇到过,加上这一次自身理解),一般在获取输入流过程中,接收到-1表示服务端传送数据完成(EOF = -1),客户端通过Tcp层向服务端发送
137 8.442380000192.168.50.149220.181.112.244TCP54 40067→80 [FIN, ACK] Seq=155 Ack=16385 Win=66240 Len=0
这样,服务端就中断了这次连接,一次Http请求完成。这也是为什么说http请求是无连接的。
6.对于keep-alive参数,并不是说这个http是长连接,只是在服务端设置时间内,不关闭当前TCP连接,下次Http请求不会再次三次握手协议了而已。通常试百度,新浪这些网站不会看到效果,因为这些网站流量巨大,设置长连接极其耗费服务器资源,所以都没有设置该参数且不支持长连接。
-----------------------------部分理解,以后陆续补充。2014.10.14 18:29
参考文章:http://www.cnblogs.com/azraelly/archive/2012/12/25/2832393.html
- Http了解
- 了解HTTP
- 了解HTTP
- 了解http
- 了解 HTTP 身份验证
- 深入了解Http协议
- 快速了解HTTP协议
- iOS--HTTP 简单了解
- http及https了解
- HTTP协议了解
- 深入了解HTTP协议
- HTTP简单了解
- 简单了解Http协议
- http协议简单了解
- HTTP报文 - 初步了解
- 了解HTTP和HTTPS
- 深入了解HTTP协议
- 简单了解http协议
- Ant 打包war 生成文件内容build.xml
- androoid_4_4 yuga_clm920_cn 4G_module调试
- 面试题目
- 可视化的数据结构和算法
- Android开发中父类与子类通讯的一个简单实现
- Http了解
- 第一招
- android开发常见命令操作(需要配置adb.exe的环境变量)
- android开发中Listview中显示不同的视图布局 convertView的复用
- UICollectionView详解 +实例
- javaScript中代理模式详解
- CALayer与UIView的关系
- 功能测试
- 每天一组件:webview