Tools for Web Applications
Overview of TCP/IP Link Layer Network Layer Transport Layer Application Layer
Protocol Stack Diagram
Application Layer FTP, HTTP, telnet, etc. Provides ways for users to interact with the network
Transport Layer Transmission Control Protocol(TCP): communicates using sockets (IP address and port#), provides reliable connection User Data Protocol(UDP): allows applications to send raw IP datagrams
Network Layer Uses Internet Protocol (IP) Uses IP addresses IP header contains source address, destination address, version, length, checksum, etc.
Link Layer Physical interface Device driver Communicates with the actual network hardware
Hypertext Transfer Protocol(HTTP) Allows clients to request files/other resources from a server ASCII Protocol – easy to talk to
HTTP Request Methods GET - Request to read a web page or whatever information is identified by the request- URI POST - Append to a named resource (e.g. a Web page), or provide a block of data to a data-handling process at the server HEAD - Request to read a web page's header PUT - Request to store a web page DELETE - Remove a web page LINK - Connects two existing resources UNLINK - Breaks an existing connection between two resources
Example Type: telnet 80 GET /class/ee281/index.html HTTP/1.0
Output HTTP/ OK Date: Sat, 23 Nov :35:44 GMT Server: Apache/ WebAuth 2.5 (Unix) mod_ssl/ OpenSSL/0.9.6e WebAuth/2.5 mod_fastcgi/ Connection: close Content-Type: text/html EE281: Embedded System Design Laboratory ……………………
Status Codes 200 OK 201 Created 202 Accepted 204 No Content 301 Moved Permanently 302 Moved Temporarily 304 Not Modified 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable
EDTP Ethernet Development Board
Function Prototypes void show_regs(void); void show_packet(void); void tcp(void); void assemble_ack(void); void write_asix(unsigned char regaddr, unsigned char regdata); void read_asix(unsigned char regaddr); void get_packet(void); void setipaddrs(void); void cksum(void); void echo_packet(void); void send_tcp_packet(void); void arp(void); void icmp(void); void udp(void);
uIP – Free TCP/IP Stack for AVR
Websites uIP: EDTP Ethernet Board: HTTP: TCP/IP: