http tcp-各位大神好,关于http和tcp协议

问题描述

各位大神好,关于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

http tcp-各位大神好,关于http和tcp协议的相关文章

tcp-有关TCP服务器与WEB服务器的问题,求大神解答。

问题描述 有关TCP服务器与WEB服务器的问题,求大神解答. 小弟刚刚学习网络这块,现在使用单片机+串口WIFI做TCP服务器,手机做TCP客户端.想问一下,TCP服务器可以直接发送html或者JPG格式的数据给TCP客户端么,可以的话应该怎么操作呢?如果不行的话,又应该补充些什么呢?谢谢大神啦! 解决方案 发送数据,可以是任意的.但如果要发送具体格式的数据,一般来说需要定一个文件传输协议.例如:分块信息.因为一个 HTML 或 JPG 不能一次发送,需要多次分包发送. 解决方案二: 就是说我还

mfc c++-新人求教,我用mfc做了一个tcp fin的端口扫描器,死后得不出结果,求大神帮忙找出问题

问题描述 新人求教,我用mfc做了一个tcp fin的端口扫描器,死后得不出结果,求大神帮忙找出问题 cpp文件 // scanDlg.cpp : implementation file// #include ""stdafx.h""#include ""scan.h""#include ""scanDlg.h""#include ""afxdialogex.h&qu

协议-Android软件使用TCP进行通信,连接不到服务端,在同一子网,代码跟异常日志都有,请大神指教

问题描述 Android软件使用TCP进行通信,连接不到服务端,在同一子网,代码跟异常日志都有,请大神指教 客户端线程:class BB1 extends Thread{ public void run() { try { System.out.println(""hahahha""); Socket client=new Socket(ipadressPORT); System.out.println(client.getPort()); mingling=&qu

互联网-tcp 抓包数据解密 求大神解答

问题描述 tcp 抓包数据解密 求大神解答 我用给抓包软件,抓包得到下面的数据 求大神解密 发送的内容解密 No. Time Source Destination Protocol Info 23 2.393049 192.168.0.121 183.61.46.243 TCP 51453 > 10315 [PSH, ACK] Seq=213 Ack=416 Win=63916 Len=90 Frame 23: 144 bytes on wire (1152 bits), 144 bytes c

关于tcp粘包问题,还望大神指点

问题描述 关于tcp粘包问题,还望大神指点 看到说tcp粘包问题的可能原因之一是接收端未及时从缓冲区接收数据造成的.于是我想自己 测试一下,就写了一个程序. 服务端是这样的:等待客户端连接成功之后,先等待10秒钟,然后在while循环里用read读取 读取数据,每次读取四个字符. 客户端是这样的:与服务端连接成功之后,立即用write函数循环发送4个字符,每次发送一个字符,共发送四次. 但是我发现服务端在10秒钟过后,并没有像我预期的直接把这四个字符一次性全部读取,而是循环读了四次,一次一个..

字节 首部长度值-求大神帮忙解决,TCP/IP问题

问题描述 求大神帮忙解决,TCP/IP问题 如果总长度为1200字节而其中1176字节来自高层的数据,那么首部长度值为多少? 解决方案 什么首部? TCP首部(20)?IP首部(20)?还是以太网首部(14)?自己baidu搜下吧,有很多TCP封包的格式.

服务器-tcp协议问题,请大神指导

问题描述 tcp协议问题,请大神指导 服务器使用tcp协议给客户端发送了3092字节的数据,我在客户端使用一个3092字节的结构体进行接收,为什么有时候一次性接收的 不到3092字节,也就是需要分两次接收才能接收完整,比如第一次接收2000,第二次再接收1092字节,按照ip分包,MTU=1500,超过1500字节他就会在ip层分包,但是他会在接收端组包,再交付给上一层,所以按道理不会出现这种问题,有哪一位大神能指导一下么?万分感激... 解决方案 tcp是流式协议,只会保证你能把数据发送和接收

tcp-为什么我编的抓包程序抓的TCP包源地址都是本机地址啊,下面是源码,新手求大神指点!!

问题描述 为什么我编的抓包程序抓的TCP包源地址都是本机地址啊,下面是源码,新手求大神指点!! #include #include #include using namespace std; #define SIO_RCVALL _WSAIOW(IOC_VENDOR, 1) #define MAXLEN 65535 //定义IP报头 typedef struct _iph { unsigned char ver_len; unsigned char ser; unsigned short dat

基于TCP的客户端服务器通信,如何在终端输入数据进行聊天呢,求大神帮我

问题描述 基于TCP的客户端服务器通信,如何在终端输入数据进行聊天呢,求大神帮我 //clientTcp.c #include #include #include #include #include #include #include #include #define SERVPORT 3333 //侦听端口地址 #define MAXDATASIZE 100 main(int argc,char argv[]) { int sockfd,sendbytes; char buf[MAXDATAS