自己写浏览器和web服务器的分析!

自己写浏览器和web服务器

在android写一个浏览器

editText:输入网址ip:port/login.html,提交

把域名解析成ip

产生请求行 get login.html /r/n

产生请求头 user-agent:/r/n

host:

new socket(ip,port).println(行,头)

ip[tcp[行,头]]在网络上传输到达服务器了,

自己写一个web服务器

new serverSocket(8080)

我程序拿到是tcp中的数据

get login.html

user-agent:

host:

java.io.file 读取login.html

socket.println(

返回行:http1.1 200 ok

返回头:

正文:<html><a href><img></html>

)

98|124[4788|8080][ 行,头,正文]

给我们做的android客户端

<html>string<a href>

<img src="1.png"></html>

)

时间: 2024-08-08 22:53:18

自己写浏览器和web服务器的分析!的相关文章

三大WEB服务器对比分析(apache ,lighttpd,nginx)

一.软件介绍(apache  lighttpd  nginx) 1. lighttpd Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点.lighttpd是众多OpenSource轻量级的web server中较为优秀的一个.支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能. Lighttpd使用fastcgi方式运行php,它会使用很少的PHP进程响应很大的并发量. Fastcg

Tiny Web服务器代码分析

Tiny Web服务器代码分析 <深入理解计算机系统>中开发了一个小但是功能齐全的称为Tiny的web服务器,这里是Tiny服务器的源码解析. 1.Tiny的main程序 Tiny是一个迭代服务器,通过命令行中传递来的端口值,调用Open_listenfd()函数打开一个监听套接字,然后Tiny执行无限循环:服务器阻塞在accept,等待监听描述符listenfd上的连接请求,当服务器从accept返回connfd,表明已经与客户端建立起了连接,执行事务,并关闭连接它的那一端,进行下一次循环.

分布式计算——实现简单的浏览器和web服务器

此次是分布式的第三次作业,作业要求如下: 1.基于TCP通讯(ServerSocket.Socket套接字),编写一个带有图形用户界面的浏览器和 一个支持文档读取并返回给客户浏览器的web服务器.客户端支持超链接事件处理,服务器采用多 线程技术支持并发访问. 2.在此基础上,修改服务器侧设计与实现,使之能够动态地添加客户端请求的类文件,即设计 一个小服务程序容器. 3.试在服务器侧代码中对客户端请求行.请求头和请求体部分进行处理. ================================

序列化和反序列化在浏览器和 Web 服务器之间传递的数据、加密解密

js中数组不能传递到后台,需进行json序列化: var data = new Array(); data.push({para1:name,para2:answer}); string data = JSON.stringify(data) //解析参数 JavaScriptSerializer js = new JavaScriptSerializer(); List<Dictionary<string, string>> answerList = js.Deserialize

http通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤

http通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤: (1)    建立TCP连接 在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络.HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80 (2)    Web

HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤

1. 建立TCP连接 在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络.HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能进行更高层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80. 2. Web浏览器向Web服务器发送请求命令 一旦建立了TCP连接,Web浏览器就会向Web服务器发送

Web浏览器与Web服务器之间的通信过程

HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:1:建立TCP连接 在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet, 即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络.HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之 后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80

java程序模拟浏览器访问Web服务器的处理过程

import java.net.*; import java.io.*; /* * 演示浏览器访问Web服务器的处理过程 */ public class WebServerDemo { public static void main(String[] args)throws IOException{ ServerSocket ss=new ServerSocket(10000); Socket s=ss.accept(); byte[] bytes=new byte[1024]; int len

TinyWS —— 一个C++写的简易WEB服务器(一)

写在前面 每个码农可能都会偶尔有自己做一个常用软件的想法,比如操作系统,编译器,邮件服务器/客户端,文字编辑器等等.这里面有些很难,比如操作系统,做一个最简单的也要付出很大的努力,可是大部分常用工具都是可以比较容易的做一个简易版本(当然也是只能玩玩而已).于是我做了一个非常简陋的WEB服务器 —— TinyWS.这里主要是记录下自己整个过程中的一些想法. TinyWS是用C++”从头开始“做的,也就是说,除了C/C++的标准库和操作系统的系统调用,并没有使用第三方库.我并不喜欢C++(甚至有些厌