c5395348 2015-10-10 06:56 采纳率: 28.6%
浏览 2580
已采纳

服务器编程 如何把一个网页从服务器发送给客户机的浏览器

我把网页代码直接放到buf中用write(sockfd,buf,buf_size)发送过去 浏览器只会闪一下网页的代码然后一直转圈链接 而不是打开主页的形式 请问该怎么写才能让浏览器打开主页

图片说明

这是我的测试网页内容 通过以下方式写入write_buf
int f=open(index.html,O_RDONLY);
write_buf[WRITE_BUFFER_SIZE-1]='\n';
int tmp=read(f,write_buf,WRITE_BUFFER_SIZE-1);
然后 write(sockfd,write_buf,WRITE_BUFFER_SIZE)发送给浏览器
发送前在服务器端打印了write_buf数据 内容没有问题 但浏览器就是不显示页面

  • 写回答

2条回答 默认 最新

  • 勇往直前的胖子 2015-10-10 16:37
    关注

    你的返回需要符合http协议,想要返回的response能让浏览器正确handle,不是直接返回html文件的内容就行的,要符合http协议的格式,举个例子:

     HTTP/1.1 200 OK
    Date: Sat, 31 Dec 2005 23:59:59 GMT
    Content-Type: text/html;charset=ISO-8859-1
    
    <html>
       <head></head>
         <body>test</body>
    </html>
    

    注意那个空行必须要有,浏览器收到这个会知道这个请求响应成功(response code=200),然后html内容是xxx,

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码