首页 > Web开发 > 详细

套接字模拟http服务器

时间:2020-07-12 23:03:39      阅读:103      评论:0      收藏:0      [点我收藏+]

套接字模拟http服务器

http协议的底层是靠TCP协议,也就是面向连接的

一开始的过程很容易理解,就是建立连接,

Socket socket = new Socket(host, 80);创建了套接字,然后获取他输入输出流

重点来看看协议的内容

第一行 sb.append("POST "+path+" HTTP/1.1\r\n"); 三个关键字用空格分隔,分别是反问方式,访问路径,协议

第二行 sb.append("Host:"+host+"\r\n"); 响应的主机

中间几行信息并不重要

sb.append("Content-Type:text/xml\r\n"); 内容的格式,text/xml意思xml文本,这个格式包括json,文件等

sb.append("Content-Length:"+outputStr.length()+1+"\r\n");内容的长度,

sb.append("\r\n");sb.append(outputStr);sb.append("\r\n");真正的消息

以上就构造好了请求信息,把请求信息写入输出流,连接的服务端就可以读取到请求信息

服务端会根据请求的信息返回响应内容

而此时就可以通过输入流读取到服务端 响应的内容

 

以上过程只适用于http协议,并不适用于https

对于https的Socket必须使用SSLSocket,其余并无差别,SSLSocket构建方法 

套接字模拟http服务器

原文:https://www.cnblogs.com/yangyang12138/p/13290305.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!