问题描述
- 各位大神好,关于http和tcp协议
-
http协议建立在tcp协议之上,如果想要用tcp协议做一个web容器应该如何实现了?我记得在学java网络编程的时候老师也演示过使用tcp协议向访问者(浏览器)写出html样式界面!今天我使用tcp协议也试了,确实可行,目前我遇到的是我想用tcp写一个web容器,现在虽然能访问,但是我还需要响应返回协议头和cookie信息到浏览器上,目前我的返回响应是:协议头+换行+html代码 这样的结果如下图: 如果带上协议头好像说的是返回200了 表示已经加载完成,但是我数据还没有传送完成到浏览器.... 如果不带响应数据可正常访问,但是响应数据没有 并不是我想要的! 不带上如下图: 好像说的不是很明白....
解决方案
HTTP协议要搞清楚一点,请求头和响应体之间有两个换行哦,两个哦!头中的信息完整点,如何Content-Length这个太有必要了。
解决方案二:
给你一段参考代码, It Works!:
char HTTPMSG[] = "HTTP/1.0 200 OKrn"
"Server: Socket Tinyrn"
"Date:Fri, 1 Feb 2016 00:29:55 GTMrn"
"Content-Type: text/htmlrn"
"Accept-Ranges: bytesrn"
"Content-Length: 108rn"
"rn"
"<html><head><title>Socket Tiny</title></head>rn"
"<body>rn"
"<h1><center>It works!</center></h1>rn"
"</body></html>rnrn";
解决方案三:
主要是你返回的数据格式要正确 不但要符合协议格式还要满足浏览器对html内容的解析
解决方案四:
协议头和html之间需要两个换行。而且需要根据系统不同选择不同的换行,比如Windows为rn,Linux为n,OS X为r。。不过就算只返回rn一般来说浏览器也能解析
时间: 2024-10-26 17:54:53