网络连接:HTTP信息传输(URI、URL)、TCP/IP连接过程、常见状态码

一.HTTP

request:请求行、请求头、请求正文(实体内容)

请求行:请求方式、url、协议版本

请求头:GET方式参数、...(其他属性)

实体内容:POST方式参数

response:状态行、响应头、响应正文(实体内容)

状态行:协议版本、状态码、状态描述

响应头:键值对方式描述

http://blog.****.net/a19881029/article/details/14002273

二.URL、URI

1.URI:统一资源标志符(Uniform Resource Identifier)

URL:统一资源定位符(uniform resource location)

2.URI包含RUI和URN

URL包含访问机制、网络位置:可作为网址直接在浏览器打开访问

URL和URI后台操作

http://blog.****.net/readiay/article/details/52862379

https://www.cnblogs.com/wuyun-blog/p/5706703.html

3.相关操作
http://blog.****.net/zghwai****/article/details/41345223
java:

客户端访问路径(各段参数)、文件所在路径(classpath)、工程路径(包含服务器)

request.getScheme()+"://"; //请求协议 http 或 https  
request.getHeader("host");  // 请求服务器  
request.getRequestURI();     // 工程名    

request.getQueryString();   // 参数

类的绝对路径:Class.class.getClass().getResource("/").getPath():/D:/TEST/WebRoot/WEB-INF/classes/pack/
工程的路径:System.getProperty("user.dir")
:D:\TEST

工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。:E:\Tomcat\webapps\TEST
IE地址栏地址:request.getRequestURL():http://localhost:8080/TEST/test
相对地址:request.getRequestURI()

jsp:

jsp相关路径:相对、绝对

request.getRequestURI():/TEST/test.jsp
工程名:request.getContextPath():/TEST
request.getServletPath():/TEST/jsp/test.jsp
application.getRealPath("页面.jsp"):D:\resin\webapps\TEST\test.jsp
所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();:D:\resin\webapps\TEST

三.连接过程

1.http请求

HTTP是一个应用层的协议,在这个层的协议,是一种网络交互需要遵守的一种协议规范。

1、连接:建立一个socket连接,DNS解析为ip和端口。如果url不包含端口号,则会使用该协议的默认端口号80

2、请求:GET/POST

3、应答

4、关闭连接

2.TCP连接的三次握手和四次挥手

建立连接协议(三次握手)

1、SYN_SEND:客户端发送SYN标志的TCP报文到服务器。

2、SYN_RECV:服务器端回应客户端,这个报文同时带ACK标志(表示服务器准备好了数据通信)和SYN标志。

内核在收到最后一个ACK后,accept会返回。

3、ESTABLISH:客户端必须再次回应服务器端一个ACK报文。

连接建立,开始准备read、write。

SYN:询问是否准备好连接

ACK:表示已准备好连接

网络连接:HTTP信息传输(URI、URL)、TCP/IP连接过程、常见状态码

连接中止协议(四次挥手)

TCP连接是全双工的,每个方向都必须单独进行关闭。一方完成它的数据发送任务,就能发送一个FIN来中止这个方向的连接。收到一个FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。

首先进行关闭的一方讲执行主动关闭,而另一方执行被动关闭。

1、TCP客户端发送一个FIN,用户关闭客户端到服务器的数据传送;

2、服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1,和SYN一样,一个FIN将占用一个序号;

3、服务器关闭客户端的连接,发送一个FIN给客户端;

4、客户端发回ACK报文确认,并将确认序号设置为收到序号加1;

1和2关闭客户端到服务器的数据通信,3和4关闭服务器端到客户端的数据通信

FIN:关闭连接

ASK:确认状态

网络连接:HTTP信息传输(URI、URL)、TCP/IP连接过程、常见状态码

 http://blog.****.net/jinzhencs/article/details/50460611

https://www.cnblogs.com/engeng/articles/5959335.html

四.常见状态码https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin

200:OK

404:资源不存在

500:服务器错误