java http
来源:互联网 发布:web优化 编辑:程序博客网 时间:2024/06/02 02:31
readContentFromPost() 函数产生了一个post请求,传给servlet一个firstname参数,值为"一个大肥人"。
HttpURLConnection.connect函数,实际上只是建立了一个与服务器的 tcp连接,并没有实际发送http请求。无论是post还是get,http请求实际上直到 HttpURLConnection .getInputStream()这个函数里面才正式发送出去。
在 readContentFromPost() 中,顺序是重中之重,对connection对象的一切配置(那一堆set函数)都必须要在connect()函数执行之前完成。而对 outputStream的写操作,又必须要在inputStream的读操作之前。这些顺序实际上是由http请求的格式决定的。
http请求实际上由两部分组成,一个是 http头(head),所有关于此次http请求的配置都在http头里面定义,一个是正文(content),在connect()函数里面,会根据 HttpURLConnection对象的配置值生成http头,因此在调用connect函数之前,就必须把所有的配置准备好。
紧接着http头的是http请求的正文,正文的内容通过outputStream写入,实际上outputStream不是一个网络流,充其量是个字符串流,往里面写入的东西不会立即发送到网络,而是在流关闭后,根据输入的内容生成http正文。
至此,http请求的东西已经准备就绪。在 getInputStream()函数调用的时候,就会把准备好的http请求正式发送到服务器了,然后返回一个输入流,用于读取服务器对于此次http 请求的返回信息。由于http请求在getInputStream的时候已经发送出去了(包括http头和正文),因此在 getInputStream()函数之后对connection对象进行设置(对http头的信息进行修改)或者写入outputStream(对正文进行修改)都是没有意义的了,甚至执行这些操作可能会导致异常的发生
0 0
- Http.java
- JAVA [ HTTP ]
- java http
- java http
- java HTTP
- java Http
- Java实现Http下载
- http下载java源码
- java 发送http请求
- JAVA版 Http代理服务器
- Java HTTP请求
- java发送HTTP
- JAVA,模拟HTTP登录
- JAVA实现HTTP服务器端
- JAVA实现HTTP服务器端
- java Http服务器
- java发送http报文
- java 的http请求
- winsock 函数声明大全
- HADOOP与STORM比较
- webstorm 的快捷键
- 移动通讯市场的视频会议
- TextView
- java http
- 设计模式-命令模式
- ArcGIS教程:ArcGIS中图层添加投影及投影转换
- spring data elasticsearch的一个复杂查询条件
- JBoss Resteasy初探
- 使用Nginx负载均衡搭建高性能.NETweb应用程序二
- linux查看内核版本
- onvif开发系列之--------onvif 框架代码生成
- UIImage应用与内存管理