HTTP请求与应答
第一行:为请求行,
由请求方式、目标资源URL、HTTP版本号组成;
请求方式有GET、HEAD、POST、PUT、DELETE、TRACE、etc
URL中“http”为scheme,包括http、ftp、rtsp、file
第2-4行,为HTTP请求头部字段
头部字段可随机排序
第二行表示客户端程序,
第三行表示主机名,
第四行表示完成请求后关闭连接
第一行:为状态行,
由HTTP版本号、状态码、状态信息组成;
100 continue:通知服务器还有数据未发送
200 OK:请求成功
301 Moved Permanently:资源转移,请求重定向
302 Found:资源在其他地方找到,做临时跳转,需用GET请求
304 Not Modified:被申请的资源没有更新,与之前获得的相同
307 Temporary Redirect:与302相同,请求方式不改变。
400 Bad Request:请求错误
401 Unauthorized:请求需要认证信息
403 Forbidden:请求被服务器禁止,客户端无权限访问
404 Not Found:资源未找到
407 Proxy Authentication Required:客户端需先获得代理服务器认证
500 Internal Server Error:通用服务器错误
503 Service Unavailable:暂时无法访问服务器
第2-4行,为HTTP应答头部字段
头部字段可随机排序
第二行表示服务器程序名字,
第三行表示目标文档长度,
第四行 text为主文档类型,html为子文档类型,charset用于指定文档的字符编码
第五行为cookie信息,
第六行为HTTP应答返回过程中经历的所有代理服务器的地址和名称
浏览器与服务器建立通信
1.在浏览器键入“域名”或“IP:port",,浏览器会将域名解析成相应ip;
2.然后向服务器发送HTTP请求,首先通过TCP协议三次握手与服务器建立连接,然后HTTP协议生成针对web服务器的HTTP请求报文,通过TCP/IP协议发送给服务器。
3.web服务器通过socket监听用户请求,